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改变日志(logging)存放位置的示例
Mar 27 Python
用pywin32实现windows模拟鼠标及键盘动作
Apr 22 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
python安装numpy&安装matplotlib& scipy的教程
Nov 02 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
在Keras中实现保存和加载权重及模型结构
Jun 15 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
零基础学python应该从哪里入手
Aug 11 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 Python
PyQt5实现多张图片显示并滚动
Jun 11 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一些十分严重的缺陷详解
2013/06/03 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
tensorflow中next_batch的具体使用
2018/02/02 Python
python中join()方法介绍
2018/10/11 Python
Python实现DDos攻击实例详解
2019/02/02 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
学院书画协会部门职责
2013/11/28 职场文书
关于责任的演讲稿
2014/05/20 职场文书
物理学专业求职信
2014/07/04 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
vue Element-ui表格实现树形结构表格
2021/06/07 Vue.js