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 相关文章推荐
python2.7的编码问题与解决方法
Oct 04 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
浅析python3中的os.path.dirname(__file__)的使用
Aug 30 Python
简单了解Python3里的一些新特性
Jul 13 Python
django数据库自动重连的方法实例
Jul 21 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 Python
Python with语句用法原理详解
Jul 03 Python
Python使用Pygame绘制时钟
Nov 29 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 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
linux下 C语言对 php 扩展
2008/12/14 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
node.js中的console.log方法使用说明
2014/12/09 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
Python读写Excel文件方法介绍
2014/11/22 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
Python中的TCP socket写法示例
2018/05/11 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
python异常触发及自定义异常类解析
2019/08/06 Python
Python json读写方式和字典相互转化
2020/04/18 Python
python3 kubernetes api的使用示例
2021/01/12 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
运动会运动员赞词
2015/07/22 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python