Python关键字35个
摘要
python3.x中有35个关键字,⽐python2.x增加了6个: False True None async await和nonlocal 且删除了exec与print。python3.8中:
python2.7中:
详解(按新版图⼀顺序):
(1)False 和 True : 布尔值,0和1
(2)None: 空
(3)and、not 和 or: 逻辑与,逻辑⾮,逻辑或。
(4)as:三种⽤法如下
(1)起到别称的作⽤
>>>from decimal import Decimal as D #⽤⾃定义的D代替Decimal⽅法,便于下⾯的书写。
>>> D(0.1)+D(0.2)
Decimal('0.3000000000000000166533453694')
(2)经典的with as⽤法,with后⾯紧跟着的对象,会调⽤它的__enter__⽅法,返回的对象会
赋值给temp
>>>with object as temp:
(3)与except组合起来,看下⾯,捕获到Exception对象会赋值给e
>>>try:
>>>pass
>>>except Exception as e:
>>>pass
(5)assert:断⾔,⽤于判断变量或条件表达式是否为真。
assert 断⾔在意义上相当于 if-not-raise,如果表达式为假,就会发⽣异常。
简单⽤法⽰例如下:
>>>assert2+2==4#正确的表达式⽆返回值
>>>assert2+2==5
Traceback (most recent call last):
File "<stdin>", line 1,in<module>
AssertionError #错误的报错AssertionError
>>>assert2+2==4,"正确啦啦啦"
>>>assert2+2==5,"错误啦啦啦"
Traceback (most recent call last):
File "<stdin>", line 1,in<module>
AssertionError:错误啦啦啦#⾃定义的错误返回值
(6)async 和 await: 协程和挂起协程
本⼈新⼿难以理解—— 详情参考:
(7)break 和 continue: 前者结束循环,后者结束当前当次循环。
for s in"python":
if s=='t':
continue
print(s,end='')
>>>pyhon
for s in"python":
if s=='t':
break
print(s,end='')
>>>py
(8)class:⽤于定义类。
(9)def:⽤于定义函数或⽅法。
(10)del:删除变量或序列的值。
(11)if,elif,else : python中的条件分⽀语句
(12)try ,except, finally:异常处理语句
try:
alm=int(input("请输⼊⼀个整数: "))
print(alm+1)
except:
print("输⼊错误")
finally:#finally中的语句⽆论是否发⽣异常,都会执⾏
print("程序结束")
>>>10
>11
>程序结束
>>>jsd
>输⼊错误
>程序结束
另:常见异常
(13)for 和 while:遍历循环和⽆限循环。python的try和except用法
(14)from 和 import :⽤于导⼊模块或引⽤库。
(15)global 和 nonlocal:全局变量和外层变量。global:
a="qaq"
def foo():
global a
a=10
print(a+1)
print(a)#运⾏函数前
foo()#函数运⾏,函数⾥使⽤global关键字改变了全局变量a的值print(a)#函数运⾏后
>qaq
>11
>10
x="qaq"
def one():
x=1
def two():
x=2
print("two: ",x)
two()
print("one: ",x)
one()
print("global: ",x)
>two:2
>one:1
>global: qaq
加⼊关键字nonlocal后
x="qaq"
def one():
x=1
def two():
nonlocal x 将第⼀层函数的值1变成了2
x=2
print("two: ",x)
two()
print("one: ",x)
one()
print("global: ",x)
>two:2
>one:2
>global: qaq
通过nonlocal把上⼀层函数的值改变了。
只将以上代码中的nonlocal替换成global观察:
x="qaq"
def one():
x=1
def two():
global x
x=2
print("two: ",x)
two()
print("one: ",x)
one()
print("global: ",x)
>2
>1
>2#全局变量被替换
>>> g=lambda x,y:x+y
>>> g(3,4)
7
(19)pass:空的类、⽅法或函数的占位符。
def foo():
pass
foo()
关键字pass属于占位关键字,⼀般是在开发中先⽤它占据函数体确定整个模块的基本框架,之后再删去pass填充函数体。pass的合理使⽤可以⽅便我们组织编程。当程序运⾏到pass时不会执⾏任何操作,解释器会把pass当做⼀条咸鱼⽽不去理会。
(20)raise: 除了常见的try–except异常处理语句,raise可以主动抛出⼀个异常,定义异常信息内容:
raise NameError([str]) : raise 异常类型(异常参数)
通过raise 引发异常时,raise 后⾯的操作将不会被执⾏ 常见⽤法如下:
主动抛出⼀个异常
while1:
def number():
a =int(input('输⼊第⼀个数:'))
b =int(input('输⼊第⼆个数:'))
if a < b:
raise Exception("a < b")
print("a>b")# 如果a<b则不执⾏该语句
try:
number()
except Exception as e:
print(e)
#运⾏结果:
>>>输⼊第⼀个数:2
>>>输⼊第⼆个数:8
a <
b 第⼀个print语句并未被执⾏
>>>输⼊第⼀个数:6
>>>输⼊第⼆个数:2
a>b
⾃⼰创建⼀个异常类
class InputError(Exception):# 创建⼀个新的exception类来抛出⾃⼰的异常。# 异常应该继承⾃ Exception 类,包括直接继承,或者间接继承
def__init__(self, errorinfor):
< = errorinfor
def__str__(self):
def score():
grade =int(input('你的成绩是:'))
if grade <=0or grade >=150:
raise InputError('考试分数只能在0-150')
try:
score()
except InputError as e:
print(e)
>>>你的成绩是:156
>考试分数只能在0-150
(21)return:⽤于函数返回计算结果
(22)with:简化python的语句。
with语句可⽤于对try except finally 的优化,让代码更加美观,
fo=open('file_name',"r")
try:
ad())
except:
pass
finally:
fo.close()#⽂件关闭⾮常有必要
**等价于下⾯**:
with open('file_name','r')as fp:#with⾃带关闭,异常也能⾃动关闭
ad())
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论