python否定判断
① python的is和is not运算符是干什么用的
is是看两个标识符是不是引用自一个对象,利用id()函数就可以看的很清楚,id可以理解为得到变量的内存地址
而==是value判断,不同类型不一样,如:
>>> a = 3
>>> b = 3
>>> a == b
True
>>> id(a)
11163864
>>> id(b)
11163864
>>> a is b
True
>>> b is a
True
>>> a = [1,3]
>>> b = [1,3]
>>> a == b
True
>>> a is b
False
>>> id(a)
11794392
>>> id(b)
11813392
is not 就是is的否定,意义是一样的。
② Python内部是如何判断一个对象是True还是False
作者:gao xinge
链接:https://www.hu.com/question/53708403/answer/139331035
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内建函数boolpython中的所有对象都可以用内建函数bool来判断布尔值是True还是False,如下>>> bool(1)
True
>>> bool(0)
False
>>> bool(True)
True
>>> bool(False)
False
>>> def f(a):
return a
>>> bool(f)
True
>>> bool(__builtins__)
True
>>> import collections
>>> bool(collections)
True
__nonzero__函数和__len__函数内建函数bool的逻辑顺序: 如果对象没有实现__nonzero__函数或者__len__函数,返回True; 如果对象实现了__nonzero__函数,根据__nonzero__函数的返回值判断; 如果对象没有实现__nonzero__函数,但实现了__len__函数,根据__len__函数的返回值判断如下>>> # example one
>>> class f:
def __init__(self, a, b):
self.a = a
self.b = b
>>> t = f(0,1)
>>> bool(t)
True
>>> # example two
>>> class f:
def __init__(self, a, b):
self.a = a
self.b = b
def __nonzero__(self):
return self.a
def __len__(self):
return self.b
>>> t = f(0,1)
>>> bool(t)
False
>>> # example three
>>> class f:
def __init__(self, a, b):
self.a = a
self.b = b
def __len__(self):
return self.b
>>> t = f(1,0)
>>> bool(t)
False
③ Python 中 not 'x' in 'sex' 和 'x' not in 'sex' 有区别吗
'x' not in 'sex' : 'x'不在'sex'里,不在的话返回true,在返回false
not 'x' in 'sex' : 先判断'x'在'sex',然后取not。
其实两个结果一样,就是结构上就是not的先后顺序有点不一样。
④ not 6是什么意思python里
逻辑判断词。
在python中not是逻辑判断词,用于布尔型True和False,notTrue为False,notFalse为True,以下是几个常用的not的用法:
(1)not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。
(2)判断元素是否在列表或者字典中,ifanotinb,a是元素,b是列表或字典。
Python是一种广泛使用的解释型、高级和通用的编程语言。Python由荷兰数学和计算机科学研究学会的GuidovanRossum创造,第一版发布于1991年,它是ABC语言的后继者,也可以视之为一种使用传统中缀表达式的LISP方言。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。
⑤ python中循环语句
1、if语句
Python中的if子句由三部分组成:关键字本身、用于判断结果真假的条件表达式以及当表达式为真或者非零时执行的代码块。if 语句的语法如下:
if expression:
expr_true_suite
if 语句的expr_true_suite代码块只有在条件表达式的结果的布尔值为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
(1)多重条件表达式
单个if语句可以通过使用布尔操作符and、or和not,实现多重判断条件或是否定判断条件。
(2)单一语句的代码块
如果一个复合语句(例如if子句、while或for循环)的代码块仅仅包含一行代码,那么它可以和前面的语句写在同一行上。如if make_hard_: send_data_to_printer(),这样的单行语句是合法的, 尽管它可能方便,但这样会使得代码更难阅读, 所以推荐将这行代码移到下一行并合理地缩进。另外一个原因就是如果你需要添加新的代码, 你还是得把它移到下一行。
2、else语句
Python提供了与if语句搭配使用的else语句,如果if语句的条件表达式的结果布尔值为假,那么程序将执行 else 语句后的代码。其语法如下:
if expression:
expr_true_suite
else:
expr_false_suite
在C语言中,不会在条件语句范围外发现else语句, 但Python不同,可以在while和for循环中使用else语句,在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。
例:显示出10到20中的数字的最大约数
在CODE上查看代码片派生到我的代码片
#!/usr/bin/env python
def showMaxFactor(num):
count = num / 2
while count > 1:
if (num % count == 0):
print 'largest factor of %d is %d' % (num, count)
break
count = count - 1
else:
pr
⑥ 在python中如何使用not in
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
⑦ python中如何使用not in
>>>a=[1,2,3,4,5]
>>>b=[3,4,5,6,7]
>>>set(a)-set(b)
{1,2}
⑧ python中的not具体表示是什么,举个例子说一下,衷心的感谢
在python中not是逻辑判断词,用于布尔型True和False。
布尔"非" :如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 例如:
a = 0;
b = 1;
if not ( a and b ):
print "变量 a 和 b 都为 false,或其中一个变量为 false";
else:
print "变量 a 和 b 都为 true";
输出结果为:变量 a 和 b 都为 false,或其中一个变量为 false。
(8)python否定判断扩展阅读
1、not 和 in 连接的用法:
not in ,如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。例如:
b = 20;
list = [1, 2, 3, 4, 5 ];
if ( b not in list ):
print "变量 b 不在给定的列表中 list 中";
else:
print "变量 b 在给定的列表中 list 中";
2、is 和 not 连接的用法:
is not , 是判断两个标识符是不是引用自不同对象,x is not y, 类似id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。例如:
a = 20;
b = 30;
if ( a is not b ):
print "4 - a 和 b 没有相同的标识";
else:
print "4 - a 和 b 有相同的标识";
⑨ python中while判断条件问题...求详细解释 不是很理解
首先name=‘ ’,后面是个空字符串,在学习布尔表达式的时候就说过,这些空的都是等于False的。
while not name:
可以看成是while循环语句加一个布尔表达式not name:可以理解为 如果name为空的话 not name是成立的也就是值为True
若是name=‘michael’ 那就是有名字,not name不成立这个布尔表达式的值就是False.
while 语句后面有的是直接跟变量名,有的是跟这种布尔表达式,但是不管是哪种他们的值都是要么为True要么为False
true就循环执行后面的子语句(有缩进的),False就pass后面的子语句
以后还会学习到while True这种循环语句,就是他的进化。