v1 = 5
print(bin(v1)) # 显示v1的二进制的字符串表示: 0b101
result1 = v1.bit_length() # 二进制有多少位: 3
v2 = 10
print(bin(v2)) # 0b1010
result2 = v2.bit_length()
print(result2) # 4
类型转换:
# 布尔值转整型
n1 = int(True) # True转换为整数 1
n2 = int(False) # False转换为整数 0
# 字符串转整型
v1 = int("186",base=10) # 把字符串看成十进制的值,然后再转换为 十进制整数,结果:v1 = 186
v2 = int("0b1001",base=2) # 把字符串看成二进制的值,然后再转换为 十进制整数,结果:v1 = 9 (0b表示二进制)
v3 = int("0o144",base=8) # 把字符串看成八进制的值,然后转换为 十进制整数,结果:v1 = 100 (0o表示八进制)
v4 = int("0x59",base=16) # 把字符串看成十六进制的值,然后转换为 十进制整数,结果:v1 = 89 (0x表示十六进制)
# 浮点型(小数)
v1 = int(8.7) # 8
长整型:
在python2中跟整数相关的数据类型有两种:int(整型)、long(长整型),他们都是整数只不过能表示的值范围不同。
在python3中去除了long只剩下:int(整型),并且 int 长度不在限制。
地板除:
v1 = 9/2
print(v1) # 4.5
v1 = 9/2
print(v1) # 4
类型转化:
整型转为布尔类型:只有0
转为布尔类型时结果为False
,其他情况都是True
其他类型转为布尔类型:只有内容为空的情况转为布尔类型时结果为False
,其他情况都是True
如果在 if
、while
条件后面写一个值当做条件时,他会默认转换为布尔类型,然后再做条件判断。
if 0:
print("太六了")
else:
print(999)
if "alex":
print("你好")
else:
print("你是逗比?")
v1 = "123"
print(v1.isdecimal()) # True
v2 = "①"
print(v2.isdecimal()) # False
v3 = "123"
print(v3.isdigit()) # True
v4 = "①"
print(v4.isdigit()) # True
因此平时应该使用isdecimal()
而不是isdigit()
v1 = "王老汉"
data = v1.center(21, "-")
print(data) #---------王老汉---------
data = v1.ljust(21, "-")
print(data) # 王老汉------------------
data = v1.rjust(21, "-")
print(data) # ------------------王老汉
列表(list),是一个有序且可变的容器,在里面可以存放多个不同类型的元素。
定义
user_list = ["苍老师","有坂深雪","大桥未久"]
number_list = [98,88,666,12,-1]
data_list = [1,True,"Alex","宝强","贾乃亮"]
user_list = []
user_list.append("铁锤")
user_list.append(123)
user_list.append(True)
print(user_list) # ["铁锤",123,True]
不可变类型:字符串、布尔、整型(已最小,内部数据无法进行修改)
可变类型:列表(内部数据元素可以修改)
批量追加
tools = ["搬砖","菜刀","榔头"]
tools.extend( [11,22,33] ) # 逐一追加到tools中
print(tools) # ["搬砖","菜刀","榔头",11,22,33]
添加
user_list = ["苍老师","有坂深雪","大桥未久"]
user_list.insert(0,"马蓉")
user_list.insert(2,"李小璐")
print(user_list)