python的三目运算符和not in运算符使用示例

yipeiwu_com5年前Python基础

三目运算符也就是三元运算符

一些语言(如Java)的三元表达式形如:

判定条件?为真时的结果:为假时的结果

result=x if x

Python的三元表达式有如下几种书写方法:

if __name__ == '__main__':
	a = ''
	b = 'True'
	c = 'False'
	
	#方法一:为真时的结果 if 判定条件 else 为假时的结果
	d = b if a else c
	print('方法一输出结果:' + d)
	
	#方法二:判定条件 and 为真时的结果 or 为假时的结果
	d = a and b or c
	print('方法二输出结果:' + d)
	
	#以上两种方法方法等同于if ... else ...
	if a:
		d = b
	else:
		d = c
	print('if语句的输出结果:' + d)

输出结果:

说明:
判断条件:a为空串,所以判断条件为假
当判断条件为真时的结果:d = b
当判断条件为假时的结果:d = c

x = [x for x in range(1,10)]
print(x)
y =[]

result = True if 12 not in x else False # this is the best way
print(result)
result = True if not 12 in x else False # this way just like as " (not 12) in x"
print(result)

print(x is y)
print(x is not y) # this is the best way
print(not x is y) # this way just like as " (not x ) is y" ,so upper is the best way

result = 2 if 1 < 2 else 5 if 4 > 5 else 6 # just as 1 > 2 ? 2 : 4 > 5 ? 5 : 6
print(result)

python中的not具体使用及意思

name=''
while not name:
 name=raw_input(u'请输入姓名:')
print name

python中的not具体表示是什么:

在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法:
(1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。比如:

a = False
if not a: (这里因为a是False,所以not a就是True)
 print "hello"


这里就能够输出结果hello
(2) 判断元素是否在列表或者字典中,if a not in b,a是元素,b是列表或字典,这句话的意思是如果a不在列表b中,那么就执行冒号后面的语句,比如:

a = 5
b = [1, 2, 3]
if a not in b:
 print "hello"

这里也能够输出结果hello

not x     意思相当于     if x is false, then True, else False

代码中经常会有变量是否为None的判断,有三种主要的写法:

第一种是`if x is None`;
第二种是 `if not x:`;
第三种是`if not x is None`(这句这样理解更清晰`if not (x is None)`) 。

如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:

>>> x = 1
>>> not x
False
>>> x = [1]
>>> not x
False
>>> x = 0
>>> not x
True
>>> x = [0]   # You don't want to fall in this one.
>>> not x
False

更多内容可以参考这篇文章:/post/93165.htm

相关文章

Python判断文件或文件夹是否存在的三种方法

常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os...

Python中基础的socket编程实战攻略

在网络通信中socket几乎无处不在,它可以看成是应用层与TCP/IP协议簇通信的中间软件抽象层,是两个应用程序彼此进行通信的接口,并且把复杂的TCP/IP协议细节隐藏在接口之后。Pyt...

django之跨表查询及添加记录的示例代码

创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商...

实时获取Python的print输出流方法

我的应用场景是:使用shell执行python文件,并且通过调用的返回值获取python的标准输出流。 shell程序如下: cmd='python '$1' '$2' '$3' '...

详解PANDAS 数据合并与重塑(join/merge篇)

详解PANDAS 数据合并与重塑(join/merge篇)

在上一篇文章中,我整理了pandas在数据合并和重塑中常用到的concat方法的使用说明。在这里,将接着介绍pandas中也常常用到的join 和merge方法 merge pandas...