一文读懂python3中的所有33个关键字及其用法 |
您所在的位置:网站首页 › python循环结构的关键字有哪些 › 一文读懂python3中的所有33个关键字及其用法 |
学习python,首先需要熟悉一下python的33关键字。 直接上表:(除前三个关键字,其余按字母表顺序排序) FalseNoneTrue andasassertbreakclasscontinuedefdelelifelseexceptfinallyforfromglobalifimportinislambdanonlocalnotorpassraisereturntrywhilewithyield 依次扼要说明一下: 1. False。 python中的布尔类型,与True相对。
2. None。 None是python中特殊的数据类型'NoneType', None与其他非None数据相比,永远返回False;如下测试:
3. True。 python中的布尔类型,与False相对。
4. and。 逻辑判断语句‘与’,and左右两边都为真,则判断结果为真,否则都是假。
5. as。 1) import numpy as np;将用一个简短的np来替代numpy;
2)结合with...as使用。 demo: file = open('b.txt','w') with file as f: data = f.write('你好,世界!\n') f.close() with open('b.txt','r') as f: data = f.read() print(data)
6. assert。 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。 assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下: assert expression [, arguments] assert 表达式 [, 参数] demo:
7. break。 跳出循环语句。 demo: for i in range(4): print("-----%d-----" %i) for j in range(5): if j > 2: break print(j)
8. class。 python里面的类定义。主要是封装,继承,多态的一些使用。 class Person(object):#(括号内为父类,object类是所有类的父类) def __init__(self,name,age): #构造函数,类似于java中的this, # 需要把self放在类实例方法的第一个参数 self.name = name self.age = age obj = Person("lanluyu", 26) #将name和age封装成类,并赋予对象obj。
9. continue。 跳出当此循环,在当此循环后面的语句则不执行; demo: for i in range(10): if i ==3: print('{:^20}'.format('lanluyu')) continue print('{:^20}'.format(i)) print('{:^20}'.format('end'))上面的format中的含义是使其在一定宽度中居中,详细细节可参考:https://blog.csdn.net/lanluyug/article/details/80245220
10. def。 python中的函数定义 def add(a,b): print('{:^20}'.format(a+b)) add(1,2)
11. python和java类似,具备GC机制,当数据没指向时,会将数据回收;而del关键字只是删除变量。 a = 1 b = a del a print('{:^20}'.format(b)) print('{:^20}'.format(a))结果能打印b的值,但a变量已不存在。
12. elif。 在条件语句中和if一起使用,相当于c中的else if; age = 26 if age > 60: print('{:^20}'.format("老人")) elif age >30: print('{:^20}'.format("中年人")) else: print('{:^20}'.format("祖国的花朵"))
13. else。 与if联合使用。同上。
14. except。 python中的异常机制关键字。和try结合使用。 try: fh = open("testfile", "w") fh.write("这是一个测试文件,用于测试异常!!") except IOError: print("Error: 没有找到文件或读取文件失败") else: print("内容写入文件成功") fh.close()
15. finally。 异常机制中与try使用。且无论try语句中是否抛出异常,finally语句块一定会被执行。 try: fh = open("testfile", "w") fh.write("这是一个测试文件,用于测试异常!!") except IOError: print("Error: 没有找到文件或读取文件失败") else: print("内容写入文件成功") finally: fh.close() print("文件关闭成功")
16. for。 循环语句。 for i in range(10): print('{:^20}'.format(i))
17. from。 导入模块的变量或函数。可参考上述2.as中的示例。 需要注意的是,使用from导入的变量容易被覆盖,而import则不会发生这种情况;
18. global。 用处:一般在局部或函数内对全局变量进行修改,须在局部用global声明变量,不然无法修改。 #global关键字(内部作用域想要对外部作用域的变量进行修改) num = 1 def fun(): global num num = 123 print(num) fun() print(num)
19. if。 条件语句。参考12.elif。
20. import。 导包操作。参考5. as。
21. in。 判断键是否存在与字典中。 dict = {'Name': 'lanluyu', 'Age': 26} # 检测键 Age 是否存在 if 'Age' in dict: print("键 Age 存在") else : print("键 Age 不存在")
22. is。 is关键字是判断两个变量的指向是否完全一致,及内容与地址需要完全一致,才返回True,否则返回False。 python中的is通常与==一起分析;==通常只是对内容进行对比,一致则返回True。
23. lambda。 匿名函数,此关键字可以用一行实现一个函数。 # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2 # 调用sum函数 print ("相加后的值为 : ", sum( 10, 20 )) print ("相加后的值为 : ", sum( 20, 20 ))
24. nonlocal。 nonlocal是在Python3.2之后引入的一个关键字,它是用在封装函数中的,且一般使用于嵌套函数的场景中。 在Python 2.x中,闭包只能读外部函数的变量,而不能改写它。 def a(): x = 0 def b(): print(locals()) y = x + 1 print(locals()) print(x, y) return b a()()
25. not。 逻辑操作符,‘非’; ‘and’、‘or’和‘not’的优先级是not>and>or; 非0或者非False才返回True。
26. or。 逻辑操作符,‘或’; 或运算符会触发短路现象,即第一个条件为真,则返回第一个条件的值;
27. pass。 一般使用在空函数上,占位符。 def sample(n_samples): pass当一个函数的具体实现没有策划好时,可以用pass来设置空函数。
28. raise。 python异常机制。有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出,raise关键字就是python主动抛异常设定的关键字。 一段主动抛异常的完整示例: class CustomError(Exception): def __init__(self,ErrorInfo): super().__init__(self) #初始化父类 self.errorinfo=ErrorInfo def __str__(self): return self.errorinfo if __name__ == '__main__': try: raise CustomError('客户异常') except CustomError as e: print(e)29. return。 保留函数最终的值,并终结程序运行;
30. try。 python异常机制。可参考except,finally关键字。
31. while。 循环语句。while 后接条件,若条件为真则运行后面的代码块。 x = 5 while(x>0): print('{:^20}'.format(x)) x = x - 1
32. with。 一般结构为with...as的使用方式。 with后面返回的对象要求必须两__enter__()/__exit__()这两个方法,而文件对象f刚好是有这两个方法的,故应用自如。 可通过重写上述两个函数修改 class Test: def __enter__(self): print('__enter__() is call!') return self def dosomething(self): x = 1/0 print('dosomethong!') def __exit__(self, exc_type, exc_value, traceback): print('__exit__() is call!') print(f'type:{exc_type}') print(f'value:{exc_value}') print(f'trace:{traceback}') print('__exit()__ is call!') return True with Test() as sample: sample.dosomething()
33. yield。 任何使用yield的函数都称之为生成器,而生成器通常可理解成迭代器。 如下,在python3.4.3之后需要使用__next__()来取下一个值。
参考文献: 【1】class参考。 https://www.cnblogs.com/chengd/articles/7287528.html 【2】break和continue参考。https://www.cnblogs.com/lijunjiang2015/p/7733859.html 【3】异常处理参考 https://www.runoob.com/python/python-exceptions.html 【4】nonlocal参考 https://blog.csdn.net/chain2012/article/details/7415602 【5】raise参考文献 https://blog.csdn.net/skullFang/article/details/78820541 【6】with参考 https://blog.csdn.net/lxy210781/article/details/81176687 【7】yield参考 https://blog.csdn.net/zxpyld3x/article/details/79181834 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |