一整体初识数据类型
1.1int
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数
i = 4
print(i.bit_length())
v = 11
print(v.bit_length())
输出结果分别为 3 ,4
1.2bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
1.3str
1.3.1、字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
s = 'abcdefghijklmn'
print(s[0]) #输出结果 a
print(s[1]) #输出结果 b
print(s[5]) #输出结果 f
print(s[8]) #输出结果 i
print(s[-1]) #输出结果 n
print(s[-3]) #输出结果 l
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾首不顾尾)
s = 'abcdefghijklmn'
print(s[0:7]) #输出结果:abcdefg
print(s[1:7]) #输出结果:bcdefg
print(s[0:]) #输出结果:abcdefghijklmn
print(s[5:0:-1]) #-1反向加步长 输出结果:fedcb
print(s[-1:-5:-1]) #第一个-1就是最后一个,第二个-1反向加步长 输出结果:nmlk
print(s[-1:-5:-2]) #-2反向加步长 输出结果:nl
1.3.2、字符串常用方法
*capitalize()首字母大写,其他字母小写
s = 'alex wuSir'
print(s.capitalize()) # 输出结果:Alex wusir
capitalize
*swapcase()大小写反转
s = 'alex wuSir'
print(s.swapcase()) # 输出结果:ALEX WUsIR
swapcase
*title()非字母隔开的部分,首字母大写,其他小写
s = 'alex wuSir1taibai*ritian'
print(s.title()) #输出结果:Alex Wusir1Taibai*Ritian
title
***upper() 全部大写
***lower() 全部小写
s = 'alexawuSir'
print(s.upper()) #输出结果:ALEXAWUSIR
print(s.lower()) #输出结果:alexawusir
upper lower
在验证码用到的例子:
code = 'abCD'
you_code = input('请输入你的验证码:')
if you_code.upper() == code.upper():
print('正确')
else:
print('请重新输入')
upper的应用
*center( , )以什么居中,填充物默认空
s = 'alex wuSir'
print(s.center(20)) #输出结果: alex wuSir
print(s.center(20,'*')) #输出结果:*****alex wuSir*****
print(s.center(1)) #输出结果:alex wuSir
center( , )
expandtabs()
\t前面的补全
默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
s = 'al\tex wuSir'
print(s.expandtabs())
输出结果:al ex wuSir
expandtabs
***find()通过元素找索引,可以整体找,可以切片,找不到返回-1
index()通过元素找索引,可以整体找,可以切片,找不到会报错
s = 'alexss dhfgsdjddfdf'
print(s.find('a'),type(s.find('a')))
print(s.find('alex'),type(s.find('a')))
print(s.find('a'))
print(s.find('a',1,5))
print(s.find('L'))
输出结果:
0 <class 'int'>
0 <class 'int'>
0
-1
-1
find()
*** startswith endswith
s = 'alex wusir'
print(s.startswith('a'))
print(s.startswith('al'))
print(s.startswith('w',5))
print(s.startswith('W',5))
print(s.endswith('r'))
print(s.endswith('r',-1))
print(s.endswith('u',-4))
输出结果:
True
True
True
False
True
True
False
startswith endswith
*****strip()去除字符串前后两端的空格,换行符,tab键等
如果()内有内容,去除该内容,见例子
s = '\talex wusir\n'
s1 = 'alalelllllllxwusirbl'
print(s.strip())
print(s.lstrip())
print(s.rstrip())
print(s1.strip('lab'))
输出结果:
alex wusir
alex wusir
alex wusir
elllllllxwusir
strip
strip在登录时的应用
name = input('请输入名字:').strip()
if name == 'alex':
print('somebody')
else:print('请重新输入')
strip
******split str --->list方法
s = 'alex;wusir;ritian'
s1 = 'alexalaria'
print(s.split(';'))
print(s1.split('a'))
print(s1.split('a',1))
输出结果:
['alex', 'wusir', 'ritian']
['', 'lex', 'l', 'ri', '']
['', 'lexalaria']
split
******replace
s1 = '姐弟俩一起来老男孩老男孩老男孩'
s2 = s1.replace('老','小')
s3 = s1.replace('老','小',1)
print(s2)
print(s3)
输出结果:
姐弟俩一起来小男孩小男孩小男孩
姐弟俩一起来小男孩老男孩老男孩
replace
isalnum()#字符串由字母或数字组成
isalpha()#字符串只由字母组成
isdigit()#字符串只由数字组成
name='jinxin123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成
输出结果:
True
False
False
is
************format
s = '我是{},今年{}岁,身高{}cm'.format('人',18,175)
print(s)
输出结果:
我是人,今年18岁,身高175cm
s = '我是{0},今年{1}岁,身高{2}cm,{0}民的意愿'.format('人',18,175)
print(s)
输出结果:
我是人,今年18岁,身高175cm,人民的意愿
s = '我是{name},今年{age}岁,身高{high}cm'.format(name = '人',age = 18 ,high =175)
print(s)
输出结果:
我是人,今年18岁,身高175cm
format的三种格式化输出
*********count 计算元素出现的次数
s = 'alexaaaaa wusir'
print(s.count('a'))
输出结果: 6
count的用法
***len 计算字符串位数
s = 'alex'
s1 = 'afd dfb fdg '
print(len(s))
print(len(s1))
输出结果:
4
12
len
二:for循环
用户按照顺序循环可迭代对象的内容。
例子:把字符串中的元素依次打印出来
s = 'salffdsafdsag'
#用while循环的方法:
count = 0
while count < len(s):
print(s[count])
count += 1
#用for循环的方法:
for i in s:
print(i)
for循环的用法