在Python小课-1--4节中,已经学习了:
基础模块--数据--数据类型(整数、字符串,浮点数),
基础模块--变量,
基础模块--函数(input函数、print函数,len函数,type函数,转换函数)。
基础模块--控制流(条件判断)
本节将继续学习本节继续学习:基础篇--数据
一.基础知识:数据类型中的布尔值、空值
1、布尔值:True还有False,分别代表真与假。
True
False
注意:True、False的首字母大写,其他小写,这是固定写法,不能写错
2、布尔值的产生
(1)两个数据在比较时,会产生布尔值
a、比较数值是否相等,产生布尔值
例如:控制流章节,学习的“女王的烦恼”案例中:
weather = input('请回答:今晚下雨or没下雨')
if weather =='下雨':
print('我和唐僧可以在一起。')
说明:
if条件后的变量,weather里的数据和 ‘下雨’ 这个数据就是在做比较,如果两个数据相等,就为真(True);不相等,就为假(False)。
以上即为布尔值出现的时刻,在 if 语句中,后面条件为真,即True,就会继续执行 if 下面的代码。
b、比较数据类型是否相等,产生布尔值
'杭州'=='杭州' #判断左边文本是否和右边文本相等
'杭州'!='深圳' #判断左边文本是否和右边文本不相等,其中!= 代表不等于
3>5 #左边数值是否大于右边数值
3<5 #左边数值是否小于右边数值
结合print() 函数,把这些数值比较的结果显示在屏幕上,会显示布尔值True或者是False;
这4行代码的本质:
第1行代码:字符串'杭州'和字符串'杭州'做是否相等的比较,结果正确,所以打印为True。
第2行代码:字符串'杭州'和字符串'深圳'做比较,结果不相等,【!=】代表不等号,结果正确,打印为True。
第3行代码:整数3>整数5,这个比较的结果是错误的,所以打印为False。
第4行代码:整数3<整数5,这个比较的结果是正确的,所以打印为True。
小结:
Q1:【==】和【!=】,等于和不等于这2个判断条件,在判断中用得非常多,且形式特殊;
Q2:在代码中,A == B表示A和B相等,“==”表示相等关系;而变量中a=5的“=”表示赋值;
Q3:一般不会直接在代码中写下True或是False,但是它们会隐藏在代码中,当某些语句被判断为真的时候,就执行某些命令
(2)Python中默认的数据本身作为条件,被判断真假,产生布尔值
Python中已经设定好什么数据为真,什么为假,最常见的默认设置如下:
判定为假的情况有:False;0;''(空字符串);[](空列表);{}(空字典);None。
判定为真的情况有:True;任意整数,任意浮点数;有数据的字符串;有数据的列表;有数据的字典
注意:None,代表的是空值,自成一派,数据类型是NoneType,类似于excel中的“\”,无数据时的斜划线;
None和0的区别,0是整数0,并不是什么都没有
案例:整数本身作为条件,被判断真假
if 1:
print('熊猫')
结果输出:
熊猫
这行代码的本质:
输入代码:使用了条件判断的代码,终端打印出了'熊猫',说明 if 后面的条件为真,且if 后面接的不是一个条件,而是一个数字。
整数1在这里就是作为一个条件,被判断为真(True),这就是数值本身作为一个条件,被判断真假。
案例:字符串本身作为条件,被判断真假
if '开心':
print('熊猫')
if'':
print('熊猫')
结果显示:代码本质:
第1段代码:'开心'这个字符串作为一个条件时,被判定为真,因此if后面的条件满足,计算机会执行if的下一行代码;
第2段代码:而 ''(空字符串)本身作为一个条件时,被判定为假,if后面的条件为假,计算机不会执行if的下一行代码。
3、布尔值参与运算
最常见的逻辑判断是:or、and、not,三种运算,类似于Excel中的函数运算。
A、关于or的运算逻辑——两个值中一个值为真,即为真。
新符号——【or】,or 连接着两个布尔值,只要其中一个布尔值为真,运算结果就可以为真,or的中文是或的意思。
or运算的规则:
True or True 输出“为真”
True or False 输出“为真”
False or True 输出“为真”
False or False 输出“为假”
例如:
女王的烦恼中,对未来国王的要求是要么是达官显贵,要么是富可敌国,两个条件,只要其中一个为符合,就okay
v1 = input('对方是达官显贵吗?')
v2 = input('对方是富可敌国吗?')
if v1=='是达官显贵'or v2=='是富可敌国':
print('女王的要求通过了')
else:
print('女王的要求没通过')
运行结果:代码运行本质:针对第一个问题,在输入“是达官显贵”后,进入第二个问题,再次输入“是富可敌国”,则返回其中的结果“女王的要求通过了”。
B、关于and的运算逻辑——只有两个条件都为真,才为真。
新符号——【and】,and 连接着两个布尔值,必须满足两个布尔值为真,运算结果就可以为真,and的中文是且的意思。
or运算的规则:
True or True 输出“为真”
True or False 输出“为假”
False or True 输出“为假”
False or False 输出“为假”
例如:
女王的烦恼中,对未来国王的要求既要善良,也要好看,两个条件,必须同时满足,她才满意
v3 = input('对方善良吗?')
v4 = input('对方好看吗?')
if v3=='善良'and v4=='好看':
print('女王的要求通过了')
else:
print('女王的要求没通过')
运行结果:代码运行本质:针对第一个问题,在输入“善良”后,进入第二个问题,再次输入“好看”,则返回其中的结果“女王的要求通过了”。
C、关于not的运算逻辑——它只连接一个布尔值,表示相反的意思
新符号——【not】
not 运算规则:
not True 为假
not False 为真
例如:
a =5
b =-1
c =0
d =7
if a<b and c<d:
print('True')
else:
print('False')
运行结果:
False
代码本质:如果a=5 小于b=-1 且c=0 小于 d=7,则输出“True”,否则输出False;
(注:2018.11.21,Python编程,捡破烂儿的笨小孩学习小记,有用就给个小心心哟,后续持续更新ing)