Rumah >pembangunan bahagian belakang >Tutorial Python >Python基础学习if语句
If语句可以检查判定当前条件,并执行相应措施。
1 if a in A:2 if a 条件:3 执行命令14 else:5 执行命令26 7 if判断条件还可以简写8 if x:9 print('True')
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False
1.每个if语句的核心都是条件判断True或False,这种表达式称为条件测试。
2.Python根据条件测试的值True或False来判断是否执行下面的代码,如果if语句的判断为True,就执行下面代码,判断为False会忽略下面的代码。
3.在python中,任何不为0,Null或空对象的东西都为True。
1.Python比较大小是区分大小写。
2.!= 表示不相等,感叹号表示不,可以比较数字,字符。
1.使用关键词and连接,都满足为True,一个没有满足都为False。为改善可读性,可将每个测试写在( )中。
2.使用关键词or连接,满足一个就为True,都不满足才为False。
1.使用关键词in来判断包含关系。
2.使用关键词 not in 来判断不包含关系。
1.布尔表达式是条件测试的别名,结果一样都是True或False。布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写)
布尔值可以用and、or和not运算。布尔操作符。
1.True and True True 2.True or False True 3.not True False |
1.简单if语句,一个测试,一个操作,注意缩进,和冒号。
2.if-else语句 一个条件测试,2个操作。
3.if-elif-else结构 多条件测试,elif是else if的缩写,完全可以有多个elif。
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> |
4.if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。
5.可省略else,用elif代替,避免引入更多错误信息。
6.语法格式== 、>= 和<= 等比较运算符两边各添加一个空格,例如,if age < 4: 要比if age<4: 好。
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
特点:无序的,字典是动态数据,字典由{ }组成,分号隔开。字典包含键和值,一 一对应。与键相关联的值可以是数字、字符串、列表乃至字典,可将任何Python对象用作字典中的值。正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。
1.1. set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
1.2. set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:&交集; | 并集;
1.3. set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。
1.4. 通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果。
1.5. 通过remove(key)方法可以删除元素。
和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
知道键值可以访问值:
alien_0 = {'color': 'green', 'points': 5} |
要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
'Thomas' in d False |
二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
d.get('Thomas') d.get('Thomas', -1) #在d中不存在'Thomas',返回-1 -1
>>> picnicItems = {'apples': 5, 'cups': 2} >>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.' 'I am bringing 2 cups.' >>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.' 'I am bringing 0 eggs. 注意:返回None的时候Python的交互式命令行不显示结果。 3.setdefault()方法setdefault()方法提供了一种方式,在一行中完成这件事。传递给该方法的第一 个参数,是要检查的键。第二个参数,是如果该键不存在时要设置的值。如果该键 确实存在,方法就会返回键的值。
4.pprint 模块导入 pprint 模块,就可以使用 pprint()和pformat()函数,它们将“漂亮 打印”一个字典的字。
5.2添加键和值字典是动态数据,可以随时在其中添加键和值,通过key加入数据
5.3删除键和值1.要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
2.使用del del alien_0['points'] 5.4遍历字典 item()Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。 for key, value in user_0.items(): 实际 for name, language in favorite_languages.items(): 简单变量名: for k, v in user_0.items() 注意,即便遍历字典时,键—值对的返回顺序也与存储顺序不同。Python不关心键—值对的存储顺序,而只跟踪键和值之间的关联关系。 判断一个对象是可迭代对象,方法是通过collections模块的Iterable类型判断;
Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身。 使用内建的isinstance函数可以判断一个变量是不是字符串。 5.4.1遍历字典所有的键(for循环)Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:
遍历字典时,会默认遍历所有的键,因此,如果将上述代码中的for name in favorite_languages.keys(): 替换为for name in favorite_languages: ,输出 将不变。 如果显式地使用方法keys() 可让代码更容易理解,你可以选择这样做,但如果你愿意,也可省略它。 5.4.2按顺序遍历字典所有的键sorted() 使用函数sorted() 来获得按特定顺序排列的键列表的副本。 按首字母排序 一种办法是在for 循环中对返回的键进行排序。为此,可使用函数sorted() 来获得按特定顺序排列的键列表的副本。 5.4.3遍历字典中所有的值values() 使用方法values() ,它返回一个值列表,而不包含任何键。 for language in favorite_languages.values(): 为剔除重复项,可使用集 合set()。集合 类似于列表,但每个元素都必须是独一无二的: for language in set(favorite_languages.values()): 5.5嵌套还可以使用两层循环,可以生成全排列。 5.5.1字典列表alien_0 = {'color': 'green', 'points': 5} alien_1 = {'color': 'yellow', 'points': 10} alien_2 = {'color': 'red', 'points': 15} aliens = [alien_0, alien_1, alien_2] 5.5.2在字典中存储字典字典中嵌套字典 5.6退出循环(break)在循环中,break语句可以提前退出循环。这个语句通常必须配合if语句使用。 5.7continue在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。这个语句通常必须配合if语句使用。 Atas ialah kandungan terperinci Python基础学习if语句. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP! Kenyataan: Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn Artikel sebelumnya:Python中表达式和语句及for、while循环实例代码Artikel seterusnya:python3中内置函数介绍 |