Python中字符串对象语法分享


Posted in Python onFebruary 24, 2022

前言:
前面提到了Python中的数值型内置数据类型,接下来呢我们就着重介绍一下字符串类型。在Python中字符串是一个有序的字符集合,没有独立的字符数据类型,当字符串长度为1时就可以认为其是字符。Python的内置数据类型str用于字符串处理。str对象的值为字符系列字符串是不可变序列。

 

一、字符串的外观

1.字符串字面量

顾名思义字符串就是有一串字符所组成的东西而为了这串东西的安全,要将其放进单引号、双引号、三单引号、三双引号其中之一中。要一一对应,不可以拿单引号配三引号。【单引号、双引号创造的字符串不可以换行】

  'Hello World'
  "Hello World"
'''Hello World'''
"""Hello World"""

玛丽震场:

'''
              Hello World
                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###                 ###           ###           ###
                ...........               #...#               #...#         #...#         #...#
               ##*#######                 #.#.#               #.#.#         #.#.#         #.#.#
            ####*******######             #.#.#               #.#.#         #.#.#         #.#.#
           ...#***.****.*###....          #...#               #...#         #...#         #...#
           ....**********##.....           ###                 ###           ###           ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################              ##################################
#...#......#.##...#......#.##...#......#.##------------------#              #...#......#.##------------------#
###########################################------------------#              ###############------------------#
#..#....#....##..#....#....##..#....#....#####################              #..#....#....#####################
##########################################    #----------#                  ##############    #----------#
#.....#......##.....#......##.....#......#    #----------#                  #.....#......#    #----------#
##########################################    #----------#                  ##############    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#                  #.#..#....#..#    #----------#
##########################################    ############                  ##############    ############
'''

2.字符串与多行注释

Python中单行注释使用的是#,对于多行注释可以使用三个双引号,也可以使用三个单引号。

#我是单行注释

'''
我是一行注释
'''

"""
我也是一行注释
"""

3.字符串编码方式

在Python2中支持的是ASCII编码,Python3中使用的是Unicode,支持中文。内置函数ord()chr()可以进行编码与字符之间的转换。

例如:

Python中字符串对象语法分享

二、字符串对象

1.str

str(object=‘')#创建空字符串【当然这个object对象可以指向任意对象】

str()返回一个字符串对象通过str()可以将任意对象转换为str对象如果被转换对象实现了__str__()方法,则转换为指定的str对象,否则转换为repr(object),repr()是Python另一个内置的函数,该函数返回一个对象的更精确的字符串表示形式。

2.str实现原理

str对象是不可变对象,所以使用str方法生成的新的str对象都是一个新的对象。字符串通常会在常量池中存在,并且一个字符串只有一个这样的机制极大的节约了空间与时间称为【字符串驻留机制】

代码如下:

a='asd'
b='asd'
# 两个字符串对象地址相同
print(id(a),id(b))

3.str中的内置方法

①匹配子串

'''
参数对象在初始对象中的位置
'''
p='asdqweasdwr'
print('----------------------------------------------------')
# 找到打印,找不到抛出异常
# 找出字串第一次出现的位置
# print('asd'.index(p))
print(p.index('asd'))
# 找出子串最后一次出现的位置
print(p.rindex('asd'))
# 找子串,找不到不抛出异常打印-1
print('asd'.find(p))
print(p.find('asd'))
print(p.rfind('asd'))

②字符串的大小写转换

'''
大写转小写,小写转大写,每个单词开头转大写,每段开头转大写
转换函数都是字符串对象的函数
'''
print('----------------------------------------------------')
# 小写转大写
print('asd asd qwe'.upper())
# 大写转小写
print('aSd Asd Qwe'.lower())
# 大小写互换
print('AsD SsE qwe'.swapcase())
# 开头转成小写
print('asd asd qwe'.capitalize())
# 每个单词开头转大写
print('asd asd qwe'.title())

③字符串中的内容对齐方法

'''
字符串对齐,只有指定的宽度大于字符串长度才会进行对齐,否则没有效果
'''
print('----------------------------------------------------')
# 居中
print('qwe'.center(20,'*'))
# 左对齐
print('asd'.ljust(20,'@'))
# 右对齐
print('ert'.rjust(20,'$'))
# 零填充
print('-8750'.zfill(10))

④拆解字符串

'''
从字符串左边开始劈分,默认以空格为间隔,劈分的结果是一个列表
sep指定分劈的字符,maxsplit指定分劈的次数
'''
print('----------------------------------------------------')
# 默认从左开始劈
l='hello234234234sds World kity'.split(sep='2',maxsplit=5)
print(l)
# 默认从右开始劈
ll='hello234234234sds World kity'.rsplit()
print(ll)

⑤判断字符串类型

'''
通过函数判断字符串内含有的字符类型
'''
print('----------------------------------------------------')
# 判断字符串是不是合法的标识符
print('asdqwew.,.123'.isidentifier())
# 判断字符串是否全部由空白字符组成(回车、换行、水平制表符)
print('\n\t'.isspace())
#判断字符串是否全部由字母组成
print('asdqwewqxas'.isalpha())
# 判断字符串是否全部由十进制数字组成
print('hello234234234sds World kity'.isdecimal())
# 判断字符串是否全由数字组成
print('hello234234234sds World kity'.isnumeric())
# 判断字符串是否全由字母和数字组成
print('hello234234234sdsWorldkit'.isalnum())

⑥字符串的替代与合并

'''
字符串的费空间拼接,以及字符串的不费空间拼接
'''
print('----------------------------------------------------')
# 字符串子串的替换
# 字符串的替换,替换后原来的字符串不发生变化,返回新产生的字符串
# 参数依次是被替换的子串,新的子串,以及最大替换次数
print('asd,asdqweasdkasdjklnlhihasdnjasd'.replace('asd','qwe',2))
print()
# 字符串的拼接
# 费空间(产生字符串碎片)
a='qwe'
a=a+'asd'
# 节约空间(不产生字符串碎片)
q='qwe'
q.join('asd')
print('---------------------------------')

⑦字符串的格式化

'''
有两种方式一种是占位符,另一种是花括号
'''
name='小朱佩奇'
age=20
print('-------------------------------')
# 字符串格式化
print('我叫%s,今年%d岁了' %(name,age))
print('我叫{0},今年{1}岁了'.format(name,age))
# 小数格式化
# 一共十位,小数三位算上小数点
print('%10.3f' %3.14159265)
# 一共10位,数字占3位
print('{0:10.3}'.format(3.14159265))

⑧字符串编码

sql='为人民服务'
# GBK中中文字符占有两位
print(sql.encode('GBK'))
# UTF-8中中文字符占有3位
print(sql.encode('UTF-8'))
# 字符串转为字节码
# 编码
by1=b'hello'
by2='hello'.encode()
# 解码
print(str(b'hello'))
print(by2.decode())

4.字符串切片

代码如下:

'''
字符串切片后会产生新的字符串
'''
print('--------------------------------')
a='Hello World'
print(a[3:])
print(a[:5])
print(a[1:8:2])
print(a[:-6])
print(a[-6:])

结果:

Python中字符串对象语法分享

总结:
上面就是今日分享的关于Python中字符串对象的所有内容啦。在Python中字符串语法简单但是方法的作用十分的复杂并且实用,由于东西较多想要完全掌握还是比较难滴。还望我们多多努力啦。

到此这篇关于Python中字符串对象语法分享的文章就介绍到这了,更多相关Python字符串对象语法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
python抓取网页时字符集转换问题处理方案分享
Jun 19 Python
python学习数据结构实例代码
May 11 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
详解字符串在Python内部是如何省内存的
Feb 03 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
Feb 11 Python
python实现简单坦克大战
Mar 27 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
Python实现视频中添加音频工具详解
Dec 06 Python
Python+Matplotlib+LaTeX玩转数学公式
Python语言内置数据类型
Feb 24 #Python
Python中的程序流程控制语句
Feb 24 #Python
python中对列表的删除和添加方法详解
Feb 24 #Python
通过Python把学姐照片做成拼图游戏
Python帮你解决手机qq微信内存占用太多问题
Feb 15 #Python
python flappy bird小游戏分步实现流程
You might like
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
Vue分页效果与购物车功能
2019/12/13 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
python简单的函数定义和用法实例
2015/05/07 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
500行python代码实现飞机大战
2020/04/24 Python
Python中and和or如何使用
2020/05/28 Python
详解Python IO编程
2020/07/24 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
Born鞋子官网:Born Shoes
2017/04/06 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
几个MySql的面试题
2013/04/22 面试题
淘宝客服自我总结鉴定
2014/01/25 职场文书
初中学生评语大全
2014/04/24 职场文书
边城读书笔记
2015/06/29 职场文书
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang
sql字段解析器的实现示例
2021/06/23 SQL Server
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL