学习python,首先需要熟悉一下python的33关键字。

直接上表:(除前三个关键字,其余按字母表顺序排序)

 

FalseNoneTrue   
andasassertbreakclasscontinue
defdelelifelseexceptfinally
forfromglobalifimportin
islambdanonlocalnotorpass
raisereturntrywhilewithyield

 依次扼要说明一下:

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()()

 

def a():
  x = 0
  def b():
    nonlocal x
    x += 1
    print (x)
  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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐