Python随堂笔记【day02】Python基本数据类型
1. 基本数据类型
1.1 字符串(str)
字符串常用功能:
- 移除空白
- 分割
- 长度
- 索引
- 切片
下面来详细介绍下 ~
capitalize 字符串首字母大写
name = 'xmzncc'
v = name.capitalize()
print(v)
casefold 将所有大写变小写(支持多种国家语言)
name = 'Xmzncc'
v = name.casefold()
print(v)
lower 将大写变成小写(只支持英文)
name = 'Xmzncc'
v = name.lower()
print(v)
center 文本居中
参数1: 表示总长度
参数2:空白处填充的字符(长度为1)
name = 'xmzncc'
v = name.center(20,'*')
print(v)
rjust,ljust 左右填充,包含自身长度
name = 'xmzncc'
v = name.rjust(20,'*')
print(v)
name = 'xmzncc'
v = name.ljust(20,'*')
print(v)
count 表示传入之在字符串中出现的次数
参数1: 要查找的值(子序列)
参数2: 起始位置(索引)
参数3: 结束位置(索引)
name = 'asdasdjasdhaiuyeluqjh'
v = name.count('as')
print(v)
endswith 是否以xx结尾
name = 'xmzncc'
v = name.endswith('cc')
print(v)
startswith 是否以xx开头
name = 'xmzncc'
v = name.startswith('xm')
print(v)
index 找到指定子序列索引的所在位置
name = 'xmzncc'
v = name.index('c')
print(v)
find 找到指定子序列索引的所在位置,不存在返回 -1,不报错
与index 不同,index找不到报错
name = 'xmzncc'
v = name.find('f')
print(v)
format 字符串格式化
tpl = '我是:{0};年龄{1};性别{2}'
v = tpl.format('fcc',18,'man')
print(v)
isalnum/isalpha 是否是数字、汉字
name = 'xmzncc范春成'
v = name.isalnum()
print(v)
v2 = name.isalpha()
print(v2)
isdecima/isdigit/isnumeric 判断是否是数字
isdecima 仅可以判断阿拉伯数字
isdigit 可判断阿拉伯数字、②
isnumeric 可判断阿拉伯数字、②、三
name = '2'
v1 = name.isdecimal()
print(v1)
v2 = name.isdigit()
print(v2)
v3 = name.isnumeric()
print(v3)
isidentifier 是否为表示符
内置关键字除外
name = 'xmzncc'
v = name.isidentifier()
print(v)
islower 是否全部为小写
name ='Xmzncc'
v = name.islower()
print(v)
isupper 是否全部为大写
name = 'XMZNCC'
v = name.isupper()
print(v)
upper 全部变为大写
name = 'xmzncc'
v = name.upper()
print(v)
lower 全部变为小写
name = 'XMZNCC'
v = name.lower()
print(v)
isprintable 是否包含隐含的 xxx
如果有返回False
name = 'asdasdadasd\tsadasd'
v = name.isprintable()
print(v)
isspace 是否全部为空格
name = ' '
v = name.isspace()
print(v)
join 元素拼接字符串
name = 'xmzncc'
v = '_'.join(name)
print(v)
translate 对应关系再翻译
也就是说 查找到并替换
m = str.maketrans('asd','xxx')
name = "123asd890"
v = name.translate(m)
print(v)
partition 分割并且保留分割元素
name = 'xmzncc000fcc'
v = name.partition('000')
print(v)
replace 替换
可设置索引位置
name = 'xmzncc000fcc000asdasd'
v = name.replace('000','111',1)
print(v)
strip 移除空白
name = 'xmzncc\n'
v = name.strip()
print(v)
swapcase 大小写相互转换
name = 'XMznCC'
v = name.swapcase()
print(v)
zfill 填充 0
name = 'xmzncc'
v = name.zfill(20)
print(v)
字符串功能总结:
name.upper()
name.lower()
name.split()
name.find()
name.strip()
name.startswith()
name.format()
name.replace()
"xmzncc".join(["as",'bb'])
额外功能:
name[0]
name[0:3]
name[0:3:2]
len(name)
for循环,每个元素是字符
1.2 整型(int)
- 在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647
- 在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807
bit_length 当前整数的二进制表示,最少位数
age = 18
print(age.bit_length())
to_bytes 获取当前数据的字节表示
age = 18
v1 = age.to_bytes(10,byteorder='big')
v2 = age.to_bytes(10,byteorder='little')
print(v1)
print(v2)
1.3 布尔值 (bool)
- 真或假
- 1 或 0
- False or True
1.4 列表
append 追加
user_list = ['xmzncc','asd','fcc']
user_list.append('123')
print(user_list)
clear 清空
user_list = ['xmzncc','asd','fcc']
user_list.clear()
print(user_list)
copy 拷贝(浅拷贝)
user_list = ['xmzncc','asd','fcc']
v = user_list.copy()
print(v)
count 计数
user_list = ['xmzncc','asd','fcc','xmzncc']
v = user_list.count('xmzncc')
print(v)
extend 扩展原列表
user_list = ['xmzncc','asd','fcc']
user_list.extend(['qwe'])
print(user_list)
index 查找元素索引
user_list = ['xmzncc','asd','fcc']
v = user_list.index('xmznc')
print(v)
pop 删除索引,获取元素
user_list = ['xmzncc','asd','fcc']
v = user_list.pop(0)
print(v)
print(user_list)
remove 删除元素
user_list = ['xmzncc','asd','fcc']
v = user_list.remove('xmzncc')
print(v)
print(user_list)
reverse 翻转
user_list = ['xmzncc','asd','fcc']
user_list.reverse()
print(user_list)
sort 排序
从大到小
nums = [11,12,13,4,6,7,99,101]
nums.sort()
print(nums)
从小到大
nums = [11,12,13,4,6,7,99,101]
nums.sort(reverse=True)
print(nums)
1.5 元组(tuple)
元祖为不可被修改的列表,不可变类型
基本操作:
- 索引
- 切片
- 循环
- 长度
- 包含
以下为详细介绍 ~
count 查找元素个数
user_tuple = ('xmzncc','asd','fcc')
v = user_tuple.count('xmzncc')
print(v)
index 获取元祖中第一个元素的索引位置
user_tuple = ('xmzncc','asd','fcc','xmzncc')
v = user_tuple.index('xmzncc')
print(0)
1.6 字典
get 根据key值去对应的value
取不到值返回None,不报错
dic = {'k1':'v1','k2':'v2'}
v = dic.get('k1')
print(v)
clear 清空
dic = {'k1':'v1','k2':'v2'}
v = dic.clear()
print(dic)
copy 拷贝(浅拷贝)
dic = {'k1':'v1','k2':'v2'}
v = dic.copy()
print(dic)
pop 删除并获取对应的value值
dic = {'k1':'v1','k2':'v2'}
v = dic.pop('k1')
print(dic)
print(v)
popitem 随机删除键值对,并获取到删除的键值
dic = {'k1':'v1','k2':'v2'}
v = dic.popitem()
print(v)
print(dic)
setdefault 增加,如果key值存在则不操作
dic = {'k1':'v1','k2':'v2'}
dic.setdefault('k3','v3')
print(dic)
update 批量增加或修改
dic = {'k1':'v1','k2':'v2'}
dic.update({'k3':'v3','k4':'v4'})
print(dic)
1.7 集合(set)
集合,不可重复的列表,可变类型
difference s1中存在,s2中不存在
s1 = {'xmzncc','fcc'}
s2 = {'alex','wusir'}
v = s1.difference(s2)
print(v)
s2中存在,s1中不存在
s1 = {'xmzncc','fcc','test'}
s2 = {'alex','wusir','xmzncc'}
v = s2.difference(s1)
print(v)
difference_update s1中存在,s2中不存在,然后对s1清空,然后在重新赋值
s1 = {'xmzncc','fcc','test'}
s2 = {'alex','wusir','xmzncc'}
s1.difference_update(s2)
print(s1)
symmetric_difference s1与s2bu不同处
s1 = {'xmzncc','fcc','test'}
s2 = {'alex','wusir','xmzncc'}
v = s1.symmetric_difference(s2)
print(v)
intersection s1与s2交集处
s1 = {'xmzncc','fcc','test'}
s2 = {'alex','wusir','xmzncc'}
v = s1.intersection(s2)
print(v)
union 并集
s1 = {'xmzncc','fcc','test'}
s2 = {'alex','wusir','xmzncc'}
v = s1.union(s2)
print(v)
discard 移除
s1 = {'xmzncc','fcc','test'}
s1.discard('xmzncc')
print(s1)
update 更新
s1 = {"alex",'eric','tony','李泉','李泉11'}
s1.update({'alex','123123','fff'})
print(s1)

浙公网安备 33010602011771号