python中str和int区别_python数据类型:int、str及其⽅法1.判断某个东西是否在某个东西⾥包含:in和not in。结果实际上是布尔值(true或false)
eg:name = "王思骐"
"王思骐" 字符串⾥⾯有三个字符,其中思骐称为⼦字符串/⼦序列
整体注释:ctrl + ?
name = "王思骐"
if "思骐" inname:print('OK')else:print('Error')
执⾏结果为OK
name = "王思骐"
if "王骐" inname:print('OK')else:print('Error')
执⾏结果为Error。字符串中的字符必须相临才可以称为⼦序列,包含在其中
2.运算符
结果是值:
算数运算:a = 10 * 10
赋值运算:a += 1(等同于a = a + 1);a *= 1(等同于a = a * 1);a //=1(等同于a = a // 1)
结果是布尔值:
⽐较运算:a = 1 > 5
逻辑运算:a = 1>6 or 1==1
成员运算:a = "骐" in "王思骐"
结果是布尔值的运算规则:从前到后依次计算,有括号先算括号⾥的内容
执⾏结果:True or ==>真;True and ==>继续判断;False and ==>假;False or ==>继续判断
3.数字类型的功能:int ,所有的功能都放在int⾥
(1)将字符串转换为数字- int
a = "123"
print(type(a),a)
b=int(a)print(type(b),b)
其中,type(a)显⽰数据类型
num = "0011"v= int(num, base=16)print(v)
其中,base=16表⽰按照16进制将字符串转换成10进制的数字,默认是按10进制进⾏转换
(2)当前数字的⼆进制,⾄少⽤n位表⽰- bit_lenght
a=5r=age.bit_length()print(r)
4.字符串:str
(1)⾸字母⼤写
test = "aLex"v=test.capitalize()print(v)
(2)所有变⼩写,其中casefold更⽜逼,很多未知的对相应变⼩写
test = "aLex"v1=test.casefold()print(v1)
v2=test.lower()print(v2)
(3)设置宽度,并将内容居中
test = "aLex"v= (20,*)print(v)
其中,20 代指总长度;*是 空⽩位置填充,⼀个字符,可有可⽆
(4)去字符串中寻,寻⼦序列的出现次数
test = "aLexalexr"v= unt('ex')print(v)
test = "aLexalexr"v= unt('ex',5,6)print(v)
其中,5,6是指从第五位开始,第六位结束
(5)判断以什么什么结尾,判断以什么什么开始,输出结果均为true或false
test = "alex"v= dswith('ex')
v= test.startswith('ex')print(v)
(6)从开始往后,到第⼀个之后,获取其位置,是从0开始数位置的
test = "alexalex"v= test.find('ex')print(v)
设定寻的位置参数时,寻的范围是左闭右开,例如v = test.find('ex',5,8)第五位到第7位;未到时间显⽰ -1 test = "alexalex"v= test.index('8')print(v)
index不到,报错==》忽略掉,不好⽤
(7)格式化,将⼀个字符串中的占位符替换为指定的值
test = 'i am {name}, age {a}'
print(test)
v= test.format(name='alex',a=19)print(v)
test = 'i am {0}, age {1}'
print(test)
v= test.format('alex',19)print(v)
当占位符是数字时可直接按顺序替换
(8)格式化,传⼊的值 {"name": 'alex', "a": 19}
test = 'i am {name}, age {a}'v1= test.format(name='df',a=10)
v2= test.format_map({"name":'alex', "a":19})
使⽤format_map替换时需要注意传⼊的格式
(9) 判断字符串中是否只包含字母和数字
test = "123"v=test.isalnum()print(v)
(10)制表符
test =
"username\temail\tpassword\nwangqiang1\tying@q\t123\nwangqiang2\tying@q\t123\nwangqiang3\tying@q\pandtabs(20)print(v)
expandtabs表⽰断句,20字符为⼀组,\t将前⾯未满⼀组的⾃动填充到20个字符。\n表⽰换⾏
(11)是否是字母,汉字
test = "as2df"v=test.isalpha()print(v)
(12)当前输⼊是否是数字
test = "⼆"v1=test.isdecimal()
v2=test.isdigit()
v3=test.isnumeric()print(v1,v2,v3)
其中,test = "⼆"或者1或②
isdecimal()最常⽤的;isdigit()可以识别②这种数字;test.isnumeric()可以识别②、⼆这种数字即所有数字
(13)是否存在不可显⽰的字符
test = "oiuas\tdfkj"v=test.isprintable()print(v)
\t 制表符;\n 换⾏
(14)判断是否全部是空格
test = ""v=test.isspace()print(v)
(15)判断是否是标题
writeline和write的区别pythontest = "Return True if all cased characters in S are uppercase and there is"v1=test.istitle()print(v1)
v2=test.title()print(v2)
v3=v2.istitle()print(v3)
istitle()判断是否是标题(标题单词的⾸字母均是⼤写);title()将内容转换成标题,即每个单词的⾸字母都换成⼤写
(16)将字符串中的每⼀个元素按照指定分隔符进⾏拼接
test = "你是风⼉我是沙"
print(test)
v= "_".join(test)print(v)
(17)判断是否全部是⼤⼩写 和 转换为⼤⼩写
test = "Alex"v1=test.islower()
v2=test.lower()print(v1, v2)
v1=test.isupper()
v2=test.upper()print(v1,v2)
isupper()、islower()判断是否全是⼩写、⼤写;upper()、lower()将内容全部转换成⼤写、⼩写
(18)移除指定字符串
test = "ssddxadsddvdvxavfdgfg"v1= test.lstrip('xa')
v2= test.rstrip('9lexxexa')
v3= test.strip('xa')print(v1,v2,v3)
匹配字符串时,有限最多匹配。lstrip()匹配左⾯移除;rstrip()匹配右⾯移除;strip()匹配所有移除
同时,还可以移除空⽩test.lstrip();test.rstrip();test.strip()。当出现\t和\n时也会直接移除
(19)对应关系替换
test = "aeiou"test1= "12345"v= "asidufkasd;fiuadkf;adfkjalsdjf"m= str.maketrans("aeiou", "12345") new_anslate(m)print(new_v)
aeiou与12345⼀⼀对应
(20)分割为三部分
test = "testasdsddfg"v= test.partition('s')print(v)
以第⼀个s为分割位;rpartition()是从右⾯寻第⼀个s为分割位,显⽰分割位
(21) 分割为指定个数
test = "testasdsddfg"
v = test.split('s',2)
print(v)
以前两个s为分割位;test.rsplit('s',2)从右⾯寻前两个s为分割位,且不显⽰分割位
(22) 分割,只能根据换⾏符分割。true,false:是否保留换⾏符
test = "asdfadfasdf\nasdfasdf\nadfasdf"v=test.splitlines(False)print(v)
(23) 判断字符串是否以xx开头/结尾
test = "backend 1.1.1.1"v= test.startswith('a')print(v)
startswith('a')判断字符串是否以a开头;endswith('a')判断字符串是否以a结尾
(24)⼤⼩写相互转换
test = "aLex"v=test.swapcase()print(v)
(25) 判断是否是标识符(字母,数字,下划线 )
a = "def"v=a.isidentifier()print(v)
(26) 将指定字符串替换为指定字符串
test = "alexalexalex"
v1= place("ex",'bbb')
print(v1)
v2= place("ex",'bbb',2)
print(v2)
输出结果为:albbbalbbbalbbb;albbbalbbbalex即2表⽰"ex"只替换前两次
5.str类型⾥⽐较重要的功能有:
(1) join # '_'.join("asdfasdf"):将字符串中的每⼀个元素按照指定分隔符进⾏拼接
test = "你是风⼉我是沙"
v= "_".join(test)print(v)
输出结果为:你_是_风_⼉_我_是_沙
v = '_'.join("asdfasdf")print(v)
输出结果为:a_s_d_f_a_s_d_f
(2) split:按照指定分割位进⾏分割
test = "testasdsddfg"v= test.split('s',2)
print(v)
输出结果为:['te', 'ta', 'dsddfg']
以前两个s为分割位;test.rsplit('s',2)从右⾯寻前两个s为分割位,且不显⽰分割位
(3) find:从开始往后,到第⼀个之后,获取其位置
test = "alexalex"v=test.find('ex')
print(v)
输出结果为:2
从开始往后,到第⼀个之后,获取其位置,是从0开始数位置的
(4) strip:移除指定字符串
test = " ssddx "
v1 = test.lstrip()
v2 = test.rstrip()
v3= test.strip()
print(v1)
print(v2)
print(v3)
输出结果为:
ssddx #去掉左边空格,右边仍有
ssddx #去掉右边空格,左边仍有
ssddx #去掉两边空格
strip还可以去除\t、\n。同时也可以去除指定字符串
test = "xaexlex"v1= test.lstrip('xa')
v2= test.rstrip('9lexxex')
v3= test.strip('ex')print(v1)print(v2)print(v3)
输出结果为:exlex; xa; aexl
匹配字符串时,有限最多匹配。lstrip()匹配左⾯移除;rstrip()匹配右⾯移除;strip()匹配所有移除(5) upper:判断是否全是⼤写;全部转换成⼤写
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论