Python的数据类型
数字(int),如1,2,3,用于计算。
字符串(str),如s = 'zxc',储存少量数据,进行操作。
布尔值(bool),True和False,用于进行判断。
列表(list),如l = ['zxc', '213', [1, 23, 4], '张新潮'],可以储存大量的数据,用于操作。
元祖,如(1, 2, 3, 'zxc'),只读,不能进行其他的操作,用于储存一些重要的不能被随意修改的数据。
字典(dict),如d = {'name': 'zxc', 'age': 24},按对应关系储存数据,方便进行一些关系对应的数据处理。
数据类型转换
int 转换为 str,使用str(int)即可将数字转换为字符串。
str 转换为 int,使用int(str)可将字符串转换为数字,但前提是这个字符串必须全部由数字组成。
int 转换为 bool
# int转换为bool 零为False 非零的为Trueprint(bool(0))print(bool(1))print(bool(54))
bool 转换为 int
# bool转换为int True为1 False为0print(int(True))print(int(False))"""while True: passwhile 1: # 效率高 pass"""
str 转换为 bool
# str转换为bool 字符串空为False 非空为True 可用于判断输入的内容是否为空print(bool(''))print(bool('zxc'))
bool 转换为 str,将字符True和False转换为了字符串,没有什么意义!
不同类型数据的操作方法
int 的bit_length方法,不常用。
# bit_length 获取数字转换为二进制后的最少位数i = 100j = 2print(bin(i), bin(j)) # bin()将十进制数字转换为二进制print(i.bit_length(), j.bit_length())
str 的索引,根据索引可以任意取出字符串中的某个元素。
# 字符串的索引 索引从0开始从左往右计数s = 'zxcWER134'print(s[2])# 获取最后两个字符 索引从后往前数从-1开始之后是-2,依次计数print(s[-1])print(s[-2])
str 的切片,根据“顾头不顾尾”的规则可以取出不同的元素组合。
# 字符串的切片 规则:顾头不顾尾s = 'zxcWER134'# 获取zxcprint(s[0:3])# 获取134print(s[6:])print(s[-3:])# 获取全部print(s[:])print(s[0:])# 跳步切片 格式:[首:尾:步长]s = 'z2xrc'print(s[::2])# 从后往前 步长为负数print(s[::-2])
str 的多个内置方法
1,使字符串首字母大写
# capitalize首字母大写s = 'zxc'print(s.capitalize())
2,使字符串居中显示
# center 字符串居中两边默认用空白填充 格式:(填充单位,填充符号)s = 'zxc'print(s)print(s.center(8))print(s.center(20, '-'))
3,使字符串完成补全排版
# expandtables 将字符串中的\t(Tab键)前面自动填充为8位,8位或8位以上的按8的倍数来填充s = 'zxc\tgood'print(s.expandtabs())s = '12345678\tgood'print(s.expandtabs())
4,使字符串大小写翻转
# swapcase大小写翻转s = 'zxcZXCzxc'print(s.swapcase())
5,使字符串中特定的字母大写
# title 每个被特殊字符和数字隔开的单词的首字母大写s = 'zxc is%good2boy'print(s.title())
6,使字符串全部大写或全部小写
# upper全部大写 lower全部小写s = 'zxcZXC'print(s.upper())print(s.lower())# 可用于验证码不区分大小写v_code = 'zxc4LU'you_input = input('输入验证码,不区分大小写:')if you_input.upper() == v_code.upper(): print('验证码输入正确!')else: print('验证码不正确,重新输入!')
7,获取字符串,列表,字典的长度
# len 获取字符串,列表,字典的长度s = 'zxcisgood'l = ['zxc', 'is', 'good']d = { 'name': 'zxc', 'age': 24}print(len(s))print(len(l))print(len(d))
8,判断字符串是否是由某个元素开头或结尾
# startswith或endswith 判断字符串是否是由某个元素开头或结尾s = 'zxcisgood'print(s.startswith('zxc'))print(s.endswith('good'))
9,查找一个元素是否在字符串中
# find 通过元素找到索引,找不到返回-1# index 通过元素找到索引,找不到报错s = 'zxcisgood'print(s.find('zxc'))print(s.find('zxf'))print(s.index('zxc'))# print(s.index('zxf')) # 会报错
10,删除字符串前后的指定元素
# strip 删除字符串前后的指定元素,默认删除空格s = ' zxc 'print(s.strip())s = '%zxc&%&'print(s.strip('%&'))s = '2222zxc111'print(s.strip('12'))# rstrip 只删除右边的print(s.rstrip('12'))# lstrip 只删除左边的print(s.lstrip('12'))# 可以用于避免用户输入账号时不小心加空格引起的错误username = 'zxc'name = input('输入你的账号:').strip()if name == username: print('正确!')
11, 判断某个元素在字符串或列表中出现的次数
# count 用于判断某个元素在字符串或列表中出现的次数s = 'zxcisgoodis'l = ['zxc', 'is', 'good', 'is']print(s.count('is'))print(s.count('z'))print(l.count('is'))
12,以一定的规则将字符串转换为列表
# split 字符串转换为列表 默认以空格为依据来分割s = 'zxc is good's1 = 'zxc,is,good'print(s.split())print(s1.split(','))
13,format 格式化输出
# format 格式化输出# 按顺序前后对应s = '我叫{},今年{},爱好是{},我是{}我为自己代言'.format('zxc', 24, '读书', 'zxc')print(s)# 只要索引对应即可s = '我叫{0},今年{1},爱好是{2},我是{0}我为自己代言'.format('zxc', 24, '读书')print(s)# 顺序无需对应s = '我叫{name},今年{age},爱好是{hobby},我是{name}我为自己代言'\ .format(hobby='读书', age=24, name='zxc')print(s)
14,字符串中的元素替换
# replace 用新的元素替换字符串里面的某元素 格式:(old,new,替换个数)默认替换全部s = 'zxcisgoodzxcisbad'print(s.replace('zxc', 'zxf'))print(s.replace('zxc', 'zxf', 1))
15,判断某个字符在或者不在这个字符串,列表,字典里
# in (not in) 判断某个字符在或者不在这个字符串,列表,字典里s = 'zxcisgood'l = ['zxc', 'is', 'good']d = { 'name': 'zxc', 'age': 24}if 'zxc' in s: print('含有zxc')if 'zxc' in l: print('含有zxc')if 'name' in d: print('含有zxc')if 'zxf' not in s: print('不含有zxf')
16,遍历字符串,列表,字典里的元素
# for i in 字符串,列表,字典 遍历其中的元素s = 'zxcisgood'l = ['zxc', 'is', 'good']d = { 'name': 'zxc', 'age': 24}for i in s: print(i)for i in l: print(i)for i in d: print(i)
17,判断字符串是否是以数字组成
s = '12345's1 = '12d34'print(s.isdigit()) # Trueprint(s1.isdigit()) # False