# 一、占位符"""
%d:可以匹配数字,一般用来匹配整型
%f:可以匹配数字,一般用来匹配浮点型
%s:可以匹配任意类型
"""#1、print格式化输出:print("%x" % (数据元组))print('%s,%d,%.2d,%.2f'%(22,1,3,3.456))#22,1,03,3.46print('%s,%d,%.2d,%.2f'%(2.2,1,3,3.451))#2.2,1,03,3.45print('%s,%d,%.2d,%.2f'%('jkk',1,3,3.455))#jkk,1,03,3.46# 语法:"使用占位符设置格式" % (实际的数据)# 需求1:从控制台输入圆的半径,计算该圆的周长和面积,圆周率可以定义为常量3.14
PI =3.14
r =float(input("请输入圆的半径:"))
length =2* PI * r
area = PI * r * r # PI * r ** 2# aprint("面积:",area,"周长:",length)# b# 注意1:占位符和实际数据的数量一定要保持一致print("面积:%f,周长:%f"%(area,length))# c# 注意2:%.nf表示保留小数点后n位,n>1 ******print("面积:%.2f,周长:%.2f"%(area,length))# 2.需求:
name ="张三"
age =10# 注意3:进行占位符格式化时,占位符和实际数据的类型需要匹配print("姓名:%s,年龄:%d"%(name,age))# 注意4:%.nd,当n大于原数字的长度,则最终显示的结果长度为n,不够的在左边补0,一般用于时间的表示print("数字:%.7d"%(3465))
# 注意1:字符串可以使用+,表示拼接,但是只能是 字符串 + 字符串print("hello"+'Python')# print('abc' + 10) # TypeError: can only concatenate str (not "int") to str# print(10 + 'abc') # TypeError: unsupported operand type(s) for +: 'int' and 'str'# //:取整【获取除法运算之后得到的整数部分】
a =10
b =7print(a // b)# 1print(5//2)# 2print(5//2.0)# 2.0print(5.0//2)# 2.0# %:求余/取模【获取除法运算之后得到的余数】print(a % b)# 3print(5.0%3)# 2.0# **:求幂/求次方print(a ** b)# 10000000print(5.0**2)#25.0print(16**0.5)# 给16开平方 4.0
3、赋值运算符
# 1.=用于定义变量或给变量重新赋值
name ='aaa'# 定义变量
name ='hello'# 重新赋值# 2.=右边只要是一个数值或可以计算出结果的表达式,都是将等号右边计算出来结果,最后给等号左边的变量赋值# =的优先级是最低的
a =4+5*2+10-5print(a)# 3.+= -= *= /= //= %= **=的工作原理:必须先定义变量,然后给变量进行相应的运算,最后给该变量重新赋值print(m)
m +=5# 等价于m = m + 5,进行指定的运算之后重新赋值print(m)
c =5
c **=2print(c)
print('%.5d'%(123456))# 123456print('%.5d'%(456))# 00456print('='*20)# 一、bin,oct,hex:将十进制转换为对应的二进制,八进制和十六进制
a =10
x1 =bin(a)
x2 =oct(a)
x3 =hex(a)print(x1,x2,x3)# 0b1010 0o12 0xa# 二、int(value,base),base表示value的进制,也可以将二进制,八进制或者十六进制转换为十进制print(int("234"))print(int("234",base=10))print(int("234",10))print(int("110",base=10))# 110print(int("110",base=2))# 6print(int("110",base=8))# 72print(int("110",base=16))# 272#练习题【面试题】print(int("0b110220",base=16))# 185664032print(2*16+2*pow(16,2)+pow(16,4)+pow(16,5)+11*pow(16,6))# 185664032# print(int('311',2)) #ValueError: invalid literal for int() with base 2: '311'# 注意:如果在int中要使用base关键字,则value一般为字符串# print(int(234,base=10)) #TypeError: int() can't convert转换 non-string with explicit base
7、位运算符
运算符
说明
&
与
/
或
^
异或
~
取反
<<
左移
>>
右移
一个数异或一个数2次,结果仍为该数本身(a ^ b ^ b = a)
# 异或print(6^3^3)# 交换两个变量的值# 方式四:异或
a =10
b =20
a = a ^ b # a = 10 ^ 20
b = a ^ b # b = 10 ^ 20 ^ 20 = 10
a = a ^ b # a = 10 ^ 20 ^ 10 = 20print(a,b)#左移右移#4、正数的左移和右移
a =bin(10)print(a)# print(a << 2) #TypeError: unsupported operand type(s) for <<: 'str' and 'int'print(bin(10<<2))#0b101000 (左移相当于右边补0,相当于增加)print(bin(10>>2))#0b10 (右移相当于删的思想)#5、负数的左移和右移
a =bin(-10)print(a)#-0b1010print(bin(-10<<2))#-0b101000 (左移相当于右边补0,相当于增加)print(bin(-10>>2))#-0b11 (右移相当于删的思想)