#————————————————————————————————————————————————————————————#
#占位运算符
#在字符串中可以给出一些占位符用来表示不同类型的数据,而实际的数据值在字符串之外给出。
# 1. %d :有符号整型十进制数
# 2. %f或%F : 有符号浮点数十进制数
# 3. %s :字符串
s1="%s上次数学成绩%d,本次%d,成绩提高%f" %('小七',90,99,9/90) #百分号后面的小括号给出实际对应的数据
print(s1) #输出:小七上次数学成绩90,本次99,成绩提高0.100000
# %ns 表示这个字符串要占n个字符的长度,如果不够,在前面补空格
# %.nf 表示这个浮点数只保留n位小数(小数点后面有n位)
s1="%5s上次数学成绩%5d,本次%5d,成绩提高%.2f" %('小七',90,99,9/90)
print(s1) #输出: 小七上次数学成绩 90,本次 99,成绩提高0.10
s1="%5s上次数学成绩%05d,本次%05d,成绩提高%08.2f" %('小七',90,99,9/90)
print(s1) #输出: 小七上次数学成绩00090,本次00099,成绩提高000000.10
# %05d 表示输出这个整型数一共占5位,如果不足在前面补0,如果超过5位,按原来数值输出
# %08.2f 表示改浮点数一共占8位,不足前面用空格补齐,小数点后保留2位,其中小数点也占一位
#因为%作为占位符的前缀字符,所以对于有占位符的字符串,表示一个字符串的时候要写成"%%",这样输出的就是一个%
print("数学成绩占总成绩的%d%%" %(70)) #输出:数学成绩占总成绩的70%
#————————————————————————————————————————————————————————————#
#算术运算符
# 加减乘除 + - * / python的除法可以保留小数
print(3/2) #这里的除法结果可以是小数,这里就输出1.5,这个除号的作用和c++的 / 的作用不同
# 整除:// 模:% (x%y表示x整除y的余数,等于 x-x//y ) 乘方:** (2个*就是乘方)
print(3//2) #输出1 python的//和c++的/的效果一样,做除法时都取结果的整数部分
print(2**3) #输出8
#————————————————————————————————————————————————————————————#
#赋值运算符 要求左操作数必须是值可以修改的变量
# = += -= *= /= //= %= **=
x,y=1,3
x+=y #等价于 x=x+y 其他运算符计算原理相同,所以知道运算符的意思我们就知道这个符号的意思了
print(x) #输出4
#————————————————————————————————————————————————————————————#
#比较运算符 (返回的结果是布尔值True或False)
# ==(,等于等于,判断2个数是否相等) != (不等于) >(大于) <(小于) >=(大于等于) <=(小于等于)
#作用:对2个操作数的大小关系进行判断,如果满足返回True,否则返回False
#————————————————————————————————————————————————————————————#
#逻辑运算符
# and (用法: x and y) (与,对应C++中的 && ,只有2侧的条件都成立才为真)
# or (用法: x or y ) (或,对应C++中的 || ,其中一个为真即为真)
# not (用法: not x) (非,对应C++中的 ! ,x为False时,not x是双重否定,所以为真,否则为假)
x,y=1,2
if not y==1 :
print('true')
else:
print('false')
位运算是指对二进数进行逐位运算。
先来了解一下位运算符:
按位异或口诀:同0异1
二进制表示时如果对应位都是0或都是1,那么结果为0,如果一个为0一个为1,则结果为1。
左移一位相当于乘2操作。
右移一位相当于除2操作。



