一、数据类型的转换
常用的是: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 1 0 4 报错
4.4 字符串的重要用法
(1)strip()函数
name = '\t oldboy\n' print(name.strip()) # strip 默认去除字符串前后的空格,换行符,制表符 ***** name1 = '*alex**' name2 = 'weralexwqwe' print(name.strip()) #oldboy print(name1.strip('*')) #alex print(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 in s1: print(i)