pyasa 六十天从零到精通第十五天,比较运算符哈喽大家好呀,我是钱。上期我们聊了让代码会算数的计算运算符,今天我们就来解锁 python 的 下一项核心能力,让程序学会做判断题。 想想看,我们每天都会做大量的判断,天黑了要开灯,钱够了才下单,分数及格了才能通过。这些判断的核心就是在做比较。 如果程序只会按顺序执行计算,那它只是个高级的计算器,只有当它掌握了比较的能力,才能根据不同的情况做出不同的反应,这才叫智能。 在 python 里,实现这种判断的基础工具就是比较计算符,比如大于、小于等于,它们看起来简单,却是所有智能程序底层的逻辑基石。 如果说计算预算符是程序的首,负责执行,那么比较预算符就是程序的业,负责观察和决策。今天我们就来彻底掌握这几个关键的符号,让你写了代码,真正拥有判断力, 而这种能力的核心就藏在几个看似不起眼的符号里。 python 的 比较计算符,它的作用很简单,判断两个值之间的关系。常用的比较计算符包括等于不等于大于小于大于大于等于小于等于、小于等于。 无论你写的比较看起来多么复杂,这些计算符只会返回一个明确的结果,要么是 true, 也就是对的,要么是 false, 也就是错的。这种值有对或错两种可能的值,在编程中被称为布尔值,也是属于布尔数值类型, 他是所有条件判断的基石。来看几个例子,十等于十这个说法成立,所以结果是为 to 七不等于七,这显然不成立,因此结果就是为 false。 而字母五等于数字五的结果也是为 false。 虽然看起来都是五,但带引号的五是字母串类型的数据,不带引号的五是整数类型的数据。在 python 看来,它们属于不同的数据类型,根本不能算作相等。不过也有例外的情况, 浮点数五点零等于整数五的结果却是为零。这是因为五点零虽然说是浮点数五是整数,但它们的数值是相等的。而 python 在 比较数值时,会自动进行合理的类型转换, 只要值一样,整数和浮点数就会被认为是相等的。这一点恰恰说明了 python 的 设计逻辑,不同类型之间是否可比,取决于它们是否有明确的、无歧义的比较方式。 四、五串和数字是没有的,所以不相等,但整数和浮点数都是数字,所以可以安全的比较大小或相等性。使用比较预算浮时有三个特别容易踩的坑,初学者一定要留意。 首先,判断相等是要用两个等号,不是单个等号,单个等号是复制操作。比如 x 等于五,表示把五存进变量 x 当中,而 x 等等,五才是问 x 的 值是不是等于五。 其次,不同类型的数据通常不能直接比较大小,比如写数字五大于负三, python 不 会尝试猜你的意思,而是直接抛出错误, 告诉你数字不能直接跟字母串比较大小。最后,字母串之间虽然可以用大鱼小鱼去做比较,但它不是按数字大小来算的,而是像排队报数一样, 从左到右,一个字母一个字母的去比谁先谁后。举个例子,字母时小于字母二,它的结果是为 two。 看起来很奇怪,是不是?其实 python 是 这样去做判断的,它先看两个字母串的第一个字母,一个是字母一,一个是字母二。 在计算机里,所有字母都有一个固定的先后顺序,数字字母零到字母九是按零一二到九这样去做排列的。所以字母一被认为比字母二小。 既然第一个字母已经分出大小了, python 就 不再看后面的字母,直接得出结论,字母十小于字母二。这就像两个人按姓名排序先比第一个字。 如果一个叫张三,一个叫李四,我们不会去数谁的名字长,而是直接看张和你谁在姓氏表里靠前。 同样, python 在 比字母串时,先比的是第一个字母,只有相同时才继续比第二个,以此类推。所以,如果你真正想比较的是数字的大小,就不要直接拿字母串去比。 正确的做法是先把它们转换成数字类型, int 字母十小于 int 字母二,这样的结果才是为 false。 关键要记住, python 怎么比较,取决于你给他的数据类型。 数字是按数学规则比,字母串则是从左到右逐个字母去做比较。搞清这一点,很多看起来对却出错的问题就迎刃而解了。 所有比较最终都会变成 true 或 false, 这正是 if、 well 等语句做决策的依据。可以说,比较计算符是程序判断能力的第一步, 但现实中的条件往往更复杂,比如年龄大于十八,并且已注册密码错误或者账号被锁定,这时就需要多个判断组合起来,这就需要用到逻辑计算符, 下一期我们就来拆解它们的工作原理和常见陷阱,让你的程序真正学会综合判断,我们下期见。
粉丝1.6万获赞2.6万

pi 三六十天从零到精通第十六天,逻辑运算符哈喽大家好呀,我是钱。上期我们学会了用大鱼小鱼比较运算符给代码做判断题,但如果你以为这就是编程的全部逻辑,那你可能就被他骗了。 真正让代码拥有灵魂,能像人一样思考的,其实是今天我们要讲的逻辑运算符。他们能把简单的是或否组成复杂的策略和选择,他能够让你写的代码从听话的机器变成智能机器人。 逻辑运算符就是教代码做逻辑题,它能把上节课的判断题串联起来,让条件判断变得更聪明、更灵活。 在 python 中,当我们需要同时考虑多个条件做判断时,光靠比较预算符就不够了。这时候就要用到逻辑预算符。它们主要有三个, and。 二、 not。 作用是把多个 true 或者 false 的 判断结果组合起来,最终仍然只返回一个明确的答案,要么是 true, 要么是 false。 首先来看 and 计算符 and 表示,并且意思是所有条件必须同时成立,整个表达式才是 true。 只要其中任何一个为 force, 结果就是为 force。 比如烤蛋糕,假设有蛋糕是为 chew, 有 面粉是为 chew, 但没有糖就是为 chew, 烤箱能用也是为 chew。 一 旦把这些条件用 and 连接起来,那就是 chew, and chew, and force, and chew 整个表达式就会变成 false。 因为 and 的 要求是所有条件同时成立,缺一不可,糖没了,就算其他材料齐全,蛋糕也做不成,所以最终结果就是为 false。 二则表示或者用于连接多个条件。这就像你作为面试官招聘程序员,岗位要求会 python、 java 或者 c 语言中任意一种即可。如果第一位候选人会 python, 即为 true, 那 立刻录用,无需再看其他人, 哪怕后面的人更优秀,也不影响结果。只有当所有候选人都三种语言不会,即为 false。 所以二的原则是一真即真,全假才假。 not 的 作用是反过来想,它会把 to 变成 first, 把 first 变成 to。 举个例子,如果你明确表示不能接受抽烟的人,可以用一个变量 smoking 来表示对方是否抽烟, to 表示抽烟, first 表示不抽烟,那么这个条件可以这样写,如果对方抽烟,那么 smoking 的 值就为 to, 那 not smoking 就是 为 false, 就是 不符合要求。如果对方不抽烟,那么 smoking 就是 为 false, 那 么 not smoking 就是 为 true, 表示符合要求。最后我们一起来总结一下, and 就是 全部都要 所有条件都为 true 的 时候,结果才为 true。 二就是有一个就行,只要其中一个条件为 true, 那 么最终的结果就是为 true。 note 就是 反过来把 to 变成 false, 把 false 变成 true。 这三种逻辑算符,就像程序的思考工具,帮他判断复杂情况,做出准确的选择。但光会判断还不够,程序还得根据判断结果才去行动。这就轮到一副语句登场了, 在下一期,我们将学习单层异斧条件判断,看看如何让代码真正看情况办事。条件成立就执行某段操作,不成立就跳过,从此让你的程序拥有基础却关键的决策能力。我们下期见。

python 六十天从零到精通第十三天, input 输入函数 hello, 大家好呀,我是钱。你是不是曾经想用 python 写个小程序,帮自己自动算账,整理文件?或者只是好奇那些有趣的自动化脚本是怎么做的, 但一打开代码就会被各种符号搞晕了。为什么乘法不用?数学当中的乘法符号偏偏是用新号除法和取余,到底用在哪?其实这些符号是编程中很基础的工具,就像学数学要先学加减乘除一样, 很多自学的人在这里就卡住了,看了很多教程还是不会用,或者一用就报错,根本不知道问题出在哪。 今天我就把这些符号的用法和隐藏的坑一次性讲清楚,让你真正动手用起来,而不是仅仅看过。 在 python 中完成数学英算,我们需要依赖一组专门的工具,他们被称为算数英算符,无论是简单的加减乘除,还是计算余数乘方,都得靠这些英算符来完成。 你或许在前面的视频当中已经发现,乘法用的不是我们熟悉的数学乘法符号,而是新号。除法用的也不是数学当中的除法符号,而是斜杠。 其实这背后也没有什么高深的道理,就是一个很实际的原因。早期的计算机键盘根本就没有乘法和除法这两个符号, 但为了方便程序员直接输入编程语言,就索性用键盘上本来就有的星号和斜杠来代替。这个习惯一直沿用到今天,包括 python 也遵循了同样的规则。 别看这些符号简单,他们在 python 里有着明确的计算规则,甚至有些细节可能和平时的计算习惯还不太一样, 接下来我们就通过几个具体的例子真正上手试试看这些计算符到底怎么用怎么算,就从我们熟悉的加号和减号开始吧。当你用它们来计算数字时,它们的行为就和数学课本里面是完全一样的。 三加五就是八,十减四就是六,和你从小学就熟悉的运算规则完全一致。但在 python 里还有一个隐藏身份,它也可以用在文字上,也就是字母串数据类型上面。 不过这时它不再是数学意义上的相加,而是把两段文字前后拼接在一起。 字母 hello, 加上字母 word, 得到的就是一串 hello word。 也正是因为加号身兼二职,对数字是在做加法,对文字是在做拼接。 python 会严格区分数字和文字,不允许混用。 如果你试图把一个字母串和一个数字去做相加, python 会因无法判断你的意图而报错。 如果两边都是字母串呢?比如字母五加上字母三,你会觉得结果是什么呢?是数字八还是字母串五三或是其他的结果?不妨操作试一试,把结果告诉我吧。星号这个符号同样身兼多职,它既能做数字的乘法,也能用在字母串上。 比如字母害乘以三,就会得到三个害。字母相当于把害重复三次,然后拼接起来。不过在我们的数学音算当中,我们主要关注他对数字的处理。例如七乘以六,得到的结果就是四十二。 这里有个细节需要注意,即使乘法当中只有一个数是小数,比如二点五乘以四, 那它得到的结果也会变成十点零。这是因为在 python 的 计算规则里,只要参与计算的数字中有一个是浮点数,也就是带小数点的数,那整个计算结果也会自动变成浮点数,确保精度的完整性。 而到了除法符号, python 的 行为就更为坚持了,不管能不能整除,结果一律都是小数形式。 比如九除以二,得到的结果是四点五,这很合理。但到了八除以四,得到的结果就不是二,而是二点零, 这是拍子有意设计的。标准的除法运算永远返回浮点数及带小数点的数。这样做可以避免你在整数除法和小数除法之间产生混淆,确保数学运算的类型七星一致。 但有时候我们确实只关心结果的整数部分。比如要计算一百元的预算,每件商品七元能买多少件,你不需要知道会剩下多少钱,只想知道能完整买下几件。这个时候你就需要用到整除预算符, 一百整除七的结果就是十四,正好对应至多能买十四件。整除预算符会直接舍弃小数部分,只保留能容纳多少个的整数。答案, 非常适合计算数量、分组等场景。那剩下的钱呢?买了十四件东西,每件七元,那就是花了九十八元,还剩下两元。 这个剩余的部分在编程里就交给取于计算符来做计算。比如一百余七的结果就是二。同理,九于二的结果就是一,因为九除以二等于四于一。取计算符的使用场景之一,就是判断是否能被整除。 如果 a 与 p 的 结果是零,那就代表 a 能被 p 整除。例如十与二的结果是零,那就证明十是偶数。十五与二的结果是一,那就说明十五,它是奇数。 除了基本运算,我们有时还需要计算一个数的乘方,比如平方、立方或者开方,这时候就轮到了密计算符出场了。二信号信号三就代表二的三次方,结果就是八 五信号信号二就代表五的平方,结果就是二十五。甚至也可以用来计算开方,比如四信号信号零点五,得到的就是二点,零就是四的平方根。最后需要记住两个常见的陷阱,能帮你避免很多莫名其妙的错误。 第一个,永远不要除以零,不管是除法运算符、整除运算符还是取运算符,只要除数是零, python 就 会直接报错,这是数学上的禁区,编程当中也同样如此。第二个, python, 它是不会自动转换类型的, 他严格按照你给出的数据类型来去做计算,如果你给的是字母串,他不会自动转换成数字,清楚自己写的是什么类型,往往决定了程序是顺利执行还是突然崩溃。 理解并记住这两点,你已经能避开大多数初学者的计算坑了。不过现实中的程序很少只是从上到下机械的去执行计算。更多时候,我们需要根据条件 来决定程序如何运行,比如判断年龄是否成年,检查余额是否足够,或验证用户输入是否符合要求。这些判断的第一步往往是从比较开始的。 在 python 中,我们使用比较计算符,比如大于等于、小于等来判断两个值之间的关系。 他们是城市具备分辨能力的起点,也是迈向智能决策的基础。下一期我们就来系统认识这些看似简单却事关重要的比较。预算符准备好了吗?我们下期见。

看漫画学 python 八 print 高阶函数宝子们,上一期呢,我们讲完了 print 基础,那么今天我们讲 print 高阶语法,在 print 中呢,分别有 step, end, 杠 n 等语法,其中呢, step 为多参数分割符号,默认用空格 end 为结束符号,杠 n 表示换行。那么我们先讲 zip, 如果编写的代码为 print 五二零一三一四,我们会在控制台上打印的是五二零空格一三一四。 那么编写的代码为 print 五二零一三一四 zip 等于爱心呢?大家想一下会在控制台上打印啥呢? 大胆猜测一下哦,结果是这个哦,五二零爱心一三一四 杠 n。 那 如果输入的代码是 print 五二零, print 一 三一四,它输出的结果为五二零一三一四,会打印两个结果, 这是斜杠 n 自动换行的结果。它要注意的是,在我们的编辑器中,它不会显示系统自动忽略 end。 那 么如果代码为 print 五二零 end 等于爱心, print 一 三一四是一个什么样的结果呢?恭喜你再次在显示器上输出了这样一个结果,五二零爱心一三一四。 那么 end 的 作用呢?其实就是自定义斜杠 n 的 输出,你可以理解为 end 等于任何等于斜杠 n, 那 么输出的内容就应该是这样, 五二零加一三一四。好,那么今天我们的内容就讲到这里,有不懂的随时学习群问我哦!