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
经验分享 程序员 微信小程序 职场和发展