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使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 Python
python查看FTP是否能连接成功的方法
Jul 30 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
python 生成图形验证码的方法示例
Nov 11 Python
Python应用领域和就业形势分析总结
May 14 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
Python读写Excel表格的方法
Mar 02 Python
简单谈谈Python面向对象的相关知识
Jun 28 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彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
JavaScript中创建对象和继承示例解读
2014/02/12 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
微信小程序实现星级评价
2019/11/20 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
python k-近邻算法实例分享
2014/06/11 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
python中join()方法介绍
2018/10/11 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
Python进程池Pool应用实例分析
2019/11/27 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
《太阳》教学反思
2014/02/21 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
应届大专生自荐书
2014/06/16 职场文书
谢师宴学生致辞
2015/07/27 职场文书
小学语文国培研修日志
2015/11/13 职场文书