2.2千峰教育运算符与表达式续集--自制随堂笔记

it2022-05-05  150

位运算符:

按位运算符是把数字看成二进制数来进行计算 & 按位与运算符 相应的位数都为1,则该位的结果是1,否则为0

print(5 & 7) """ 101 111 ---- 101 """

| 按位或运算符 两个二进制位有一个1时,结果为1

print(5 | 7) """ 101 111 ---- 111 """

^ 按位异或运算符 二进制的两位相异时,结果为1

print(5 ^ 7) """ 101 111 ---- 010 """

~ 按位取反运算符 每个二进制数据位取反,1变0 ,0变1

print( ~5 )

补码 11111111111111111111111111111111 原码 1000000000000000000000000001

<< 左移动运算符 各二进制位全部移动若干位,由<<右侧的数字决定,高位丢弃,低位补零

print(2 <<2) 000000010 000001000

>> 右移动运算符 各二进制位全部右移动若干位,由>>右侧的数字决定

print(13 >> 2) 00000001101 00000000011

关系运算符和关系运算表达式

==!=><>=<=等于不等于大于小于大于等于小于等于

关系运算表达式 1 + 2 > 3 +4 格式: 表达式1 关系运算符 表达式2 功能: 计算“表达式1”和“表达式2”的值 值: 如果关系成立,整个关系运算符表达式的值为真,否则为假

逻辑运算符

逻辑与 and 逻辑与运算表达式: 表达式1 and 表达式2 值: 如果表达式1的值为真,表达式2的值也为真,整体逻辑与运算表达式的值为真 如果表达式1的值为真,表达式2的值也为假,整体逻辑与运算表达式的值为假 如果表达式1的值为假,表达式2的值也为真,整体逻辑与运算表达式的值为假 如果表达式1的值为假,表达式2的值也为假,整体逻辑与运算表达式的值为假 【有一个为假就为假】

num1 = 10 num2 = 20 if (num1 + 1) and (num2 + 1): print("*******************") print(num1, num2)

短路原则 表达式1 and 表达式2 and 表达式3 and ······ 表达式3 and ········ and 表达式n

逻辑或 or 逻辑或运算表达式: 表达式1 or 表达式2 值: 表达式1的值为真,表达式2的值为真,逻辑或运算表达式为真 表达式1的值为真,表达式2的值为假,逻辑或运算表达式为真 表达式1的值为假,表达式2的值为真,逻辑或运算表达式为真 表达式1的值为假,表达式2的值为假,逻辑或运算表达式为假 【有一个为真就为真】 短路原则 表达式1 or 表达式2 or 表达式3 or ······ 表达式3 or ········ or 表达式n

num3 = 0 num4 = 1 if num3 or num4: print("%%%%%%%%%%%%%%%")

逻辑非 not 逻辑非运算符表达式: not 表达式 值: 如果表达式的值为真,整体逻辑非运算表达式为假 如果表达式的值为假,整体逻辑非运算表达式为真 【颠倒黑白】

if not 0: print("[==----------")

成员运算符

in 如果在指定的序列中找到值返回Ture,否则返回False not in 如果在指定的序列中没有找到值返回Ture,否则返回False

身份运算符

is 判断两个标识符是不是引用同一个对象 is not 判断两个标识符是不是引用不同的对象

运算符优先级

最高级1,** 2,~ + - 正负号(一元加减) 3, * / % // 4, + - 5, << >> 6, & 7, - | 8, <= < > >= 9,== != 10,= %= += -= //= 11,is is not 12,in not in 13,not or and

从控制台输入一个年份,判断是否是闰年

能被4整除但是不能被100整除 或者 能被400整除

year = int(input("请输入年份:")) if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0): print("yes") else: print("no")

最新回复(0)