Python全系列 教程
3567个小节阅读:5929.2k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Python2中没有布尔值,直接用数字0
表示False
, 用数字1
表示True
。
Python3中,把True
和False
定义成了关键字,但他们的本质还是1
和0
,甚至可以和数字相加。
在Python语言底层,会将布尔值True看作1,将布尔值False看作0,尽管从表面上看,True和1、False和0是完全不同的两个值,但实际上,它们是相同的。
在Python语言中有一些特殊的布尔类型值为False,例如False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。其他情况,均为True。
xxxxxxxxxx
a = True
b = 3
c = a+b #c的值是:4
print(c)
print('空字符串的布尔类型的值:',bool("")) #False
print('空列表布尔类型的值:',bool([])) #False
print('None布尔类型的值:',bool(None)) #False
print('0布尔类型的值:',bool(0)) #False
print('字符串True和False转成布尔都是True:',bool("False")) #True
运算符 | 格式 | 说明 |
---|---|---|
or 逻辑或 | x or y | x为true,则不计算y,直接返回true;x为false,则返回y |
and 逻辑与 | x and y | x为true,则返回y的值x为false,则不计算y,直接返回false |
not 逻辑非 | not x | x为true,返回false;x为false,返回true |
xxxxxxxxxx
#测试逻辑运算符
a,b,c=10,20,30
print((a<b) and (b<c)) #and并且 输出结果是True
print((a>b) or (b>c)) #or或者 输出结果是False
print(not(b<c)) #not非 输出结果是False
所有比较运算符返回1
表示真,返回0
表示假。这分别与特殊变量True
和False
等价。
以下假设变量a为15
,变量b为30
:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象的值是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象的值是否不相等 | (a != b) 返回 true. |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
xxxxxxxxxx
a = 4
print(a<=30)
#关系运算符可以连用
if(3<a<10):
print("a在3和10之间")
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如表所示。
运算符 | 描述 |
---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则0 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果为就为1. |
^ | 按位异或运算符:当两对应的二进制位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制取反,既把1变为0,把0变为1,~x类似于-x-1 |
<< | 左移动运算符:运算数的每个二进位全部左移若干位,由”<<”右边的数据指定移动的位数,高位丢弃,低位补0 |
>> | 右移动运算符:把”>>”左边运算数的每个二进制位全部右移若干位,”>>”右边的数指定移动的位数 |
xxxxxxxxxx
a = 0b11001
b = 0b01000
print(bin(a|b)) #bin()可以将数字转成二进制表示 '0b11001'
print(bin(a&b)) #与
print(bin(a^b)) #异或
print(3<<2) #左移1位相当于乘以2.左移两位相当于:3*4
print(20>>1) #右移移位相当于除以2
3+2
结果是 5
“3”+“2”
结果是 “32”
[10,20,30]+[5,10,100]
结果是[10,20,30,5,10,100]
3*2
结果是 6
“sxt”*3
结果是 ”sxtsxtsxt”
[10,20,30]*3
结果是 [10,20,30,10,20,30,10,20,30]
复合赋值可以让程序更加精炼,提高效率。
运算符 | 描述 | 示例 | 等价于 |
---|---|---|---|
+= | 加法赋值字符串拼接 | sum += na += “sxt” | sum = sum + na = a + “sxt” |
-= | 减法赋值 | num1 -= n | num = num - n |
*= | 乘法赋值 | a *= b | a = a * b |
/= | 浮点除赋值 | a/=b | a = a / b |
//= | 整数除赋值 | a//=b | a = a//b |
%= | 取余赋值 | a%=b | a = a % b |
**= | 幂运算赋值 | a**=2 | a = a**2 |
<<= | 左移赋值 | a<<=2 | a = a<<2 |
>>= | 右移赋值 | a>>=2 | a = a>>2 |
&= | 按位与赋值 | a&=b | a = a&b |
|= | 按位或赋值 | a|=b | a=a|b |
^= | 按位异或赋值 | a^=b | a = a^b |
⚠️与C
和JAVA
不一样,Python
不支持自增(++)和自减(--)
实时效果反馈
1. python中关于布尔类型说明,错误的是:
A bool("")
结果是:False
B bool(0)
结果是:False
C bool("False")
结果是:False
D c=True+5
结果是:6
2. 如下代码,正确结果是:
xxxxxxxxxx
a,b,c=10,20,30
print((a<b) and (b<c))
print((a>b) or (b>c))
print(not(b<c))
A False
False
False
B False
True
False
C False
False
True
D True
False
False
答案
1=>C 2=>D