最近为了刷Leetcode和学习Deep Learning重温了大一就学过的Python,当时只是囫囵吞枣,只大概学习了语法,回想起那时恍若学海中一介迷路的小书童(虽然现在也是)。现在一眨眼已经大三了,该成熟点了,该会的还是得会,不该会的也应该鼓起勇气学习一下了,试着打破自己的舒适圈才可以进步呀。

在复习python语法时发现了一个和Java/C++不太一样的点(至少在我的认知中不太一样):

下面解释一下为什么两个数值进行逻辑运算还是返回数值的原因:

       首先声明:在Python中进行逻辑运算时,非0的数值仍然是当做true,0仍然被看作false来进行处理。

以下案例不相信的可以自己试一下: https://www.runoob.com/try/runcode.php?filename=test_operator&type=python

a and b 返回 20:

之所以返回20是因为and进行运算时是需要看两个变量是否都是true才能够决定最后的值。因此在a为true的情况下,b的取值即成为最终的取值。若a、b至少一个为0/false , 则最终结果也为 0 。

a or b 返回 10:

之所以返回10是因为进行or运算时,如果第一个不是false,则不用看第二个的值即可直接返回第一个的值(或者true),只有当第一个为0时,第二个的值才决定了最终的取值。

写在最后:

其实Python中的逻辑运算和其他程序语言并没有本质差别,主要的不同就在于最后是返回数值还是布尔值。个人看法(没有经过查证,可能误人子弟):Python之所以返回数值的原因是因为本身语言特性决定:比较自由灵活没有对变量的类型做出严格的限制,从而在输出时并不会把数值强制转换成布尔类型(当然了,not运算除外,因为数值怎么能进行否操作呢?)。

Python中and、or、not用法相关推荐

  1. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  2. python中index函数_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  3. python中int函数的用法浅析_Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__ ...

  4. python中的lambda函数用法--无需定义函数名的函数或子程序,避免代码充斥着大量单行函数

    匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序. lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值. 要点: lambda 函数不能包含命令 包含 ...

  5. python中int用法,Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__ ...

  6. python中pop函数的用法_python中pop()函数怎么用

    python中pop()函数的用法:pop()函数用于移除列表中的一个元素(默认最后一个元素),并且返回从列表中移除的元素对象.函数语法:[list.pop(ojb=list[-1])]. pop() ...

  7. python中index方法详解_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  8. python中config方法作用,python中ConfigParse模块的用法

    本文实例讲述了python中ConfigParse模块的用法,分享给大家供大家参考.具体方法如下: 写配置一般用ConfigParse.RawConfigParse类 读配置用ConfigParse. ...

  9. python中heapq的库是什么_详解Python中heapq模块的用法

    详解Python中heapq模块的用法 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...

  10. python中global和nonlocal用法的详细说明

    1.前言 第一,两者的功能不同.global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数 ...

最新文章

  1. 各种登录源码来了!基础登录、验证码登录、小程序登录...全都要!
  2. 2010年基于Linux的10大技术趋势
  3. Netty HTTP on Android
  4. FileUpload时用Javascript检查扩展名是否有效
  5. mile for gallon 汽车省油
  6. seata不兼容mysql8的解决方案
  7. vue 绑定背景图片、图片
  8. Windows Embedded 7 最简便EWF系统制作方案
  9. windowskb2685811补丁_Win7/8.1 KB2685811、KB2685813和KB2670838蓝屏补丁下载汇总 (32位+64位)...
  10. 关于metasploit的一些架构目录
  11. python选择题题库
  12. Android隐藏app桌面图标
  13. vue 生命周期图 + activated + deactivated
  14. APICloud介绍
  15. Docker:Unable to find image ‘mysql:latest‘ locally
  16. 『杭电1982』Kaitou Kid - The Phantom Thief (1)
  17. bugku never give up
  18. strtok strtok_s strsep
  19. 小游戏的processing实现
  20. 元旦给计算机老师的贺卡,元旦给老师的祝福语贺卡

热门文章

  1. opengl 实时波形显示_OpenGL1------OpenGL概述
  2. 怎么用c语言写贪吃蛇贴吧,刚学C语言,想写一个贪吃蛇的代码
  3. oracle 日期转换成毫秒数,ORACLE:毫秒与日期的相互转换,获取某天的信息
  4. mysql 执行效率命令_MySQL优化--explain 分析sql语句执行效率
  5. c语言 抽奖算法,腾讯2018校招笔试!抽奖算法思路c++实现!进入鹅厂真的简单!...
  6. Spring简化Java开发_第1章—Spring之旅—简化Spring的java开发
  7. kind富文本编辑器_kind富文本编辑器
  8. PL/SQL Developer14中文版,记住登录密码和常用快捷方式
  9. java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer
  10. 部署 Job (第三部分)