什么是数据类型?
int 1、2、3 数字,用于计算
bool True,False,用户判断
str ‘aaaaa’ ‘bbbbb’ ‘ccccc’ 字符串,存储少量数据,进行操作
list [1,2,3,‘密码’] 列表,用于存储大量的数据
元祖 (1,2,3)可存储大量数据,但是属性为只读,无法修改
dict 字典,用法{‘name’:‘age’:16} 可储存大量的关系型字符
集合 {1,2,3,‘abc’}
int
i = 2print(i.bit_length())
1 def bit_length(self): # real signature unknown; restored from __doc__ 2 """ 3 int.bit_length() -> int 4 5 Number of bits necessary to represent self in binary. 6 >>> bin(37) 7 '0b100101' 8 >>> (37).bit_length() 9 6 10 """ 11 return 0
数值转换
int转str
i = 1 s = str(i)
str转int
s = '123' i = int(s)
int转bool ()
i = 3 b = bool(i) print(b)
bool转int
True 1 False 0
while True:
pass
while 1:
pass
两组代码一样,但是下面的更加高效,用于写死循环
str转bool
s = ‘ ’ 》False #非空字符串都是True s = ‘0’ 》True
常用方法
if s: print('你输入的为空,请重新输入') else: pass
str
字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。使用方法如下
i = 'asdfghjkl' i1 = i[2] print(i1)
i = 'asdfghjkl' print(i[4])
i = 'asdfghjk' i1 = i[-1] print(i1)
取多个(顾头不顾尾)
i = 'asdfghjkl' i1 = i[0:4] print(i1)
取全部
i = 'asdfghjk' i1 = i[0:] print(i1)
或
i = 'asdfghjk' i1 = i[:] print(i1)
取多个不连续数值--正向(i[首:尾:步长])只能用于取等距长的数值
i = 'asdfghjk' i1 = i[0:5:2] print(i1)
取多个不连续数值--反向(i[尾:首:步长])只能用于取等距长的数值【顾尾不顾头】
i = 'asdfghjk' i1 = i[4:0:-1] print(i1)
i = 'asdfghjk' i1 = i[4::-1] print(i1)
i = 'asdfghjk' i1 = i[4::-2] print(i1)
i = 'asdfghjk' i1 = i[::-1] print(i1)
字符串的操作
首字母大写
i = 'asdfghjk' i1 = i.capitalize() print(i1)
全大写
i = 'asdfghjk' i1 = i.upper() print(i1)
全小写
i = 'asdfghjk' i1 = i.lower() print(i1)
主要取决于.后面的参数
实例:
验证码
s_str = 'acEQ' you_input = input('请输入验证码,不区分大小写') if s_str.upper() == you_input.upper(): print('正确') else: print('请重新输入') #全大写
s_str = 'acEQ' you_input = input('请输入验证码,不区分大小写') if s_str.lower() == you_input.lower(): print('正确') else: print('请重新输入') #全小写
其他
#captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='egon say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2) #数字符串中的元素出现的个数。 # ret3 = a1.count("a",0,4) # 可切片 # print(ret3) a2 = "hqw\t" #\t前面的补全 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。 ret4 = a2.expandtabs() print(ret4) a4 = "dkfjdkfasf54" #startswith 判断是否以...开头 #endswith 判断是否以...结尾 # ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚 # print(ret4) # 返回的是布尔值 # ret5 = a4.startswith("kfj",1,4) # print(ret5) #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6) # print(ret61) # 返回的找到的元素的索引,找不到报错。 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。 # ret9 = 'title,Tilte,atre,'.split('t') # print(ret9) # ret91 = 'title,Tilte,atre,'.rsplit('t',1) # print(ret91) #format的三种玩法 格式化输出 res='{} {} {}'.format('egon',18,'male') res='{1} {0} {1}'.format('egon',18,'male') res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) #strip name='*egon**' print(name.strip('*')) print(name.lstrip('*')) print(name.rstrip('*')) #replace name='alex say :i have one tesla,my name is alex' print(name.replace('alex','SB',1)) #####is系列 name='jinxin123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
公共方法
i = '123268423135748654132adsasdawasd' l = len(i) print(l) #用于计算字符数量
i = '123268423135748654132adsasdawasd' l = i.startswith('000') print(l) #检测字符串开头信息,真假两个状态
i = '123268423135748654132adsasdawasd' l = i.startswith('s',-2) print(l) #检测字符串某一位置信息,真假两个状态
来源:https://www.cnblogs.com/baixin/p/9356836.html