python基础知识第二篇(字符串)
基本数据类型
数字 整形 int
---int
将字符串转换为数字
num="123" n1=int(num) print(n1)
print(type(a))
查看是什么类型的
num=10
print(type(num))
、 ----bit_length
当前数字的二进制,表示至少用几位来二进制
num=10 s1=num.bit_length() print(s1)
字符串 str
capitalize作用:首字母大写
s1="dlplpa" s2=s1.capitalize() print(s2)
casefold 和 lower 作用:casefold 更牛逼,把所有字母变小写
s1="DFSHSRHSH" s2=s1.casefold() print(s2)
center(20,"*") 设置宽度,并将内容居中,20代指总长度,空白未知填充,只能填一个字符
s1="DFSHSRHSH" s2=s1.center(20,"中") print(s2)
ljust 将内容放在左边,可以指定字符
s1="dnand" s2=s1.ljust(6) print(s2)
rjust 将内容放在右边,可以指定字符
s1="dnand" s2=s1.rjust(6) print(s2)
zfill 默认用0进行填充,不能指定字符
s1="dnand" s2=s1.zfill(6) print(s2)
count(“e”,5,8) 计算字符中出现的次数,5代表指从第5个字符开始,第8个字符结束
s1="fetgesgsgsggssdfg" s2=s1.count("e",5,8) print(s2)
endswith 以什么结尾,返回结果为布尔型
s1="fetgesgsgsggssdfg" s2=s1.endswith("fg") print(s2)
startwith 以什么开始
s1="fetgesgsgsggssdfg" s2=s1.startswith("f") print(s2)
format 将字符串中的占位符替换为指定的值
s1="i am {da}" s2=s1.format(da="小可爱") print(s2)
format_map 同上,表达方式不同
s1="i am {da}" s2=s1.format_map({"da": "小可爱"} ) print(s2)
isalnum 判断是否只包含数字和字母 返回类型是布尔型
s1="dad2323_" s2=s1.isalnum() print(s2)
expandtabs 断句20个,不足20,直接进行填充, 方便做到整齐
s1="username\tpassword\tdkandkda\ndkdfnjsk\tdjkadakd\tdijdoaddp\ndnakdkakn\tndladd\tdhjdndd" s2=s1.expandtabs(20) print(s2)
isalpha 判断是否都是字母,汉字也可以
s1="你的快乐威尼斯" s2=s1.isalpha() print(s2)
isdecimal 判断是否是数字,isdigit,可以判断特殊数字,isnumeric,可以判断中文数字
s1="②" s2=s1.isnumeric() print(s2)
isidentifier 判断是否符合标识符的命名规则
s1="_djoolof" s2=s1.isidentifier() print(s2)
isprintable 是否包含不可显示的字符,比如\t,\n等这些东西,如果没有就返回true,如果有就返回false
s1="_djoolof\n" s2=s1.isprintable() print(s2)
isspace 判断是否全部都是空格,如果是返回true ,如果不是返回false
s1=" d " s2=s1.isspace() print(s2)
istitle 判断是否是标题,因为标题单词首字母都是大写
s1="Djdkd Djdjdj Ddkk" s2=s1.istitle() print(s2)
title 把普通字符串转换为标题,也就是把首字母转换为大写。
s1="Djdkd Djdjd dGddkk" s2=s1.title() print(s2)
join ******* 把字符串以特定的字符分开,列如空格,下划线等等
s1="QWERTYUIOPASDFGHJKL" s2="_" s3=s2.join(s1) print(s3)
islower 判断是否都是小写
s1="dfcf" s2=s1.islower() print(s2)
lower 把字符串转换为小写
s1="dfdFFFcf" s2=s1.lower() print(s2
isupper 判断是否都是大写
s1="DFFF" s2=s1.isupper() print(s2)
upper 转换字符串为大写
s1="DFFFDSdf" s2=s1.upper() print(s2)
lstrip 移除左空白
s1=" DFFFDSdf " s2=s1.lstrip() print(s2)
rstrip 移除右空白
s1=" DFFFDSdf " s2=s1.rstrip() print(s2)
strip 移除两边空白,包括\t\n等 也可以移除指定的字符,优先匹配更多字符进行移除,只会删除头尾的
s1="ggbbffhhjjbb" s2=s1.strip("bb") print(s2)
maketrans 做一个对应关系,并进行替换,必须和translate进行搭配
s1="gfk" s2="152" s3=str.maketrans(s1,s2) s4="dagdjkeomf" s5=s4.translate(s3) print(s5)
partition 找到左边第一个字符进行分割,分成三份,
s1="dkolfla" s2=s1.partition("l") print(s2)
rpartition 从右边第一个字符进行分割,分成三份
s1="dkolfla" s2=s1.rpartition("l") print(s2)
split 根据字符分割,从左边开始寻找,但是字符会消失,后面可以接参数,申明分成几部分
s1="dkoklfklka" s2=s1.split("k",3) print(s2)
rsplit 根据字符分割,从右边开始寻找,但是字符会消失,后面可以接参数,申明分成几部分
s1="dkoklfklka" s2=s1.rsplit("k",3) print(s2)
partition /rpartition(不会消失) 和 split/ rsplit(会消失) 的区别就是字符分割的元素是否会消失。
splitlines 分割,只能根据换行符进行分割,可以用true或者false来决定是否保留分割的元素
s1="www\nbaidu\ncom" s2=s1.splitlines(True) print(s2)
stratwith 判断以什么开头
s1="dkokdkof" s2=s1.startswith("dk") print(s2)
endswith 判断以什么结尾
s1="dkokdkof" s2=s1.endswith("f") print(s2)
swapcase 把大写换小写,把小写换大写
s1="dkGGGGokdkof" s2=s1.swapcase() print(s2)
test="asdfgh"
******** v=test[1] ****表示根据索引取出字符串中的第二个字符 索引
******** v=test[0:2] ****表示根据索引取出=>和<2的字符 切片
******** v=len(test) *****表示由多少个字符组成,也可以对汉字进行判断,对于列表就是逗号分隔的 计算长度
********* for循环
for 变量名 in 字符串:
print(变量名)
range 表示0到N,帮助我们创建连续的数字,默认>=0 <100 也可以指定步长来指定不连续
s1=range(0,520,5) for s2 in s1: print(s2)
布尔值 bool
列表 list
元祖 tuple
字典 dict