python变量及数据类型知识总结(Python基础数据类型intbool)
python变量及数据类型知识总结(Python基础数据类型intbool)
基础数据类型
- 什么是数据: x = 10 10是我们要存储的数据
- 为什么分数据类型: 数据是用来表示状态的 不同的状态就应该用不同的类型的数据去表示。
数字 int
- 数字主要用于计算用
# bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length()
print(data)
布尔值 bool
- 布尔值就两种: True,False。就是反应条件的正确与否
# 真 1 true
# 假 0 false
字符串 str
- 字符串的索引与切片
- 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
a = 'sklhfsos'
print(a[0])
print(a[6])
切片就是通过索引(索引:索引:步长)截取字符串的一段 形成新的字符串(原则就是顾头不顾尾)
a = 'sklhfsos'
print(a[0:3])
print(a[0:]) # 默认到最后一个
print(a[0:-1]) # -1就是最后一个
print(a[0:-1:2]) # 加步长 在索引为零到索引为-1的区内每隔一位取值(顾头不顾尾原则)
print(a[5:0:-2]) # 反向加步长
字符串常用方法
- upper及lower使用方法
print(name.upper()) # 全部字母大写
print(name.lower()) # 全部小写
- captalize swapcase title使用方法
name = 'aBCabc'
# captalize swapcase title
print(name.capitalize()) # 首字母大写
print(name.swapcase()) # 大小写翻转
msg = 'sos abc user'
print(msg.title()) # 每个单词首字母大写
- center使用方法
# center内同居中,总长度,空白处填充
msg = 'sos'
a = msg.center(21 "&") # 21:总长度 &:空白处填充
print(a)
- count使用方法
msg = '1222322'
abc = 'sbsssbb'
msg1 = msg.count("2" 0 5) # 可切片 "2" 需查询的元素 0: 切片头索引 5: 切片尾索引(顾头不顾尾原则)
abc1 = abc.count("s" 0 )
print(abc1)
print(msg1)
- expandtabs使用方法
ke = "\tabc"
ke2 = ke.expandtabs() # \t前面的补全
# 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,
# 如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
print(ke2)
- startswith使用方法
msg = "dkfjdkfasf54"
msg1 = msg.startswith("dkf" 0 5) # startswith 判断是否以...开头(顾头不顾尾原则)
print(msg2)
- endswith使用方法
msg = "dkfjdkfasf54"
msg2 = msg.endswith("54" 0 ) # endswith 判断是否以...结尾
print(msg1) #返回bool值
- find及index寻找字符串中的元素是否存在(建议使用find)
msg = 'ssdwfasdw'
msg1 = msg.find("sda" 0 ) # find 无法跳着查元素,如果查不到元素,返回 -1
msg2 = msg.find("w" 0 ) # 查的到元素返回元素索引
msg3 = msg.index("s" 1 ) # 查的到元素返回元素索引
# msg4 = msg.index("u" 0 ) # 找不到报错
print(msg1)
print(msg2)
print(msg3)
# input(msg4)
#10行报错为
# msg4 = msg.index("u" 0 ) # 找不到报错
# ValueError: substring not found
- split分割
# split 以什么分割,最终形成一个列表此列表不含有这个分割的元素
msg = 'title tilte atre'.split("i") # 以 i 为分隔,运行后字符串不含 i
msg1 = 'title tslte atre'.split("t" 1) # 以 第一个 t 为分隔,后面的不执行
print(msg)
print(msg1)
- format使用方法
# format的三种玩法 格式化输出
s1 = '{} {} {}'.format('est' 22 'kdk3')
print(s1)
s2 = '{1} {0} {1}'.format('ss' 'tt' 'rr')
print(s2)
s3 = '{name} {age} {sex}'.format(name='kk' age='ll' sex='66')
print(s3)
- strip使用方法
# strip 去除字符串两边指定字符
name = '*egon*************'
print(name.strip('*')) # 去掉两边*
print(name.lstrip('*')) # 去掉左面*
print(name.rstrip('*')) # 去掉右面*
- replace替换使用方法
# replace
name ='xxxx say :i have one tesla my name is xxxx'
print(name.replace('xxxx' 'SB' 1)) # 将 xxxx 替换为 SB 只将第一个替换
- is系列
name='jx123'
print(name.isalnum()) # 字符串由字母或数字组成
print(name.isalpha()) # 字符串只由字母组成
print(name.isdigit()) # 字符串只由数字组成