python:数据类型

时间:2023-03-09 16:56:58
python:数据类型

一、数据类型

1.数字int型

  主要进行计算

  bit_length() 当十进制用二进制表示时,最少使用的位数

a = 13
b = a.bit_length()
print (b)

2.布尔值bool

  布尔值有两种:True  , False.  用于反应条件的正确与否

  True     1

  False     0

  转换

  int-->>str         int加‘’就是字符型

  int-->>bool      o为False,其他都是False

  str-->>bool      空字符都是False ,其他都是True

name = ''
while name:
print('输入正常')
else:
print('输入不正常')

  

3.字符串str

  字符串是有顺序的,索引即下标,就是字符串组成的元素从第一个开始,初始索引为0,以此类推

  1.索引与切片

    索引

a1 = '爱老虎油haha'
print (a1[0])
print (a1[1])
print (a1[2])
print(a1[-1])
s1 = a1[3]
print (s1)

    切片  :  顾头不顾尾

a1 = '爱老虎油haha'
s2 = a1[0:2]
s3 = a1[:2]#0可以省略
s4 = a1[:]
print (s2)
print (s3)
print (s4)

    步长 :跳着切    s[起始索引:截至索引:步长](不加步长默认为1)

s5 = a1[0: 6: 2]
print (s5) s6 = a1[-1:-5:-1]#反向步长
print (s6)

  反向步长

a1 = '爱老虎油haha'
s6 = a1[-1::-1]#反向步长 ahah油虎老爱
s61 = a1[::-1]#反向步长 ahah油虎老爱
print (s6)
print (s61)

  2.str常用操作

    capitaliz首字母大写,其他字母小写

s = 'abC Defg hiG  klm'
s7 = s.capitalize() print (s7)

    upper全部大写,lower全部小写

s = 'abC Defg hiG  klm'
s8 = s.upper()
s9 = s.lower()
print(s8)
print(s9)

 

#验证码不区分大小写案例
code = 'aeRT'
you_code = input('请输入你的验证码:')
if you_code.upper()== code.upper():
print ('验证成功')
else:
print ('验证失败') #或者 code = ('aeRT').upper()
you_code = input('请输入你的验证码:').upper()
if you_code== code:
print ('验证成功')
else:
print ('验证失败')

  

    center居中

s = '爱老虎油haha'
s10 = s.center(5,'*')#星号*不填充的话,默认填充空格
print (s10) #长度小于字符串长度,不填充
s11 = s.center(20,'*')
print (s11) #******爱老虎油haha******

    swapcse大小写反转

s = 'abC Defg hiG  klm'
s12 = s.swapcase()
print (s12)

  

    title每个单词的首字母大写(非字母的符号隔开)

s = 'abC Defg*hiG,klm'
print(s13)

 

    starswith判断以什么开头,endswith以什么结尾

s = 'abC Defg*hiG,klm'

s15  = s.startswith('a')
print (s15) s16 = s.startswith('abC',0)#0表示从第几个下标开始检测
print (s16)

  

    去除首位的空格,换行符,tab  strip

    去除左边的空格,换行符,tab       Lstrip

    去除右边的空格,换行符,tab  rstrip

s = '\n ailaohuyou\t'

print (s.strip())

print (s.lstrip())
print (s.rstrip())
name = input('请输入你的用户名').strip()
if name == 'laohu':
print ('恭喜') #也可去除两边的其他元素
ss = 'laohuyou'
print (ss.lstrip('ai'))

  

      find,index通过元素找索引

ss = 'laohuyou'

print (ss.find('u'))
print (ss.find('u',3))表示从下标为三的开始查找
print (ss.index('l'))
print (ss.find('u'))#找不到返回-1
print (ss.index('u'))#找不到报错

  

    count 寻找元素出现的个数  可切片

ss = 'laohuyou'

print (ss.count('u'))
print (ss.count('ao',0,4))#切片

  

    replace 替换

ss = 'laohuyoulao'
s16 = ss.replace('lao','xiao')#默认全部替换
s17 = ss.replace('lao','xiao',1)
print (s16)
print (s17)

  

    split 分割str-->>list

ss = ' lao h uyou lao '

print (ss.split())#默认以空格划分

ss1 = ',ai,lao,hu,you,'
print(ss.split(',')) ss2 = 'ailaoahuayou' print(ss2.split('a',2))#不写2,默认全部替换,2代表分割次数

    format格式化输出

    第一种方法

s = '我叫{},今年{},爱好{}'.format('MT',18, 'niu')
print (s)

    第二种方法

ss = '我叫{0},今年{0},爱好{2}'.format('mt',18, 'niu')
print (ss)

    第三种方法 键值对

sss = '我叫{name},今年{age},喜欢{hobby}'.format(name= 'mt' ,age=18,hobby= 'nui' )

print(sss)

  

    判断is

name = '123aa'
print (name.isalnum())#字符串由字母或数字组成
print (name.isalpha())#字符串只由字母组成
print (name.isdigit())#字符串只由数字组成 name = '123'
if name.isdigit():
name = int(name)
print (name,type(name))
else:
print('您输入的有非数字元素')

  

    len计算字符串长度

s = 'fdsakjliavn'
print (len(s))