##认识个新朋友

>>> input("请输入你的姓名:")
请输入你的姓名:白加黑
'白加黑'
>>>
>>>help(input)
input(prompt=None, /)Read a string from standard input.  The trailing newline is stripped.The prompt string, if given, is printed to standard output without a trailing newline before reading input.If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.On *nix systems, readline is used if available.

解读一下,input([prompt])如果存在 prompt 实参(必须是字符串类型哦),则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。

来吧展示:

>>> a=input()
1000
>>> a
'1000'
>>> b=input("请输入一个数字:")
请输入一个数字:250
>>> b
'250'
>>>
>>> type(a)
<class 'str'>
>>> type(b)
<class 'str'>

我用变量接收了input输入后返回的值,并且这个值一定是个字符串类型。

tips: nix:Ctrl-D, Windows: Ctrl-Z(如果出错请输入ctrl+D,或者win系统输入ctrl+z)
我们要编写一个程序如何控制呢,大家都知道,计算机内部是用二进制,也就是0和1来进行计算的,我们如何控制程序的流程呢,这就产生了逻辑值检测,就是检测对与错,真与假,是和否,来确定下个流程走到哪里。

“布尔”数据类型
只有两种值:True 和 False。Boolean(布尔)的首字母大写,因为这个数据类型,是根据数学家 George Boole 命名的。在作为 Python 代码输入时,布尔值 True 和 False不像字符串,两边没有引号,它们总是以大写字母 T 或 F 开头,

看官方文档解释:

任何对象都可以进行逻辑值的检测,以便在 if 或 while 作为条件或是作为下文所述布尔运算的操作数来使用。一个对象在默认情况下均被视为真值,除非当该对象被调用时其所属类定义了 bool() 方法且返回 False 或是定义了 len() 方法且返回零。
1 下面基本完整地列出了会被视为假值的内置对象:
• 被定义为假值的常量: None 和 False。
• 任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
• 空的序列和多项集: ‘’, (), [], {}, set(), range(0)
产生布尔值结果的运算和内置函数总是返回 0 或 False 作为假值,1 或 True 作为真值,除非另行说明。(重要例外:布尔运算 or 和 and 总是返回其中一个操作数。)

布尔操作符
布尔运算 — and, or, not
这些属于布尔运算,按优先级升序排列:

运算              结果:                                备注
x or y       if x is false, then y, else x            (1)
x and y      if x is false, then x, else y             (2)
not x        if x is false, then True, else False      (3)
注释:
(1) 这是个短路运算符,因此只有在第一个参数为假值时才会对第二个参数求值。
(2) 这是个短路运算符,因此只有在第一个参数为真值时才会对第二个参数求值。
(3) not 的优先级比非布尔运算符低,因此 not a == b 会被解读为not (a == b) 而 a == not b 会引发语法错误。

and 和 or 操作符总是接受两个布尔值(或表达式),所以它们被认为是“二元”操作符。如果两个布尔值都为 True,and 操作符就将表达式求值为 True,否则求值为 False。在交互式环境中输入某个使用 and 的表达式,看看效果。

表达式                求值为
True and True        True
True and False       False
False and True       False
False and False      False

只要有一个布尔值为真,or 操作符就将表达式求值为 True。如果都
是 False,所求值为 False。

表达式               求值为
True or True        True
True or False       True
False or True       True
False or False      False

和 and 和 or 不同,not 操作符只作用于一个布尔值(或表达式)。not 操作符求值为相反的布尔值。

表达式             求值为
not True          False
not False         True

**

“比较操作符”比较两个值,求值为一个布尔值。

**

运算    含意
<      严格小于
<=     小于或等于
>      严格大于
>=     大于或等于
==     等于
!=     不等于
is     对象标识
is not 否定的对象标识

还有两种具有相同语法优先级的运算 in 和 not in,

看例子如下:

>>> 42 == 42
True
>>> 42 == 99
False
>>> 2 != 3
True
>>> 2 != 2
False
>>> 'hello' == 'hello'
True
>>> 'hello' == 'Hello'
False
>>> 'dog' != 'cat'
True
>>> True == True
True
>>> True != False
True
>>> 42 == 42.0
True
>>> 42 == '42'
False

请注意,整型或浮点型的值永远不会与字符串相等。表达式 42 == '42’求值为False 是因为,Python 认为整数 42 与字符串’42’不同。另一方面,<、>、<=和>=操作符仅用于整型和浮点型值。

操作符的区别:

你可能已经注意到,==操作符(等于)有两个等号,而=操作符(赋值)只有一个等号。这两个操作符很容易混淆。只要记住:
 操作符(等于)问两个值是否彼此相同。
 =操作符(赋值)将右边的值放到左边的变量中。
为了记住谁是谁,请注意操作符(等于)包含两个字符,就像!=操作符(不等于)包含两个字符一样。

混合布尔和比较操作符

既然比较操作符求值为布尔值,就可以和布尔操作符一起,在表达式中使用。回忆一下,and、or 和 not 操作符称为布尔操作符是因为,它们总是操作于布尔值。虽然像 4 < 5 这样的表达式不是布尔值,但可以求值为布尔值。在交互式环境中,尝试输入一些使用比较操作符的布尔表达式。

>>> (4 < 5) and (5 < 6)
True
>>> (4 < 5) and (9 < 6)
False

计算机将先求值左边的表达式,然后再求值右边的表达式。知道两个布尔值后,它又将整个表达式再求值为一个布尔值。

>>> 2 + 2 == 4 and not 2 + 2 == 5 and 2 * 2 == 2 + 2
True

和算术操作符一样,布尔操作符也有操作顺序。在所有算术和比较操作符求值后,Python 先求值 not 操作符,然后是 and 操作符,然后是 or 操作符。

这个时候你可能会觉得很简单,都是常识,然而也许事实不像你想的那样:

a=  3 and 4                a的值是多少
a=  0 and 4                 a的值是多少
a=  0 or 1                 a的值?
a=  "abcd"  or  0          a的值?
a= not  0                  a?
>>> a=3
>>> b=4
>>> c= a-b or b-a        c?
>>> c = not a-b and b+a
>>> c

希望上面的几个问题,能引发你更深的思考,搞清楚,搞透,这就是基础,请读者认真理解,下一讲,我们将通过一个例子,来学习python的代码书写格式,和控制流语句。

**

不积跬步,无以至千里.不积小流,无以成江海

**

冲击python二级——布尔操作符,比较操作符,控制流的基础相关推荐

  1. 【Python】Python中内置的%操作符

    Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式.Python中还有其他的格式化字符串的方式,但%操作符的使用是最方便的. 格式符为真实值预留位置,并控制显示的格式.格式符可以 ...

  2. Python中的数学运算操作符使用进阶

    原文链接:https://www.jb51.net/article/86988.htm 这篇文章主要介绍了Python中的数学运算操作符使用进阶,也包括运算赋值操作符等基本知识的小结 Python中对 ...

  3. Python中列表常用的操作符

    下面介绍Python中列表的常用操作符 1.比较操作符:>.<.==.注意,列表比较大小的时候是从第一个元素开始比较,而不看列表长度,返回True或者False 2.逻辑操作符:and.o ...

  4. 全面讲解Python列表数组(二),列表分区/片,列表操作符,比较操作符,逻辑操作符,连接操作符,重复操作符,成员关系操作符;

    一 列表分片 简单概括来说就是可以从一个列表中一次性取出来多个元素等操作; 这里有一个列表 member=[1,2,3,4,5] member[1:3] [2,3] 还可以 member[:3] [1 ...

  5. Python二级试题(一)

    第一套试题 关于数据的存储结构,以下选项描述正确的是 A 数据所占的存储空间量 B 数据在计算机中的顺序存储方式 C 数据的逻辑结构在计算机中的表示 D 存储在外存中的数据 正确答案: C 关于线性链 ...

  6. python二级题库 第四套

    刷题软件(模拟python二级考试) 操作题刷题软件 公众h:露露IT 回复:python二级 一.选择题 1. 可以作为软件测试对象的是(). A. 需求规格说明 B. 源程序 C. 设计规格说明 ...

  7. 【备考】计算机python二级过考指南(考点+典例)

    python操作题题型分类整理:Python计算机二级过考指南_一只自力更生的芋圆的博客-CSDN博客_输入一个非空字符串此条整理Python计算机二级等级考试的程序设计题,但也基本包含了大部分Pyt ...

  8. 全国计算机等级考试python教材.pdf_全国计算机等级考试python二级教程,视频资源下载...

    课程名称 全国计算机等级考试python二级教程,视频资源下载 课程目录 1.第01讲考试介绍和程序设计基本方法 2.第02讲基本语法元素 3.第03讲函数input和eval和print 4.第04 ...

  9. Python二级笔记整理

    Python二级笔记整理 00讲 1. 单选: 2. 操作 3.教材 4.python3.5.2以上 环境配置 Hello World 01讲 01章 程序设计的基本方法 导图 程序设计语言 编译和解 ...

最新文章

  1. 华为某研究生程序员哀叹:年薪五十多万,存款一百万,却不知道未来怎么走!...
  2. ATG中的定时Job处理
  3. DCMTK:测试ConcatenationCreator类
  4. linux ssh终端解决中文乱码的问题
  5. MySQL数据库的mysqldump完全备份、binlog的增量备份与还原
  6. 什么是节点光端机?总线型光端机有哪些优势?
  7. 飞鸽传书2009绿色版 官方网站下载地址
  8. 【GlobalMapper精品教程】008:如何根据指定区域(shp、kml、cad)下载卫星影像?
  9. Word2016目录自动生成+页码从目录页后面显示
  10. ios逆向工具tweak logos语法总结
  11. html页面悬浮提示框,js实现页面悬浮框
  12. yigo基础学习笔记4_业务报表
  13. 二十三种设计模式简介及类图(转载)
  14. Linux指定网卡名称
  15. libgdx开发记录
  16. opencv学习笔记9:根据图片颜色分割图像
  17. 西安交通大学计算机张飞导师,航海学院邀请西安交通大学段战胜教授来院作学术报告...
  18. android x86酷狗音乐,酷狗音乐怀旧版
  19. libvirt 的使用
  20. java毕业设计水利施工安全检测系统设mybatis+源码+调试部署+系统+数据库+lw

热门文章

  1. Altair Simdroid 流体分析模块介绍
  2. 刚当部门经理的一点小感悟,定时更新……
  3. 部署SSM项目到阿里云服务器ECS
  4. UbuntuFTP文件传输安装
  5. MATLAB给信号添加白噪声
  6. WIN11 EDGE IE8调试
  7. 本科以下别学 IT 了,切身经历
  8. 公网ipv6搭建文件服务器,IT之家学院:搭建自己的IPv6私有云
  9. LinkedHashMap对key进行排序
  10. php网站老掉线,电脑网络不稳定老掉线的两种解决方法