Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—和Python来一场对话—Python中的运算符(2)(八)

简介: 玩转Python语法(一):面向过程

2.4.4 布尔运算符

我们的布尔运算符有以下几种需要我们掌握:and,or,not,in,not in.其实我们通过它的名字就可以知道它的含义,and就是且,or就是或,not就是否定,in就是在,not in表示不在,下面我们还是通过代码去展示它们的用途:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/6 22:30
# 欢迎大家关注AIoT相关博客~
'''
and 的用法:
1.如果and左右为bool类型:
    只有当两边同时为True,执行and操作结果才为True
    如果两边只要有一边为False,操作结果就为False
2.如果两边为int类型:
    两边只有有一边等于0,操作结果就为0
    如果两边都不为0,如 1 and 2,操作结果为and后面的数:2
'''
flag1,flag2,flag3,flag4 = True, False, True, False
print(flag1 and flag2)   # True and False
print(flag1 and flag3)   # True and True
print(flag2 and flag4)   # False and False
a, b, c, d = 0, 1, 2, -1
print(a and b)           # 0 and 1
print(b and c)           # 1 and 2
print(b and d)           # 1 and -1
print('----------------------------------')
'''
or 的用法:
1.如果or左右为bool类型:
    只有当两边同时为False,执行or操作结果才为False
    如果两边只要有一边为True,操作结果就为True
2.如果两边为int类型:
    只有两边同时等于0,执行or操作结果才为0
    如果左边不为0,如 1 or 0,操作结果为1
    如果右边不为0,如 0 or 2,操作结果为2
    如果两边都不为0,如 1 or 2,那么操作结果为1(左边的数)
从上述中可以看出,我们可以理解or为只要碰到了第一个为True或不为0的数的时候就会停止后续的判断
我们把这种性质称为惰性求值的特点
'''
flag1,flag2,flag3,flag4 = True, False, True, False
print(flag1 or flag2)   # True or False
print(flag1 or flag3)   # True or True
print(flag2 or flag4)   # False or False
a, b, c, d = 0, 1, 2, -1
print(a or b)           # 0 or 1
print(c or b)           # 2 or 1
print(b or d)           # 1 or -1
print('----------------------------------')
'''
or 的用法:
1.如果not后接bool类型:
    直接取反,True取反为False,False取反为True
2.如果not后接int类型:
    如果int类型的数为0,输出结果为True
    如果int类型的数为1,输出结果为False
'''
print(not 0)
print(not 666)
print('----------------------------------')
'''
in 和 not in 的用法:
1.in表示判断我们的目标串是否在我们的模板串中
    如果在,返回True
    如果不在,返回False
2.not in表示判断我们的目标串是否不在我们的模板串中
    如果不在,返回False
    如果在,返回True
'''
s1 = 'o'                #这里的s1就是目标串
s2 = 'hello world'      #这里的s2就是模板串
print(s1 in s2)         #判断s1 在 s2 中
print(s1 not in s2)     #判断s1 不在 s2中

image.png

2.4.5 位运算符

❗️ 注:所有的位运算都是先把数转为二进制之后的运算

位运算包涵运算符:位与(&),位或(|),左移运算符(<<),右移运算符(>>)

运算符 作用
& 对应数位都是1,结果数位才是1,否则为0
| 对应数位都是0,结果数位才是0,否则为1
<< 相当于 * 2k
>> 相当于 // 2k

这里补充一个函数:bin(),其函数的作用为,把一个十进制的数放入()中,bin()函数会把这个数转为二进制的数,二进制的数以0b开头,这一点我们在 1.Python的七十二变—*1.4 二进制与字符编码 中有提到,下面来用代码进行演示:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/6 23:24
# 欢迎大家关注AIoT相关博客~
a = 0b10010
b = 0b10101
print(bin(a & b))   # 二进制一位一位比较,只有同时为1才为1
print(bin(a | b))   # 二进制一位一位比较,只有同时为0才为0
c = 80
print(c // 2 ** 3)  # ** 的运算优先级高于 *
print(c >> 3)
print(c * 2 ** 3)   # ** 的运算优先级高于 *
print(c << 3)

image.png

2.4.6 运算符的优先级

我们在之前学习的时候都听过一句话:先乘除后加减,这的意思就是乘除的优先级是大于加减的,我们上述提到的所有运算符也都有它们的优先级顺序,我们按 优先级从高到低进行排序,排序结果如下:

**   *,/,//,%   +,-   <<,>>   &   |   <,>,==,!=,<=,>=   and   or   =

当然,这不是绝对的,我们在以前同样学过,当我们遇到(),应该先算()里面的,这一点在 Python 代码中同样适用,下面给代码演示:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/6 23:17
# 欢迎大家关注AIoT相关博客~
print(3 * (2 + 3))

image.png

*2.4.7 关于 ++ 和 –

注:本小节带 *,不需要进行学习,可以简单进行了解

⛲️ 如果你学过 C/C++,你知道,在 C/C++中有一种常用的运算符,那就是 ++和–运算符,特此声明:在 Python 语言中不存在 ++运算符和 --运算符,如果你没有学过 C/C++,那么你可以忽略本小节.


目录
相关文章
|
2月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
41 7
|
2月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
83 5
|
2月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
52 1
|
2月前
|
Python
Python运算符优先级
Python运算符优先级。
24 3
|
2月前
|
Python
Python成员运算符
Python成员运算符
32 2
|
2月前
|
Python
Python身份运算符
Python身份运算符。
27 1
|
2月前
|
Python
Python赋值运算符
Python赋值运算符。
29 2
|
2月前
|
Python
Python比较运算符
Python比较运算符。
29 2
|
2月前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!