用于计算和比较,在python3中所有的整数都是int类型
二进制和十进制的转换
十进制转换成二进制:
正整数转换成二进制:除二取余,倒序排列,高位补零
14 % 2 = 0
7 % 2 = 1
3 % 2 = 1
1 % 2 = 1
0
14转换为二进制为:0000 1110
负整数先转换成对应的正整数,转换成二进制,对二进制取反,再对结果加一
二进制转换成十进制:
先将二进制补齐位数,如果首位是0代表是正整数,首位是1代表是负整数
正整数:补齐位数后,将二进制中的位数分别将下边对应的值相乘,然后相加得到十进制
1010
# 先补齐位数 => 0000 1010 128 64 32 16 8 4 2 1 常用的8位
2**3 *1 + 2**2 * 0 + 2**1 * 1 + 2**0 * 0 = 10
负整数,先对二进制取反,再进行换算
bit_length()
求十进制数转换成二进制时所占用的长度
True 真 非0数字 非空字符串
False 假 0 空字符串
类型转换:想要转换成什么类型,就用这个类型把需要转换的内容括起来
a = "hahahahaha"
b = "123456"
c = 123456
a1 = bool(a) => True
b1 = int(b) => 123456
c1 = str(c) => "123456"
用于储存小量的数据
python中用‘ ‘," ",‘‘‘ ‘‘‘,""" """括起来的就是字符串
常用操作
索引: 索引就是下标,从左向右, 从0开始;从右向左,从-1开始
num = "1234567890"
print(num[1]) => 2
print(num[4]) => 5
print(num[-1]) => 0
print(num[-2]) => 9
print(num[21]) # 索引超出范围,报错
切片:使?索引来截取部分字符串的内容
语法: str[start: end: step]
规则: 顾头不顾尾, 从start开始截取, 截取到end位置,但不包括end。
num = "0123456789"
num[::] == num[:] # 从头取到尾
print(num[0:3]) => 012 # 不包含索引3对应的"3"
print(num[5:8]) => 567
print(num[5:]) => 56789 # 想取到最后,end可以不写
print(num[5:20]) => 56789 # 索引超出范围,不会报错
print(num[-1:-5:-1]) => 9876 # step步长决定取值的方向,默认为1
print(num[1:7:2]) => 135 # str步长决定取值的步子大小,即每step个取一个
常用方法
name = "Hello World"
print(name.upper()) => HELLO WORLD 字母全部转换成大写
print(name.lower()) => hello world 字母全部转换成小写
print(name.startswith("H")) => True 是否以"H"开头
print(name.endswith("d")) => True 是否以"d"结尾
print(name.count("o")) => 2 统计"o"出现的次数
print(name.replace("H","A",次数) => Aello World # 将H替换成A,默认全部替换,可以输入替换次数
a = " Alex "
print(a.strip()) => Alex # 去掉两端的某些元素,()内可以指定元素,默认是空白(空格和\n)
b = "1,2,3"
print(b.split(",")) => ["1","2","3"] # 分割,可以指定用于分割的元素,分割后损失这个元素,默认以空格分隔,返回一个列表。
name.isdigit() # 判断是不是阿拉伯数字,有漏洞
name.isdecimal() # 判断是不是十进制,可以用于判断数字
name.isalpha() # 判断是不是中文和字母
name.isalnum() # 判断是不是中文,字母和数字
第三种字符串格式化
name = "alex{}wusir{}"
print(name.format("结婚了","要结婚了")) # 按照位置顺序填充
name = "alex{1}wusir{0}" # 按照索引位置填充
print(name.format("结婚了","要结婚了"))
name = "alex{a}wusir{b}"
print(name.format(a="结婚了",b="要结婚了")) # 指名道姓填充
计算字符串的?度
len(字符串) -- 工厂函数 -- 所有类型都能用,除了int和bool 求元素个数
for循环
# for 变量 in 可迭代对象:
# pass
s = "1234567890"
for each in s: # 遍历字符串
print(each) # 1 2 3 4 5 6 7 8 9 0
print(each) # 0 注意
占位符
pass :占位符
range
语法range(start,end,step): 范围,从start到end,不包含end,步长step默认是1
python3中打印range()会打印本身,python2中会打印出列表
for each in range(1,10):
print(each)
# 1 2 3 4 5 6 7 8 9
原文:https://www.cnblogs.com/douzi-m/p/11904683.html