这次主要介绍字符串常用操作方法及例子

1.python字符串
在python中声明一个字符串,通常有三种方法:在它的两边加上单引号、双引号或者三引号,如下:
name = 'hello' name1 = "hello bei jing " name2 = '''hello shang hai haha'''
python中的字符串一旦声明,是不能进行更改的,如下:
#字符串为不可变变量,即不能通过对某一位置重新赋值改变内容 name = 'hello' name[0] = 'k' #通过下标来修改字符串的值,报错信息:TypeError: 'str' object does not support item assignment
python 字符串常用的内置方法,对字符串进行操作,如下:
in方法:
#in方法:判断内容是否存在字符串中
name = 'hello bei jing zao an '
print('hello' in name) #判断hello 是否存在name里,执行结果为True
print('shang hai ' in name) #判断 shanghai 是否存在name里,执行结果为False
not方法:
name = 'hello bei jing zao an ' #定义字符串
#not方法:返回表达式结果的'相反值'。如果表达式结果为真,则返回False
print('hello' not in name) #判断hello 不存在name里,执行结果为False
print('abc' not in name) #判断abc 不存在name里,执行结果为True
is方法:
#is 判断的是 内存地址是否相同 a = 'xiaoming' b = 'xiaoming' print(a is b ) #a和b的值相同,内存里存放时,指向的内存地址相同,指向结果为True print(id(a)) print(id(b)) #可以通过id(变量名)这个方法,查看变量的内存地址
字符串取值操作方法,如下:
names = 'hello bei jing one day' print(names[0:10]) # 1.可以通过下标进行取值,切片,顾头不含尾,执行结果是:hello bei for name in names: print(name) #2.通过for循环取值,循环的是循环对象(names)里面的每一个元素 for k in range(len(names)): print(names[k]) #3.循环names的长度,进行取值,k的值是数字,相当于字符串的下标
字符串的endswith、isalnum、isalpha方法:
name = 'hello world is world'
print(name.endswith('d')) #判断是否以u结尾,执行结果为布尔值,工作中的例子:可以判断图片是否以jpg结尾
print('ab123'.isalnum()) #判断输入的字符串是否包含数字和字母,判断密码是否包含数字和字母时,可以使用,返回结果为布尔值
print('abcdA'.isalpha()) #判断输入的字符串是否是英文字母,返回结果为布尔值
判断输入的字符串是否为数字,如下:
name = ' abcdERF123'
print('123'.isdigit()) #判断输入的字符串是否为数字,返回结果为布尔值
去除字符串的空格,如下:
#去除空格
print(' ab fs'.lstrip()) #默认去掉字符串左边的空格和换行,执行结果:ab fs
print('hello '.rstrip()) #默认去掉字符串右边的空格和换行,执行结果:hello
print('\nmysql abcd'.strip()) #默认去掉两边的空格和换行,执行结果:mysql abcd,中间的空格不可去除
print('mysqlmy'.strip('m')) #去除指定的字符串,例如:去除两边的m元素,执行结果:ysqlm y
字符串的join方法,如下:
#join是用来通过 某个字符串 拼接 一个可迭代对象的每个元素--->join(可迭代对象参数类型)
print('*'.join(name)) #将字符串中的每个元素都使用*号连接,执行结果:a*b*c*d*E*R*F*1*2*3,返回一个新的变量值
print('使用*号拼接后的name值:', name) #name字符串的内容未进行更改,执行结果:abcdERF123
nums = ['ybq', 'lhl', 'lsh']
print(','.join(nums)) #将列表转换为字符串,每个元素之间使用逗号连接,执行结果为:ybq,lhl,lsh
#另一种方法将列表转换为字符串
# nums = ['ybq', 'lhl', 'lsh']
# temp = ''
# for i in nums:
# temp = temp+i+',' #列表转换为字符串,强制类型转换,执行结果为:ybq,lhl,lsh
# print(temp.strip(','))
替换replace字符串,如下:
st = 'mysql is db mysql mysql mysql'
print(st.replace('mysql', 'oracle')) #将字符串中的mysql替换为oracle
print(st.replace('mysql', 'oracle', 1)) #替换的元素存在较多时,可以输入想替换的次数
查找find字符串,如下:
name = 'hello world is world'
print(name.find('world')) #查找字符串的索引
print(name.find('world', 3, 10)) #可以指定查找字符串的范围,3,15 是开始、结束的下标值,下标值顾头不顾尾
print(name.find('xxx')) #查找的字符串不存在时,返回结果为-1
print(name.rfind('world')) #查找字符串,从后往前查找,执行结果为:15
切割字符串spilt,返回结果类型为list,如下:
#切割字符串,返回的类型是list
name1 = 'zcl,py,zyz,ywq' #将字符串切割成list
name1_list = name1.split(',') #按照逗号分割字符串,返回结果为list,name1的值未改变
print(name1_list) #执行结果为list类型:['zcl', 'py', 'zyz', 'ywq']
print(name1.split()) #按照空格分割字符串,返回结果是list,只有一个元素,执行结果:['zcl,py,zyz,ywq']
print(name1.spilt('\n')) #按照换行符分割字符串
按照换行符分割字符串,不常用,如下:
print('1+2+3\n1+3+4'.splitlines()) #按照换行符分割,分割的是每一行文件的内容作为list的一个元素,执行结果:['1+2+3', '1+3+4']
字符串随机生成大小写字母、数字,用法如下:
import string print(string.ascii_letters + string.digits) #输出所有的大小写字母+(0-9)的数字 print(string.ascii_letters) #输出大小写的英文字母,执行结果:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_lowercase) #输出小写英文字母,执行结果:abcdefghijklmnopqrstuvwxyz print(string.ascii_uppercase) #输出小写英文字母,执行结果:ABCDEFGHIJKLMNOPQRSTUVWXYZ
格式字符串,如下:
print(name.format(name='byz', age=18)) #格式化字符串显示
print(name.format_map({'name': 'zhangsan', 'age': 18})) #格式化字典
字符串不常用的方法,了解即可:
字符串中大小写字母的判断与转换,如下:
name = ' abcdERF123'
print('aa'.islower()) #判断输入的字符串是否为小写字母,返回结果为布尔值
print('ASD'.isupper()) #判断输入的字符串是否为大写字母
print(name.lower()) #将字符串中的大写字母变成小写,执行结果:abcderf123
print(name.upper()) #将字符串中的小写字母变成大写,执行结果:ABCDERF123
print('ABCdef'.swapcase()) #大小写字母反转,执行结果:abcDEF
字符串的映射,可以做密码加密使用,如下:
#映射
p = str.maketrans('abcdefg', '1234567') #前面的字符串和后面的字符串进行映射,a-->1,c-->3
print('ccaegg'.translate(p)) #输出结果按照上面的maketrans做映射后的字符串,执行结果为:331577
#反解映射
new_p = str.translate('1234567', 'abcdefg')
print('ccaegg'.translate(new_p)) #输出结果按照上面的maketrans做映射后的字符串,执行结果为:ccaegg
对字符串的首字母进行大写
name = 'hello world is world' print(name.capitalize()) #首字母大写,执行结果:Hello world print(name.center(50, '*')) #长度总共为50,将name字符串的值放在中间,两边补充*号显示
欢迎各位大牛进行补充~~~
以上这篇python数据类型_字符串常用操作(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# python
# 字符串操作
# python字符串不可变数据类型
# Python基本数据类型之字符串str
# Python数据类型之String字符串实例详解
# Python数据类型详解(一)字符串
# python数据类型中的字符串你了解多少
# 的是
# 不存在
# 英文字母
# 布尔值
# 写字母
# 转换为
# 是否存在
# 换行
# 可以通过
# 给大家
# 换行符
# 顾头不顾尾
# 操作方法
# 首字母
# 迭代
# 放在
# 结果是
# 希望能
# 只有一个
# 可以使用
相关文章:
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何快速上传自定义模板至建站之星?
宝塔面板如何快速创建新站点?
如何快速使用云服务器搭建个人网站?
营销式网站制作方案,销售哪个网站招聘效果最好?
定制建站是什么?如何实现个性化需求?
模具网站制作流程,如何找模具客户?
如何通过多用户协作模板快速搭建高效企业网站?
如何通过NAT技术实现内网高效建站?
如何在Windows服务器上快速搭建网站?
高防服务器租用首荐平台,企业级优惠套餐快速部署
香港服务器如何优化才能显著提升网站加载速度?
建站之星伪静态规则如何设置?
移民网站制作流程,怎么看加拿大移民官网?
如何快速辨别茅台真假?关键步骤解析
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
建站之星安装后界面空白如何解决?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何设计高效校园网站?
如何高效完成自助建站业务培训?
如何解决VPS建站LNMP环境配置常见问题?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
建站之星安装需要哪些步骤及注意事项?
广州商城建站系统开发成本与周期如何控制?
如何通过山东自助建站平台快速注册域名?
如何在Ubuntu系统下快速搭建WordPress个人网站?
常州企业网站制作公司,全国继续教育网怎么登录?
装修招标网站设计制作流程,装修招标流程?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
如何在云主机快速搭建网站站点?
已有域名和空间如何搭建网站?
如何在腾讯云服务器快速搭建个人网站?
如何快速搭建高效简练网站?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何在自有机房高效搭建专业网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
如何在局域网内绑定自建网站域名?
建站之星后台密码遗忘或太弱?如何重置与强化?
如何挑选高效建站主机与优质域名?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
定制建站流程解析:需求评估与SEO优化功能开发指南
如何通过虚拟主机快速完成网站搭建?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
威客平台建站流程解析:高效搭建教程与设计优化方案
*请认真填写需求信息,我们会在24小时内与您取得联系。