我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python学习之str 以及常用的命令

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python学习之str 以及常用的命令

str 字符串

例如:

name = "adam"
name1 = "周大福"

命令语句的条件参数配置格式

center(self,width,fillchar= None)

self:可以直接忽略

width:必须有参数

fillchar= None:可以不用单独设置参数

凡有参数 = None的 都可以理解为 可以不用单独设置此参数

str 里有一些常用的命令

1、capitalize

首字母大写


name = "adam"
v = name.capitalize()	#name内的字符串首字母大写
print(type(v),v)

2、casefold和lower

所有变小写


name = "aDam"
v = name.casefold()	#name内的字符串变成小写(它可以处理不同的语种内的字母大小写)
print(type(v),v)
name = "aDam"
v2 = name.lower()	#name内的字符串变成小写(它只能处理英文)
print(type(v2),v2)

3、center

设置字符串长度并将内容剧中,空白位置进行填充并且何可设置填充的符号默认填充空格


name = "adam"
v = name.center(25,"+")		#在name赋值的字符串的前后各增加加号 ,使得整体字符串占一共有8个字符之前name的赋值字符串剧中,并且赋值给v
print(type(v),v)

4、count

寻找字符串中的子序列或字符出现的次数,并可以设置起始的寻找位数


name = "adam"
v = name.count('a',2,4) #计算a在name赋值的字符串内 出现过多少次,不写(,2,4)的话默认是冲头到位找,写了就是从地2到4位寻找
print (v)

5、endswith和startswith

endswith 判断结尾的字符是什么 可以设置 起始位置

startswith 判断开头的字符是什么 可以设置 起始位置 注意设置的开始位置要前移一个单位


name = "adam"
v = name.endswith('d',1,2) #判断 name赋值的字符串 从第一个字符到第二个字符结束 结尾的字母是不是d
v1 = name.startswith('a',0,2)#判断name赋值的字符串,从第0位到第2位 是不是以 字母a开头
print (v)
print (v1)

6、expandtabs

将\t 前面字符位数用空格补至x位 ,如\t 前字符位数等于x 则 直接用x个空格替换\t 如\t前字符位数大于x 则在前面字符最末尾补x余数个空格(输出结果不再显示\t)


test = '12345\t6789'
v = test.expandtabs(8)
v1 = test.expandtabs(3)
v2 = test.expandtabs(5)
print(v)
print(v1)
print(v2)
#应用实例:
test = '姓名\t性别\t身高\n张三\t男\t180\n张三\t男\t180\n张三\t男\t180'
v = test.expandtabs(10)
print(v)

7、find

从头往后找到第一个子序列获取其前面有多少个字符,也可以规定寻找范围,设定的搜索范围逻辑关系位 起始位数 <= 被搜索范围 <结束位置。


name = "adamadamadam"	#创建变量name并赋值adamadamadam
v = name.find('ma',6,9) 	#设定搜索ma子序列从6到8位
print (v)	#显示v的值
#结果为:7

PS:当find找不到目标子序列的时候会赋值位-1而另一个寻找命令index在找不到目标子序列时会直接程序报错,所以推荐使用find命令

8、format

格式化,将一个字符串中的占位符替换为指定的值“大括号内的就是占位符”


name = "adam"	#创建变量name并赋值为adam
xingBie = "男"	#创建变量xingBie并赋值为"男"
xianShi = "I am {name1},{xingBie1}" 	#创建变量xianShi并赋值为"I am {name1},{xingBie1}" 
print(xianShi)	#显示xianShi
#结果:I am {name1},{xingBie1}
v = xianShi.format(name1 = name ,xingBie1 = xingBie) #使用变量name和xingBie替换xianShi变量中的name1和xingBie1,并且赋值给v
print(v)	#显示v
#结果:I am adam,男

format的另一种书写格式,可以使用数字占位,并且在赋值的时候程序会默认依次对数字赋值,创建占位符号时需要从0开始使用数字占位


name = "adam"	#创建变量name并赋值为adam
xingBie = "男"	#创建变量xingBie并赋值为"男"
xianShi = "I am {0},{1}" #创建变量xianShi并赋值为"I am {0},{1}"
print(xianShi)	#显示xianShi
#结果:I am {0},{1}
v1 = xianShi.format(name ,xingBie) #使用变量name 和 xingBie的值替换xianShi中的 0 和 1的值,并且赋值给v1
print(v1) #显示v1
#结果:I am adam,男

9、format_map

(字典)。。。。。


name = "adam"	#创建变量name并赋值为adam
xingBie = "男"	#创建变量xingBie并赋值为"男"
xianShi = "I am {name1},{xingBie1}" 	#创建变量xianShi并赋值为"I am {name1},{xingBie1}" 
print(xianShi)	#显示xianShi
v = xianShi.format(name1 = name ,xingBie1 = xingBie) #使用变量name和xingBie替换xianShi变量中的name1和xingBie1,并且赋值给v
print(v)	#显示v
#结果:I am adam,男
v1 = xianShi.format_map({'name1':name,'xingBie1':xingBie})	#使用format_map的格式给v1赋值
print(v1)	#显示v1
#结果:I am adam,男

10、isalnum

判断字符串中是否只有字母 或 数字,输出布尔值


name = 'adam123'   #给变量name赋值adam
name1 = 'adam+'   #给name1赋值adam+
name2 = 'adam'
name3 = '123'
v = name.isalnum()   #判断name中是否只含有字母或数字,并把布尔值赋值给v
v1 = name1.isalnum()    #判断name1中是否只含有字母或数字,并把布尔值赋值给v1
v2 = name2.isalnum()
v3 = name3.isalnum()
print(v)
print(v1)
print(v2)
print(v3)

11、isalpha

判断字符串中是否只含有字母 或 汉字,输出布尔值


name = 'adam123'   #给变量name赋值adam123
name1 = 'adam+'   #给name1赋值adam+
name2 = 'adam'   #给name2赋值adam
name3 = '张三'    #给name3赋值张三
v = name.isalpha()
v1 = name1.isalpha()
v2 = name2.isalpha()
v3 = name3.isalpha()
print(v)
print(v1)
print(v2)
print(v3)

12、isdecimal、isdigit、isnumeric

他们时用来判断字符串是否只是数字输出布尔值

isdecimal :只能判断阿拉伯数字为 真 (推荐用这个比较准)

isdigit:阿拉伯数字和符号数“123和③” 为真

isnumeric:阿拉伯数字、符号数字、罗马数字、汉字数,均为真“123、③、Ⅲ、四”


test1 =  '123'  #赋值
test2 = '1a'    #这个也可以是16进制数
test3 = '②'    #符号数字 ②
test4 = 'Ⅲ' #罗马数字3,这是一个字符
test5 = '四'    #汉字数字四
vecimal1 = test1.isdecimal()    #判断字符串是否为数字
vecimal2 = test2.isdecimal()
vecimal3 = test3.isdecimal()
vecimal4 = test4.isdecimal()
vecimal5 = test5.isdecimal()
vigit1 = test1.isdigit()    #判断字符串是否为数字
vigit2 = test2.isdigit()
vigit3 = test3.isdigit()
vigit4 = test4.isdigit()
vigit5 = test5.isdigit()
vnumeric1 = test1.isnumeric()
vnumeric2 = test2.isnumeric()
vnumeric3 = test3.isnumeric()
vnumeric4 = test4.isnumeric()
vnumeric5 = test5.isnumeric()
print(vecimal1, vecimal2, vecimal3, vecimal4, vecimal5)  #打印isdecimal判断的结果
print(vigit1, vigit2, vigit3, vigit4, vigit5)  #打印isdigit判断的结果
print(vnumeric1, vnumeric2, vnumeric3, vnumeric4, vnumeric5)

13、isidentifier

测试字符串是不是以 字母数字下划线组成并且不以字母或下划线开头

PS:这个命令不会因为 字符串是python的关键字 就判断为假


print( "if".isidentifier() )
print( "def".isidentifier() )
print( "class".isidentifier() )
print( "_a".isidentifier() )
print( "中国123a".isidentifier() )
print( "123".isidentifier() )
print( "3a".isidentifier() )
print( "".isidentifier() )

14、islower、lower、isupper、upper

islower 判断字符串是否全部为小写

lower 把字符串内所有字符所有字符变成小写

isupper 判断字符串是否全部为大写

upper 把字符串内所有字符所有字符变成大写


name = 'Adam'
name1 = 'ADAM'
name2 = 'adaM'
name3 = 'aDam'
v = name.islower()
v1 = name1.islower()
v2 = name2.islower()
v3 = name3.islower()
print('Adam',v,'ADAM',v1,'adaM',v2,'aDam',v3)
x = name.lower()
x1 = name1.lower()
x2 = name2.lower()
x3 = name3.lower()
print('Adam',x,'ADAM',x1,'adaM',x2,'aDam',x3)
n = name.isupper()
n1 = name1.isupper()
n2 = name2.isupper()
n3 = name3.isupper()
print('Adam',n,'ADAM',n1,'adaM',n2,'aDam',n3)
k = name.upper()
k1 = name1.upper()
k2 = name2.upper()
k3 = name3.upper()
print('Adam',k,'ADAM',k1,'adaM',k2,'aDam',k3)

15、isprintable

判断字符串中是否含有不可见或不可打印的 字符比如 \n \t 等


print('\tabc'.isprintable())
print('abc\n'.isprintable())
print('\tabc\n'.isprintable())
print('abc'.isprintable())

16、isspace

判断字符串是否全部都是空格


test = '  '
test1 = '  a'
test2 = ' a '
test3 = ''
v = test.isspace()
v1 = test1.isspace()
v2 = test2.isspace()
v3 = test3.isspace()
print(v,v1,v2,v3)    #True False False False

17、istitle、title

istitle 判断是否为标题(所有单词首字母均为大写)

title 将字符串转换成标题也就是把所有字母的 首字母转换成大写


test = 'wo shi zhang san , wo ba sui le '
v = test.istitle()
print(v)    #False
v1 = test.title()
print(v1)    #Wo Shi Zhang San , Wo Ba Sui Le 
v2 = v1.istitle()
print(v2)    #True

18、join

在字符与字符 中间加上 设置好的间隔符当变量值中只有一个字符的时候则什么都不做,可以设置添加的符号


test = '我是张三,我八岁了'
test1 = '我'
print(test) #我是张三,我八岁了
x = ' '
v = x.join(test)
print(v)    #我 是 张 三 , 我 八 岁 了
v1 = x.join(test1)
print(v1)    #我

19、ljus、rjust、center、zfill

ljust 字符串靠左对齐 不够位数的用设置的字符补齐

rjust 字符串靠右对齐 不够位数的用设置的字符补齐

center 字符串剧中对齐 不够位数的用设置的字符补齐,如果只需要补1个字符,则补在字符串左侧

zfill 只能在字符串左侧填充0


name = 'adam'
v = name.ljust(6,'*') #文字左对齐 不至6位用*补位
v1 = name.rjust(6,'*') #文字右对齐 不至6位用*补位
v2 = name.center(6,'*')  #文字剧中 不至6位用*补位
v3 = name.zfill(6)    #文字右对齐 不至6位用*补位
print(v,v1,v2,v3)  #adam** **adam *adam* 00adam

20、lstrip 、rstrip、strip

lstrip 从左向右匹配删除空格,直到遇到不匹配的那个字符

rstrip 从右向左匹配删除空格,直到遇到不匹配的那个字符

strip 去掉两侧的空格

PS:他们还可以去掉 /t /n这样的功能符(默认下),还可以指定去掉任意字符,匹配原则是 优先最多匹配原则


name = ' ad am '
v = name.lstrip()     #去掉左侧的空格直到遇到其他字符
v1 = name.rstrip()    #去掉右侧的空格直到遇到其他字符
v2 = name.strip()     #去掉两侧的空格直到遇到其他字符
print(v)    #ad am 
print(v1)   # ad am
print(v2)   #ad am

21、translate、maketrans

translate:执行映射转换

maketrans:创建映射转换关系,先写入原字符表,再写入要转换成的字符表,也可以再定义一个需要删除的字符表


yuanZiFu = 'abcde'	#定义原始匹配字符
bianGengZiFu = '12345'	#定义匹配后变更的字符	
shanChuZiFu = 'fghij'  #定义原始匹配删除的字符
zhuanHuanBiao = str.maketrans(yuanZiFu,bianGengZiFu)	#创建字符映射转换表(匹配yuanZiFu转换成bianGengZiFu)
zhuanHuanShanChuBiao = str.maketrans(yuanZiFu,bianGengZiFu,shanChuZiFu)	#创建字符映射转换删除表(匹配yuanZiFu转换成bianGengZiFu删除shanChuZiFu)
yuanShiZiFuChuan = 'a1b2c3d4e5fagbhcidje' 	#创建原始字符串
print(yuanShiZiFuChuan.translate(zhuanHuanBiao))    #1122334455f1g2h3i4j5
print(yuanShiZiFuChuan.translate(zhuanHuanShanChuBiao))    #112233445512345

22、partition、rpartition、split、rsplit、splitlines() 、splitlines(True) 、splitlines(Fales)

partition 把字符串分割为3份 从字符串的左侧向右寻找 设置的分隔符号 进行分割,分割符号会被单独分割成中间的那部分

rpartition 把字符串分割为3份 从字符串的右侧向左寻找 设置的分隔符号 进行分割,分割符号会被单独分割成中间的那部分

ps partitionrpartition需要设置分割符

split 可以指定分割的块数 左侧向右寻找分割符号 默认是匹配的所有分割符号 全部都进行分割 且分割符号并不会出现在结果中

rsplit 可以指定分割的块数 右侧向左寻找分割符号 默认是匹配的所有分割符号 全部都进行分割 且分割符号并不会出现在结果中

ps:分割符默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

splitlines() 默认根据换行符号\n 进行分割 且不会保留换行符号

splitlines(True) 根据换行符号\n 进行分割 且保留换行符号 换行符号出现在被分割模块的右侧splitlines(Fales) 根据换行符号\n 进行分割 且不会保留换行符号


x1 = '123\n45\t123\n45\t123\n45\t123\n45'
print(x1.partition('5'))    #('123\n4', '5', '\t123\n45\t123\n45\t123\n45')
print(x1.rpartition('5'))   #('123\n45\t123\n45\t123\n45\t123\n4', '5', '')
print(x1.split('\n',3))   #['123', '45\t123', '45\t123', '45\t123\n45']
print(x1.rsplit('\t',2))  #['123\n45\t123\n45', '123\n45', '123\n45']
print(x1.splitlines())  #['123', '45\t123', '45\t123', '45\t123', '45']
print(x1.splitlines(True))  #['123\n', '45\t123\n', '45\t123\n', '45\t123\n', '45']
print(x1.splitlines(False)) #['123', '45\t123', '45\t123', '45\t123', '45']

23、swapcase

大小写转换 ,把字符串里面的大小写全部转换


name = 'Adam'
v = name.swapcase()
print(v)    #aDAM

24、replace

替换,从左往右寻找匹配的子序列,然后全部进行替换,可以设定替换几个,("原变量中的子序列","替换后的子序列",替换几个子序列)


name = 'adamadamadam'
v = name.replace('da','yyy')
print(v)    #ayyymayyymayyym

PS:匹配原则最长公共子序列 两个或多个字符串内 最长的相同的子序列

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python学习之str 以及常用的命令

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python学习-SVN常用命令

SVN命令参考:http://riaoo.com/subpages/svn_cmd_reference.html作用: 将版本库的修改合并到工作副本中。使用语法: update [PATH...],  如果没有指定版本,则将工作副本更新到
2023-01-31

Redis入门及常用命令学习

Redis简介Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使
Redis入门及常用命令学习
2014-06-16

Python中str的常用命令有哪些

这篇文章主要介绍了Python中str的常用命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。str 字符串例如:name = "adam"name1 = "周大福"命
2023-06-25

Docker系列学习之Swarmmode管理节点常用命令详解

这篇文章主要为大家介绍了Docker系列学习之Swarmmode管理节点常用命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

学习了一下python中使用adb命令的

在python中使用adb命令,可以导入os模块。1 简单的adb命令。如:os.system('adb version')2 稍微复杂的adb命令。如:os.system('adb shell "dumpsys activity | gr
2023-01-31

Linux简介及最常用命令(简单易学,但能解决95%以上的问题)

linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路
2022-06-04

总结用Pdb库调试Python的方式及常用的命令

用Pdb调试有多种方式使用 Pdb调试 Python的程序的方式主要是下面的三种!下面逐一介绍 命令行加-m参数命令行启动目标程序,加上-m参数,这样调用 testPdb.py的话断点就是程序执行的第一行之前 本文接下来重点讲到的实例展示就
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录