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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
Python文件处理
Feb 29 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
浅谈numpy数组的几种排序方式
Dec 15 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
用xpath获取指定标签下的所有text的实例
Jan 02 Python
Python装饰器用法实例分析
Jan 14 Python
python实现感知器算法(批处理)
Jan 18 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
pandas中DataFrame检测重复值的实现
May 26 Python
Python中三种花式打印的示例详解
Mar 19 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
在线增减.htpasswd内的用户
2006/10/09 PHP
php 中文处理函数集合
2008/08/27 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
克隆javascript对象的三个方法小结
2011/01/12 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
微信小程序实现签到弹窗动画
2020/09/21 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python的另外几种语言实现
2015/01/29 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
用python读取xlsx文件
2020/12/17 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
岗位职责风险防控
2014/02/18 职场文书
法制宣传标语集锦
2014/06/25 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
医院科室评语
2015/01/04 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
学生党支部工作总结2015
2015/05/26 职场文书