Python短路逻辑or的巧妙使用。

Python的中的短路逻辑我是了解一些的,就是and的时候,碰到第一个Flase后面的参数就不判断了

同理or只要碰到第一个真,后面也不判断了。

所有or就有意思了,直接上测试代码

In [147]: name = input(‘wirte you name: ‘) or "shagua"
wirte you name: 

In [148]: name
Out[148]: ‘shagua‘

In [149]: name = input(‘wirte you name: ‘) or "shagua"
wirte you name: sidian

In [150]: name
Out[150]: ‘sidian‘

用在判断输入是否为空,然后给默认参数,感觉比写if函数逼格搞5倍

原文地址:https://www.cnblogs.com/sidianok/p/11780439.html

时间: 2024-08-27 00:04:09

Python短路逻辑or的巧妙使用。的相关文章

[Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑

好吧题目非常easy.可是有些细节还是挺有意思的. 题目是:计算今年是否是闰年,推断闰年条件,满足年份模400为0,或者模4为0可是模100不为0 答案是这种: import time #计算今年是否是闰年,推断闰年条件,满足年份模400为0.或者模4为0可是模100不为0 thisyear = time.localtime()[0] #获取年份 if thisyear%400==0 or thisyear%4==0 and thisyear%100<>0: print 'this year

Python中 and or 运算顺序详解 --- 短路逻辑

核心思想 表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 . 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算. 若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑. 详情参见:http://www.cnblogs.com/an9wer/

JavaScript新手学习笔记4——我记不住的几个坑:短路逻辑、按值传递、声明提前

1.短路逻辑 逻辑运算中,如果前一个条件已经可以得出最终结论,则后续所有条件不再执行!这里的逻辑运算指的是逻辑与和逻辑或. 我们要理解逻辑与是两个条件都为真的时候,才为真,如果第一个就是假的,那么后面一个也不用执行了.逻辑非是两个条件中有一个是真,则结果为真,所以只要第一个为真,那么结果为真,后面一条语句就不用执行了.于是又如下例题: console.log(2&&3); //3 console.log(2||3); //2 console.log(0&&1); //0 c

短路逻辑

记着学习的时候,有一个超简化代码的方法,叫短路逻辑,思想是 true 就继续执行,false 就停止执行,说的可能不清晰,来看 code: var a = true; var b = false; function B(){ console.log(1); } a && B(); a && b && B(); 比起使用 if ,使用短路逻辑来做简单的判断执行方法,真的是简单而又整洁!

[Python]关于return逻辑判断和短路逻辑

定义一个return...and..函数: def res(): return '12' and '1234' 返回结果: >>> print(res()) 1234 定义一个return...or..函数: def res(): return '12'or '1234' 返回结果: >>> print(res()) 12 and:遇假则假,所以前面为假就不执行和判断后面,前面为真则继续判断执行后面的;or:遇真则真,所以前面为真就不执行和判断后面,前面为假则继续判断执

21-城里人套路深之用python实现逻辑回归算法

如果和一个人交流时,他的思想像弹幕一样飘散在空中,将是怎样的一种景象?我想大概会毫不犹豫的点关闭的.生活为啥不能简单明了?因为太直白了令人乏味.保留一些不确定性反而扑朔迷离,引人入胜.我们学习了线性回归,对于损失函数及权重更新公式理解起来毫无压力,这是具体直白的好处.然而遇到抽象晦涩的逻辑回归,它的损失函数及权重更新公式就经历了从p(取值范围0~1)->p/(1-p)(取值范围0~+oo)->z=log(p/(1-p))(取值范围-oo~+oo)->p=1/1+e^(-z)->极大

python 异常处理逻辑

python的很多函数与方法都会产生异常,并将其作为发生错误或者重要事件的标志.异常也是一个对象,转换为字符串时,异常会产生一条消息文本.异常处理的简单语法格式如下: try: try_suite except exception1 as variable1: exception_suite1 …… except exception2 as variableN: exception_suiteN 异常处理逻辑如下: 如果try块中的suite都正常工作,而没有产生异常,则except模块将被跳过

【pyhton】短路逻辑

编程语言常用的逻辑if a and b:#如果a是false,那么跳过b的判断,结果直接falseif a or b:#如果a为true,那么跳过b的判断,直接true

机器学习 Python实现逻辑回归

# -*- coding: cp936 -*- from numpy import * def loadDataSet(): dataMat = []; labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])]) labelMat.append