python 中的 空 无 None True 之间的理解和应用

你咋python做判断的时候 经常看到这几种情况

if True:

if s:

if key is not None:

if not s:

等这样的判断

理解

1 空是一个数据类型的无 如

s=‘‘

l=[]

d = {}

t = ()

以上都是表示无元素

In [33]: s=‘‘
In [34]: if s:
   ....:     print ‘s字符串不为空‘
   ....: else:
   ....:     print ‘s字符串为空‘
   ....:     
s字符串为空

常用,判断一个字符串是否有‘出空格或\n之外的元素‘常用如下判断

if s.strip():
    pass
else:
    pass

2 None 类型

None是一个NoneType类型 ,注意是类型

In [48]: a = None
In [49]: type(a)
Out[49]: NoneType
In [50]: type(None)
Out[50]: NoneType
In [44]: if a is not None:
   ....:     print ‘a not None‘
   ....: else:
   ....:     print ‘None‘
   ....:     
None

常用判断一个元素是否为None类型

if a is not None:
    pass
else:
    pass

None常出现在函数的默认参数赋值中def f(s=None) 和 返回值return None中

3 布尔类型  True False

In [45]: if True:
   ....:     print ‘真‘
   ....: else:
   ....:     print ‘假‘
   ....:     
真

常用: 函数的return True 或者  if 判断中

if True 等于  if not False

In [47]: not False
Out[47]: True

4 not 为取反

注意取反不能使用 !

if not s:

时间: 2024-10-10 06:46:15

python 中的 空 无 None True 之间的理解和应用的相关文章

python中关于空的说法

0908自我总结 python中关于空的说法 python中表示空的数据 常量None 常量False 任何形式的数值类型零,如0,0L,0.0,0j 空的序列[],() 空的字典{} 用户自定义的nonzero()和len()方法返回值为整数0或者布尔类型为False 以上的值布尔类型都为False None他既不是0也不False也不是空的序列也不是空的字典,但是他的布尔类型为False []与()也不是同一个东西 原文地址:https://www.cnblogs.com/pythonywy

关于python中赋值、浅拷贝、深拷贝之间区别的深入分析

大家都知道,在python中复制一个对象有多种方法,其中常用的是赋值.浅拷贝和深拷贝,这三者之间有哪些区别和哪些坑呢? 首先,定义一下: 赋值:  a =1    b =a    a赋值给了b 浅拷贝: a = []  b = a.copy() 或者import copy             b = copy.copy(a) 深拷贝:import copy  a = []   b = copy.deepcopy(a) 未完待续

Python 中的引用和类属性的初步理解

最近对Python 的对象引用机制稍微研究了一下,留下笔记,以供查阅. 首先有一点是明确的:「Python 中一切皆对象」. 那么,这到底意味着什么呢? 如下代码: #!/usr/bin/env python a = [0, 1, 2] # 来个简单的list # 最初,list 和其中各个元素的id 是这样的. print 'origin' print id(a),a for x in a: print id(x), x print '----------------------' # 我们把

python中,ascii,unicode,utf8,gbk之间的关系梳理

在计算机中,经常遇到编码问题,本节主要梳理下ascii,unicode,utf8,gbk 这几种编码之间的关系. ASCII 计算机中,所有数据都以0和1来表示.在一开始的时候,要表示的内容比较少,人们使用了ascii编码的方式来编码. ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 -

php中0,空,null和false之间区别

$a = 0; $b="0"; $c= ''; $d= null; $e = false; echo "5个变量-原始测试类型"; var_dump($a);//int 0 var_dump($b);//string '0' var_dump($c);//string '' var_dump($d);//null var_dump($e);//boolean false echo "<h4>empty测试</h4>"; v

Python中使用numpy创建的array之间的乘法

import numpy as np numpy模块的array相乘时,有两种方式:一是矩阵形式,二是挨个相乘. 需要用矩阵形式相乘时,则要用np.dot()函数. 矩阵与矩阵: a = np.array([[1,2,3],[4,5,6],[7,8,9]]) c = a.copy() a*c 得出的结果是a和c中每个元素依次相乘,为3x3的矩阵 np.dot(a, c) 得到的结果是a和c进行矩阵相乘,为3x3的矩阵 矩阵与向量: a = np.array([[1,2,3],[4,5,6],[7

Python中的列表,元组,字符串之间的相互转化

Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am xiaoli!" >>> #字符串转化为元组 >>> the_tuple = tuple(the_string) >>> the_tuple ('h', 'e', 'l', 'l', 'o', ' ', 'I', "'", 'a

Python中 and,or 的计算规则

一.纯 and 和 or 语句 1. 在纯and语句中,如果每一个表达式都不是假的话,那么返回最后一个,因为需要一直匹配直到最后一个.如果有一个是假,那么返回假2. 在纯or语句中,只要有一个表达式不是假的话,那么就返回这个表达式的值.只有所有都是假,才返回假3. 在or和and语句比较难表达,总而言之,碰到and就往后匹配,碰到or如果or左边的为真,那么就返回or左边的那个值,如果or左边为假,继续匹配or右边的参数. (False or 1) 输出1 (1 or False) 输出1 (T

Python入门(二):Python中数据类型、print语句、注释

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 一.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0