Python基础教程—格式化输出、进制转换、位运算
一、格式化输出
字符串进行格式化:
%s 字符串 string
%d 整数 digit
%f 浮点数 float
name = 张杰 age = 26 # 我喜欢听26岁的张杰唱歌 print(我喜欢听+str(age)+岁的+name+唱歌) print(我喜欢听%d岁的%s唱歌! % (age,name)) money = 999.97 # 26岁的张杰一首歌赚999.97元 print(%d的%s一首歌赚%f元 % (age,name,money)) #26的张杰一首歌赚999.970000元 print(%s的%s一首歌赚%s元 % (age,name,money)) # str(age) 26的张杰一首歌赚999.97元 print(%d的%s一首歌赚%.2f元 % (age,name,money))
二、进制转换
1、进制类型
二进制:0,1 前缀:0b
八进制:0,1,2,3,4,5,6,7 前缀:0o
十进制:0-9
十六进制:0-9,a-f 前缀:0x
十进制 ---> 二进制 除2求余 八进制 --- 十进制 除8 n = 149 # 转二进制 number = bin(n) # binary print(number) # 转八进制 result = oct(n) print(result) # 转十六进制 result = hex(n) print(result)
2、转换
bin() int() oct() hex()
n = 0x558 result = int(n) print(result) result = bin(n) print(result) result = oct(n) print(result) x = 0b10010101 print(int(x))
三、位运算
针对二进制进行的运算:& | ^ ~ <<(左移) >>
n1 = 0b0110 # 6 n2 = 0b0010 # 2 print(n1 & n2) # 2 1为真 0为假 n1 = 0b0110 n2 = 0b0010 0b0010----十进制 2 print(n1 | n2) # 6 异或:上下两个数位相同为0,不同为1 print(n1 ^ n2) 二进制负数表示: 原码 0110 反码1001 补码 反码+1 1010 # 左移、右移 n = 12 #00001100 print(n << 1) # 00110000 24 12*2 print(n << 2) # 00110000 48 12*2*2 print(n << 3) # 01100000 96 12*2*2*2 print(n >> 1) #00000110 6 12//2==6 print(n >> 2) #00000011 3 12//4==3 print(n >> 3) #00000001 1 12//8==1