python基本数据类型
1.进制转换
1.二进制和十进制互转
- 十进制转二进制
- 二进制转十进制
/ | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
---|---|---|---|---|---|---|---|---|---|
二进制 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
十进制 | 0 * 27 | 0 * 26 | 0 * 25 | 1 * 24 | 0 * 23 | 1 * 22 | 0 * 21 | 1* 20 |
十进制最后求和:21
其他进制转化不做要求
2.基本类型转换(str<–>bool<–>int)
1.str --> bool
bool('') == False
其他都是True
2.bool --> str
str(True) == ‘True’
3.str --> int
非数字报错
4.bool --> int
int(True) == 1
int(False) == 0
5.int --> str
转变成字符串类型
6.int --> bool
bool(0) == False
其他数字都是 True
3.int类型
- int.bit_length()
返回数字的有效二进制位数
4.str类型
s = "我爱北京天安门"
s1 = s[0]
print(s1) # 我
s2 = s[2]
print(s2) # 北
s3 = s[-2]
print(s3) # 安
s4 = s[:6] # 从零开始可以省略
print(s4) # 我爱北京天安
s5 = s[:] # 取最后一位可以不写
print(s5) # 我爱北京天安门
s6 = s[6:]
print(s6) # 门
s7 = s[:6:2]
print(s7) # 我北天
s8 = s[-1:-6:-2]
print(s8) # 门天北
大前提:对字符串的任何操作都是产生一个新的字符串,与原字符串没有关系
1.capitalize() ☆
用于首字母大写,仅限第一个字符
2.upper()、lower() ☆☆☆
- upper()
将所有字母转变成大写字母,非字母不变 - lower()
将所有字母转变成小写字母,非字母不变
3.center(width[,fill]) ☆
输出居中显示,可设置填充字符
4.swapcase() ☆
将所有字母大小写反转,非字母不变
5.title() ☆
将非字母隔开的每个单词的首字母大写
6.strip()、lstrip() 、rstrip() ☆☆☆
- strip([chars])
默认去除字符串两边的空格,换行符,制表符
可设置去除的字符
s = 'qw*awle@xyt@'
# 可设置去除的字符
s6 = s.strip('qyt@w*')
print(s6) # awle@x
- ltrip([chars])
默认去除字符串左边的空格,换行符,制表符 - rtrip([chars])
默认去除字符串右边的空格,换行符,制表符
7.split()、rsplit() ☆☆☆
1.split()
从左边开始分割
- 默认按照空格、制表符(\t)、换行(\r)、回车(\n)分割
s = '武大 小潘\t西门'
l = s.split()
print(l) # ['武大', '小潘', '西门']
- 指定字符分割
s = '武大a小潘a西门'
l = s.split('a')
print(l) # ['武大', '小潘', '西门']
2、rsplit()
从右边开始分割
- 其他同split()
8.join() ☆☆☆
将序列中的元素以指定的字符连接生成一个新的字符串
操作列表时,列表里面的内容必须全部是字符串类型
用法:连接符.join(iterable)
s = 'yxl'
s7 = '*'.join(s)
print(s) # 'y*x*l'
l1 = ['wu', 'li', 'zhou']
s7 = ','.join(l1)
print(s7) # 'wu, li, zhou'
9.startswith()、endswith() ☆☆☆
- startswith()
判断以什么为开头 可以切片
s = 'aaaatailiang'
s8 = s.startswith('ta', 4, 9)
print(s8) # True
- endswith()
判断以什么为结尾 可以切片
10.find()、index() ☆☆
- find()
通过元素获取其索引,找到第一个就返回,找不到会返回-1 - index()
通过元素获取其索引,找到第一个就返回,找不到会报错
s = 'tailiang'
s9 = s.find('ai')
print(s9) # 1
s9 = s.find('a',2,)
print(s9) # 4
s9 = s.index('W') # 找不到报错
11.replace() ☆☆☆
把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
s = 'wo 是一个很nb的人,非常nb,太nb了'
s10 = s.replace('nb', 'sb')
print(s10) # wo 是一个很sb的人,非常sb,太sb了
s10 = s.replace('nb', 'sb', 2)
print(s10) # wo 是一个很sb的人,非常sb,太nb了
12.format() ☆☆☆
一种格式化字符串的函数
- 方法一
s = '我叫{},今年{},性别{}'
s11 = s.format('美龙', '23', 'man')
print(s11) # 我叫美龙,今年23,性别man
- 方法二
s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}'
s11 = s.format('美龙', '23', 'man')
print(s11) # 我叫美龙,今年23,性别man,我依然叫美龙美龙美龙
- 方法三
s = '我叫{name},今年{age},性别{sex},我依然叫{name}'
s11 = s.format(name='美龙', sex='man', age='23')
print(s11) # 我叫美龙,今年23,性别man,我依然叫美龙
如果需要输出{},请用双大口号包起来,{{}}
s = '我叫{{{name}}}'
s11 = s.format(name='美龙')
print(s11) # 我叫{美龙}
13.is系列
- isalnum() ☆☆
字符串由字母、中文或数字组成 - isalpha() ☆☆
字符串只由字母、中文组成 - isdigit() ☆☆☆
字符串只由数字组成
14.count() ☆☆
字符串某个字符出现的次数
15.len() ☆☆☆
获取字符串的字符个数,总长度
5.for循环
for 有限循环
for循环结构
for 变量 in iterable:
pass
else:
pass
s = "123456789"
for c in s:
print(c)