一、数据类型的转换
常用的是: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]) # 反向加步长
结果为:
abccdeabcdefgabcdefacefdb
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 endwithname = 'oldBoy'print(name.startswith('o'))print(name.startswith('ol'))print(name.startswith('B', 3)) # 查看索引为3的位置是否为Bprint(name.startswith('ld', 1, 5)) # 查看索引为1-5的位置是否有 ldprint(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'))结果为:3104报错
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 in s1: print(i)