我是靠谱客的博主 细腻蜗牛,最近开发中收集的这篇文章主要介绍python学习笔记2补充:运算符与表达式(下)一、运算符优先级二、位运算符三、左移运算符和右移运算符四、关系运算符和关系运算表达式五、小练习六、逻辑运算符七、成员运算符(in 和 not in)八、身份运算符(is 和 is not),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一、运算符优先级
  • 二、位运算符
    • 1.按位与运算符( & )
    • 2.按位或运算符( | )
    • 3.按位异或运算符( ^ )
    • 4.按位取反运算符( ~ )
  • 三、左移运算符和右移运算符
    • 1.左移运算符(<<)
    • 2.右移运算符(>>)
  • 四、关系运算符和关系运算表达式
    • 1.关系运算符
    • 2.关系运算表达式
  • 五、小练习
  • 六、逻辑运算符
    • 1.逻辑与(and)
    • 2.逻辑或(or)
    • 3.逻辑非(not)
  • 七、成员运算符(in 和 not in)
  • 八、身份运算符(is 和 is not)

运算符与表达式(上)【在《python学习笔记:2、print&input与变量和运算符》的第八结】友情链接
python学习笔记:2、print&input与变量和运算符

一、运算符优先级

第一级**
第二级~   +   -(正负号)
第三级*    /    %    //
第四级+   -(加减)
第五级>>    <<
第六级&
第七级^
第八级<=   <    >    >=
第九级==    !=
第十级=   %=    +=    -=    //=
第十一级is    is not
第十二级in    not in
第十三级not    or    and

二、位运算符

问:什么是位运算符?

  答:按位运算符是把数字看作二进制数来进行计算。

1.按位与运算符( & )

  运算方法:相应的位数都为1,则该位的结果是1.否则为0。
  举例:

print(11 & 7)
'''
11的二进制数:1011
7的二进制数:0111
运算过程(相与):
1011
0111
----
0011
0011化为十进制数为3
所以运算结果为3
'''

2.按位或运算符( | )

  运算方法:两个二进制有一个为1,结果就为1。
  举例:

print(11 | 7)
'''
11的二进制数:1011
7的二进制数:0111
运算过程(相或):
1011
0111
----
1111
1111化为十进制数为15
所以运算结果为15
'''

3.按位异或运算符( ^ )

  运算方法:二进制的两位相异时结果为1,相同结果为0。
  举例:

print(11 ^ 7)
'''
11的二进制数:1011
7的二进制数:0111
运算过程(异或):
1011
0111
----
1100
1100化为十进制数为:12
所以运算结果为12
'''

4.按位取反运算符( ~ )

  运算方法:每个二进制数据位取反,1变0,0变1。
  举例:

print(~10)
'''
10的二进制数:1010
运算结果:-11
'''
内存中(即计算机中)存储的形式显示为10进制时
100000 101010
~101111 0101最高位为1,故(~10)为负数。因反码=补码-1,得(1111 0101) - 1=1111 0100,取反得1000 1011,即-11。

三、左移运算符和右移运算符

1.左移运算符(<<)

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

print(2 << 2)
'''
2的二进制数:0000 0001
向左移动两位:0000 0100
故运算结果为:8
'''

2.右移运算符(>>)

  各二进制位全部右移动若干位,由“>>”右侧的数字决定。

print(13 >> 2)
'''
13的二进制数:0000 1101
向右移动两位:0000 0011
故运算结果为:3
'''

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

1.关系运算符

==!=><>=<=

2.关系运算表达式

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

五、小练习

  输入一个年份判断是否是闰年。
  note:能被4整除但是不能被100整除 或者 能被400整除。

year = int(input())
if (year % 4 == 0 and year % 100 != 0 )or year % 400 == 0:
print("是闰年")
else:
print("不是闰年")

六、逻辑运算符

逻辑与and
逻辑或or
逻辑非not

1.逻辑与(and)

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

举例:

num1 = 10
num2 = 20
if num1 and num2:
print("**********")
print(num1, num2)
#编译结果:**********
10
20

note:
  短路原则
  表达式1 and 表达式2 and 表达式3 and … and 表达式n
  从左往右如果有一个值为假,则该表达式都为假,后面的都不执行了。

2.逻辑或(or)

  逻辑或运算表达式: 表达式1 or 表达式2
  值:
  表达式1的值为真,表达式2的值为真,逻辑或运算表达式为真。
  表达式1的值为真,表达式2的值为假,逻辑或运算表达式为真。
  表达式1的值为假,表达式2的值为真,逻辑或运算表达式为真。
  表达式1的值为假,表达式2的值为假,逻辑或运算表达式为假。
  即【有一个为真就为真】

举例:

num3 = 0
num4 = 1
if num3 or num4:
print("|||||||||||")
#编译结果:|||||||||||

note:
  表达式1 or 表达式2 or 表达式3 or … or 表达式n
  有一个为真,表达式为真,后面的都不执行了。

3.逻辑非(not)

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

if not 0:
print("^^^^^^^^^^^^^^^^")
#编译结果:^^^^^^^^^^^^^^^^

七、成员运算符(in 和 not in)

  in: 如果在指定的序列中找到值 返回True,否则返回False。
  not in: 如果在指定的序列中没有找到值 返回True,否则返回False。
  举例:
  假如有一个字符串str1 = "Nice to meet you"要判断“you”是否在这个字符串中的时候我们可以用成员运算符。

str1 = "Nice to meet you"
print("good" in str1)
#输出:True
print("good" not in str1) #输出:False

八、身份运算符(is 和 is not)

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

最后

以上就是细腻蜗牛为你收集整理的python学习笔记2补充:运算符与表达式(下)一、运算符优先级二、位运算符三、左移运算符和右移运算符四、关系运算符和关系运算表达式五、小练习六、逻辑运算符七、成员运算符(in 和 not in)八、身份运算符(is 和 is not)的全部内容,希望文章能够帮你解决python学习笔记2补充:运算符与表达式(下)一、运算符优先级二、位运算符三、左移运算符和右移运算符四、关系运算符和关系运算表达式五、小练习六、逻辑运算符七、成员运算符(in 和 not in)八、身份运算符(is 和 is not)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部