Python小课笔记--Python基础:布尔值和空值处理

截图来自Python小课
文|仟樱雪
在Python小课-1--4节中,已经学习了:
基础模块--数据--数据类型(整数、字符串,浮点数),
基础模块--变量,
基础模块--函数(input函数、print函数,len函数,type函数,转换函数)。
基础模块--控制流(条件判断)
本节将继续学习本节继续学习:基础篇--数据
截图来自Python小课

一.基础知识:数据类型中的布尔值、空值

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;

本地Python环境运行

这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('熊猫')

结果显示:
本地Python环境运行

代码本质:
第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('女王的要求没通过')

运行结果:
本地Python环境运行

代码运行本质:针对第一个问题,在输入“是达官显贵”后,进入第二个问题,再次输入“是富可敌国”,则返回其中的结果“女王的要求通过了”。

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('女王的要求没通过')

运行结果:
本地Python环境运行

代码运行本质:针对第一个问题,在输入“善良”后,进入第二个问题,再次输入“好看”,则返回其中的结果“女王的要求通过了”。

C、关于not的运算逻辑——它只连接一个布尔值,表示相反的意思

新符号——【not】
not 运算规则:

not True      为假
not False     为真

例如:

a =5
b =-1
c =0
d =7
if a

运行结果:

False

代码本质:如果a=5 小于b=-1 且c=0 小于 d=7,则输出“True”,否则输出False;

(注:2018.11.21,Python编程,捡破烂儿的笨小孩学习小记,有用就给个小心心哟,后续持续更新ing)

你可能感兴趣的:(Python小课笔记--Python基础:布尔值和空值处理)