一、数据类型的转换
常用的是:int 转str、str转int。int转bool 时 非零即为 True 。
#数据类型之间转换 *****#int str str(int) int(str)#int ---> bool : 非零即为True,零即为False, True ---> 1 False ---> 0#bool --->str :#print(bool('Alex')) --->True#空字符串 ---> bool False#s1 = '' 空字符串不是指空格#print(bool(s1)) # 非空即为True
二、数字int
数字主要是用来计算、计数、运算的,使用方法并不是很多,就记住一种就可以:
# 查询十进制转化成二进制时占用的最小位数
i = 2
print(i.bit_length()) # 查询十进制转化成二进制时占用的最小位数
三、布尔值bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
四、字符串Str的用法
4、1字符串的索引
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
#字符串的索引
s1 = 'abcdefg'
print(s1[0])print(s1[3])print(s1[5])
输出结果为:
a d f
4、2字符创的切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
#字符串的切片
s1 = 'abcdefg'
print(s1[0:3])print(s1[2:5])print(s1[0:]) #默认到最后
print(s1[0:-1]) #-1就是最后一位
print(s1[0:5:2]) #加步长
print(s1[5:0:-2]) #反向加步长
结果为:
abc
cde
abcdefg
abcdef
ace
fdb
4、3字符串的常用方法
#首字母大写
name = 'oldBoy'
print(name.capitalize()) #首字母大写
#center 字符串居中前后填充自定义的字符 **
name = 'oldBoy'
print(name.center(20,'*'))
#upper 全大写 lower 全小写
name = 'oldBoy'
print(name.upper())print(name.lower())print(name)
#startwith endwith
name = 'oldBoy'
print(name.startswith('o'))print(name.startswith('ol'))print(name.startswith('B', 3)) #查看索引为3的位置是否为B
print(name.startswith('ld', 1, 5)) #查看索引为1-5的位置是否有 ld
print(name.startswith("oldBoy")) # 结果都为 True
#swapcase 大小写翻转 **
name = 'oldBoy'
print(name.swapcase())
结果为
OLDbOY
#title 非字母隔开的每个部分的首字母大写 **#print(name.swapcase())
s1 = 'alex wusir*taibai6nvshen'
print(s1.title()) #title 非字母隔开的每个部分的首字母大写 **
结果为
Alex Wusir*Taibai6Nvshen
#title 非字母隔开的每个部分的首字母大写 **#print(name.swapcase())
s1 = 'alex wusir*taibai6nvshen'
print(s1.title()) #title 非字母隔开的每个部分的首字母大写 **
结果为
Alex Wusir*Taibai6Nvshen
#find 通过元素找索引,找到第一个就返回,没有找到此元素就返回-1 *****#index 通过元素找索引,找到第一个就返回,没有找到次元素就报错 *****
name = 'oldBoy'
print(name.find('B'))print(name.find('ld'))print(name.find('o'))print(name.find('o', 1, -1))#print(name.index('q'))
结果为:3
104报错
4.4 字符串的重要用法
(1)strip()函数
name = '\t oldboy\n'
print(name.strip()) #strip 默认去除字符串前后的空格,换行符,制表符 *****
name1 = '*alex**'name2= 'weralexwqwe'
print(name.strip()) #oldboyprint(name1.strip('*')) #alexprint(name2.strip('erw')) #alexwq
(2) split()函数
#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(','))
s4= 'alex wusir taibai'
print(s4.split(' '))
s5= 'alexlwle'
print(s5.split('l',1)) #可设置分割次数
(3)jion()函数
str1 = 'alex'
#join 自定制连接符,将可迭代对象中的元素连接起来 *****
s2 = '*'.join(str1)
s2= '_'.join(str1)print(s2)
(4)replace()函数
str2 = 'alex 是创始人,alex很nb,alex ....'
#replace *****
s3 = str2.replace('alex','SB') #SB 是创始人,SB很nb,SB ....#s3 = str2.replace('alex','SB',1) # 替换次数可设置
print(s3)
(5)format()函数 格式化输出
s1 = '我叫{},今年{},性别{}'
#三种方式#第一种
s2 = '我叫{},今年{},性别{}'.format('太白','28','男') # 我叫太白,今年28,性别男print(s2)#第二种
s3 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('太白', '28', '男')print(s3)#第三种
s4 = '我叫{name},今年{age},性别{sex}'.format(age='28', name='太白', sex='男')print(s4)
(6)is系列
name = 'taibai'name1= 'a123'
print(name.isalnum()) #数字或字母组成
print(name1.isdigit()) #判断全部是由整数组成
print(name.isalpha()) #全部由字母组成
(7)公共方法 count()函数 与 len ()函数
name = 'alexaaa'
print(name.count('a')) # 有切片
print(len(name))
5、for 循环
s1 = 'fdjsafjsdkla' #循环打印s1的每个字符
for i ins1:print(i)