python中 int、str、bool使用
1.基础数字类型
int:用于计算,计数,运算等。1,2,3,100...
str:'这些内容'用户少量数据的存储,便于操作。
bool:True,False两种状态,机器反馈给用户的对,错。
list:[1,'student',True,[ ],( ),{ }...]大量的数据,各种数据类型,操作方便。
tuple:( 1,'student',True,[ ],( ),{ }...),只读列表。
dict:字典。大量的关联型数据。
{'name':'alex','name_list':[小甲鱼,小鱿鱼,村花....],'丽丽':{'name':'丽丽','sex':男}}
set:集合,{ }关系测试。
2.int
i=4
print(i.bit_length()) #查询十进制转换成二进制占用的最小位数
3.bool
数据类型之间的转化。 *****
int----->str str(int) int(str)
int----->bool 非零及True,零即为False,True----->1 False--->0
bool<--->str
(1)print(bool('alex')) #True
(2)空字符串--->bool False,非空即True
s1=' ' print(bool(s1)) #True
(3)
name=input(">>>")
if name:
print('666')
else:
print('333') #666
(4)bool---->str
print(str(True),type(str(True))) #True <class 'str'>
对字符串的下面这两部分操作:形成的都是一个新的字符串,与原来的字符串没有关系。
4.字符串的索引,切片
(1)按照索引取值,取出来的都是一个字符,形成的字符串。 s1='python1期骑士计划' s2=s1[0] print(s2,type(s2)) #p <class 'str'> s3=s1[-1] print(s3) #划
(2)按照切片取值,左含(包含)右不含(包含) s1='python1期骑士计划' s5=s1[0:6] s6=s1[ :6] s7=s1[6:] print(s5) print(s6) print(s1[1:7]) print(s7) >>>python python ython1 1期骑士计划
(3)按照切片+步长 s8=s1[:5:2] s9=s1[1::2] #如果想倒序取值,加一个反向步长(负号)。 s10=s1[-1:-6:-2] print(s8,s9) print(s10) >>>pto yhn期士划 划士期
5.字符串的常用方法
name='\t oldBody \n' (1)capitalize() 首字母大写 *** print(name.capitalize()) # oldbody (2)center 字符串居中前后填充自定义的字符 ** print(name.center(20,'*')) #** oldBody (3)upper 全部大写 lower 全部小写 ***** print(name.upper()) #OLDBODY print(name.lower()) #oldbody 应用举例 username= input('请输入用户名:') code='ADfer'.upper() your_code=input('请输入验证码:').upper() if username=='alex' and your_code==code: print('账号密码及验证码输入正确')
(4)startswith endwith 用法一样,以...开始/结束
name='pYtHon' print(name.startswith('o')) #判断是不是以o开始 False print(name.startswith('pY')) #判断 是不是以pY开始 True print(name.startswith('Y',1)) #判断 是不是以Y第一个位置开始 True print(name.startswith('Yt',1,5)) #判断 是不是以Yt是不是在1到5位置 True print(name.startswith('pYtHon')) #判断是不是以pYtHon开始 True name='pYtHon' print(name.endswith('n')) #判断是不是以n结束 True print(name.endswith('on')) #判断是不是以n结束 True print(name.endswith('n',5)) #判断是不是以n第5个位置结束 True print(name.endswith('on',1,6)) #判断on是在第1到第6个位置结束 True print(name.endswith('pYtHon')) #判断是不是以pYtHon结束 True
(5)swapcace 大小写翻转
name='pYtHon' print(name.swapcase()) #PyThON (6)title 非字母隔开的每个部分的首字母大写 ** s1='alex wusir*taibai6nvshen'
print(s1.title()) #Alex Wusir*Taibai6Nvshen (7)find 通过元素找索引,找到第一个就返回,没有此元素就返回-1 ***** index 通过元素找索引,找到第一个就返回,没有此元素就报错 print(name.find('B')) #3 print(name.find('ld')) #1 print(name.find('w')) #-1 print(name.find('o')) #0 print(name.find('d',1,-1)) #2 d是整体的索引 print(name.index('q')) #报错 (8)strip 默认去除字符串前后空格,换行符,制表符 ***** name='oldBody' name1='*alex**' name2='weralexwqwe' print(name.strip()) #oldBody print(name1.strip('*')) #alex print(name2.strip('erw')) # alexwq 可以指定去除 lstrip() 去除左边空格 rstrip() 去除右边空格 name=' oldBody ' print(name.lstrip()) print(name.rstrip())
应用场景: username=input('请输入用户名:').strip() if username=='alex': print('登陆成功.....')
(9)split 将字符串分割成列表(str--->list) s1=' alex wusir taibai' l1=s1.split() #默认按照空格分隔 print(l1) #['alex', 'wusir', 'taibai'] s2='alex, wusir,taibai' print(s2.split(' ,')) #['alex, wusir,taibai'] 按照,分隔 s3=',alex,wusir,taibai' print(s3.split(',')) #['', 'alex', 'wusir', 'taibai'] # 按照,分隔成4个 s4=' alex wusir taibai' print(s4.split(' ')) #['', 'alex', 'wusir', 'taibai'] #按照空格分隔 s5='alexlwle' print(s5.split('l',1)) #按照l进行分隔,可设置次数 ['a', 'exlwle'] 练习: print(s5.rsplit()) (10)join 自定制连接符,将可迭代对象中的元素连接起来 ***** str1='alex' s2='*'.join(str1) print(s2) # a*l*e*x (11)replace 替换 ***** str2='alex是创始人,alex很厉害,alex很帅' s3=str2.replace('alex','艾利克斯',1) #替换次数可设置 print(s3)
6.格式化输出:format
(1) s1='我叫{},今年{},性别{}'.format('小甲鱼','22','男') print(s1) (2)下标可以重复使用 s2='我叫{0},今年{1},性别{2},我依然叫{0}'.format('小甲鱼','22','男') print(s2) (3) s3='我叫{name},今年{age},性别{sex}'.format(age='22',sex='男',name='小甲鱼') print(s3)
7.is 系列
name='taibai123' name1='a123' print(name.isalnum()) #判断字符串是否由数字或字母组成 True print(name1.isdigit()) #判断全部由整数组成 False print(name.isalpha()) #判断由字母组成 False
8.公共方法
name='alexaaa'
print(name.count('a')) #判断a出现次数,并且有切片 4
print(len(name)) #判断元素的个数 7
9.for循环
将s1的字符打印出来
s1='skdqwewwwwwdffkkbbdjdsbhdhs'
方法一
index=0 while index<len(s1): print(s1[index]) index+=1
方法二
如果对于一个数据类型循环,或者是一个有限次数的时候,往往要用到for
(1)for i in s1: #for 变量 in iterable(可迭代对象:多个元素组成的数据) print(i) (2)for i in s1: #for循环的次数是和迭代对象的元素个数有关 print(666)