数字 int #整型 所有的功能,都在int里
a = 123v= a.bit_length() #软件自带函数联想
print(v)-int
将字符串转换成数字
a= '123'
print(type(a),a) #type 显示为类型
b = int(a) #把字符串转换成数字
b = b + 1000 #转换成数字后可运算
print(type(b),b) #即显示类型,又显示值
- bit_length(self) #所有self都可以不输入
当前数字的二进制数值的位数#1 1
#2 10
#3 11
#4 100
#5 101
#当前数字的二进制至少用几位来表示
r =age.bit_length()
字符串 str- defcapitalize(self)
首字母变大写
a= 'alex'v=a.capitalize()print(v)#返回结果 Alex
- def center(self, width: int, fillchar: unicode =...)
在总长度为windth的范围内,居中显示self,fillchar空白处显示内容,需引用''a= 'alex'v= a.center(10,'*')print(v)#返回结果 ***alex***
- defcount(self, x: unicode)
在字符串中,对于某个x出现的次数
a= 'alexalex'v= a.count('ex')print(v)#返回结果 2
- def find(self, sub: unicode, start: int = ..., end: int =...)
在字符串中,在【x,y】的区间内,第一次找到v的位置,如果找不到,则反馈-1
#字符串位置顺序从0开始
a = 'alex'v= a.find('l',3,4)print(v)#返回结果 -1
v = a.find('l',0,4)#返回结果 1
- def format(self, *args: object, **kwargs: object)
在字符串中,针对某部分进行格式化替换{},{}1、按照默认顺序,不指定特定位置
a= '{} {}'v= a.format('Hallo','World')print(v)#或者直接print
print("{} {}".format("hello","world") )#返回结果 hello world
2、设置指定位置,可以多次使用
a= '{0} {1} {0}'v= a.format('Hallo','or')print(v)#或者直接print
print('{0} {1} {0}'.format('Hello','or'))#返回结果 Hello or Hallo
3、使用列表格式化
person= {'name':'opcai','age':20}print('My name is {name} . I am {age} years old .'.format(**person))#返回结果 My name is opcai . I am 20 years old .
4、通过列表格式化
stu= ['opcai','linux','MySQL','Python']print('My name is {0[0]} , I love {0[1]} !'.format(stu))#返回结果 My name is opcai , I love linux !
- def expandtabs(self, tabsize: int =...)
通过魔法,制作格式化文本或表格#\n 另起一行
#\t 制表符
#\t 和之前的加在一起等于输入的数字int
s = 'username\temail\tpassword\nalex\talex@\t123\nalex\talex@\t123'v= s.expandtabs(20)print(v)#返回结果
username email password
alex alex@123alex alex@123
#username到email之间,正好是20个格子
- def index(self, sub: unicode, start: int = ..., end: int =...)
在字符串中,在【x,y】的区间内,找到子序列的位置,如果找不到,则反馈error
和 find 类似
a= 'alex'v= a.index('l',3,4)print(v)#返回结果 ValueError: substring not found
- defisalnum(self)
字符串中,是否包含 字母或数字
text= '123abcd'v=text.isalnum()print(v)#返回结果 True
- defisalpha(self)
字符串中,是否全是字母
text= '123abcd'v=text.isalpha()print(v)#返回结果 False
- defisdecimal(self) 十进制数字
当前输入是否是数字 十进制数字- defisdigit(self) 包含数字形式
当前输入是否是数字 任何数字形式,是否包含十进制数字- defisnumeric(self) 形式全包含
当前输入是否是数字 任何形式,包括中文(python3)- defisdecimal isdigit isnumeric 三者的区别
test= '2'v1=test.isdecimal()
v2=test.isdigit()
v3=test.isnumeric()print(v1,v2,v3)#返回结果 True True True
test = '②'v1=test.isdecimal()
v2=test.isdigit()
v3=test.isnumeric()print(v1,v2,v3)#返回结果 False True True
test = '二'v1=test.isdecimal()
v2=test.isdigit()
v3=test.isnumeric()print(v1,v2,v3)#返回结果 False False True
- defisidentifier(self)
按照字母,数字,下划线顺序进行鉴别
a= 'adb123_'v=a.isidentifier()print(v)#返回结果 True
- defislower(self)
序列中是否全部是小写,只要有一个大写 就false
a= 'Abcdefg'v=a.islower()print(v)#返回结果 False
- defisprintable(self)
打印的时候都能看到的值就True,如果存在不可显示的,比如\n、\t之类,则False- defisspace(self)
判断序列里是否全部都是空格,只要有一个数字或文本,则False#空字符串不含空格,False
- defistitle(self)
判断字符串是否全是以大写为开头的标题
test= 'Tuple[unicode, unicode, unicode]'v1=test.istitle()print(v1)#返回结果 Fasle
v2 =test.title()print(v2)#返回结果 Tuple[Unicode, Unicode, Unicode]
v3 =v2.istitle()print(v3)#返回结果 True
- defisupper(self)
判断字符串中所有的字符都是大写,只要有一个小写,就是False
test= 'Tuple[unicode, unicode, unicode]'v1=test.isupper()print(v1)#返回结果 Fasle
v2 =test.upper()print(v2)#返回结果 TUPLE[UNICODE, UNICODE, UNICODE]
v3 =v2.isupper()print(v3)#返回结果 True
- defjoin(self, iterable: Iterable[unicode])
在字符串中插入self,注意是把self插入引用,每一个字符之间
test= '你是风儿我是沙'
print(test)
t= ' 'v= t.join(test) #在序列test中插入t
print(v)#返回结果 你 是 风 儿 我 是 沙
or
print(' '.join('你是风儿我是沙'))#返回结果 你 是 风 儿 我 是 沙
- def ljust(self, width: int, fillchar: unicode =...)
在引用的self右边,按照输入宽度要求,填充某标记
test= 'alex'v= test.ljust(20,'*')print(v)#返回结果 alex****************
- def rjust(self, width: int, fillchar: unicode =...)
在引用的self左边,按照输入宽度要求,填充某标记
test= 'alex'v= test.rjust(20,'*')print(v)#返回结果 ****************alex
- deflower(self)
把字符串中所有的字符变成小写#验证码输入大小写都可以,这个时候后台执行lower,后台显示都是小写
- def strip(self, chars: unicode =...)
在字符串中去除self ()默认为空白
移除指定字符串 有限最多匹配
test= 'xalex'v1= test.strip('x')
v2= test.lstrip('x')
v3= test.rstrip('x')print(v1,v2,v3)#返回结果 ale alex xale
- def lstrip(self, chars: unicode =...)
在字符串中左边去除self- def rstrip(self, chars: unicode =...)
在字符串中右边去除self- def maketrans(self, *args, **kwargs)
对于两组字符串进行对应顺序的替换
结合deftranslate 一起用
v= '我爱你,你爱他,他爱她,她爱他'test= '你我他'test1= '123'm=maketrans(test,test1)
new_v=v.translate(m)print(new_v)#返回结果 2爱1,1爱3,3爱她,她爱3
- deftranslate(self, table: Union[Dict[int, Any], unicode])
把对应替换的关系,重新应用到str语句中- defpartition(self, sep: unicode)
在字符串中,以输入的x为切割符,从左到右找到第一个x并进行分割
显示x
Bug:只能分割成三段,且x在中间
test= 'testabdeghrsoelt'v1= test.partition('s')print(v1)
v2= test.rpartition('s')print(v2)#返回结果 ('te', 's', 'tabdeghrsoelt')
#返回结果 ('testabdeghr', 's', 'oelt')
- def rpartition(self, sep: unicode) ->Tuple[unicode, unicode, unicode]: ...
在字符串中,以输入的x为切割符,从右到左找到第一个x并进行分割
Bug:只能分割成三段- defsplit
在字符串中,以输入的x为切割符,从左到右找到x并进行分割
不显示x
可以根据x分成 n+1段,n可以进行设置,不输入则为全部查找分割
test= 'testabdesghrsoelt'v1= test.split('s')
v2= test.split('s',1)
v3= test.rsplit('s',1)print(v1,v2,v3)#返回结果 ['te', 'tabde', 'ghr', 'oelt']
#返回结果 ['te', 'tabdesghrsoelt']
#返回结果 ['testabdesghr', 'oelt']
- def rsplit(self, sep: Optional[unicode] = ..., maxsplit: int =...)
在字符串中,以输入的x为切割符,从右到座找到x并进行分割
不显示x
可以根据x分成 n+1段,n可以进行设置,不输入则为全部查找分割- def splitlines(self, keepends: bool =...)
分割,只能根据 \n
换行符进行分割,true。flase :是否保留换行符\n
test= '124\n40869994\n8282292\n345'v=test.splitlines(True)print(v)
v=test.splitlines()print(v)#返回结果
#['124\n', '40869994\n', '8282292\n', '345']
#['124', '40869994', '8282292', '345']
- def startswith(self, prefix: Union[unicode, Tuple[unicode, ...]], start: int =...,
end: int=...)
判断是否以XXX开始
test= 'backeit 1.1 1.1'v= test.startswith('ba')print(v)#返回结果 True
defendswith 判断是否以XXX结尾- defswapcase(self)
字符串中所有大小写进行转换 all
test= 'backeitFJEKEI'v=test.swapcase()print(v)#返回结果 BACKEITfjekei
- defzfill(self, width: int)
设置新字符串长度,引用原字符串右对齐,前面填充0
test= 'backeitFJEKEI'v= test.zfill(20)print(v)#返回结果 0000000backeitFJEKEI
- def replace(self, old: unicode, new: unicode, count: int =...)
替换
test= '你是风儿我是沙'v= test.replace('你','他')print(v)#返回结果 他是风儿我是沙
- def decode(self, encoding: unicode = ..., errors: unicode = ...) ->unicode: ...- def encode(self, encoding: unicode = ..., errors: unicode = ...) ->str: ...-7个基本魔法 join split find strip upper lower replace-4个灰魔法
[int] 索引,获取字符串中某一个字符
[int1:int2] 索引切片,获取两个区间之间的字符,>=int1,
len() 检测字符串的字符个数or列表中的元素个数for循环
变量名in字符串: 循环接收器#案例
test = '你是风儿我是沙'index=0while index
v=test[index]print(v)
index+= 1
print('====end====')#返回结果
你
是
风
儿
我
是
沙====end====
#案例另一种表达方法
test = '你是风儿我是沙'
for A intest:print(A)-1个深灰魔法
字符串一旦创建,不可修改
一旦修改或者拼接,都会造成重新生成字符