python - 内置对象 之 保留字 & 关键字

目录

1.python保留字

2.保留字分类介绍

3.保留字使用语法介绍


1.python保留字

  • and       用于表达式运算,逻辑与操作
  • as        用于类型转换
  • assert    断言,用于判断变量或条件表达式的值是否为真
  • break     中断循环语句的执行
  • class     用于定义类
  • continue  继续执行下一次循环
  • def       用于定义函数或方法
  • del       删除变量或序列的值
  • elif         条件语句,与if,else结合使用
  • else      条件语句,与if,elif结合使用,也可用于异常和循环语句
  • except    except包含捕获异常后的操作代码块,与try,finally结合使用
  • exec      用于执行python 语句
  • for       for循环语句
  • finally   try..except..finally..无论有否始终要执行finally
  • from      用于导入模块,与import结合使用
  • global    定义全局变量
  • if            条件语句,与else,elif结合使用
  • import    用于导入模块,与from结合使用
  • in           判断变量是否在序列中
  • is            判断变量是否为某个类的实例
  • lambda  定义匿名变量
  • not         用于表达式运算,逻辑非操作
  • or          用于表达式运算,逻辑或操作
  • pass      空的类,方法,函数的占位符
  • print      打印语句
  • raise     异常抛出操作
  • return    用于从函数返回计算结果
  • try         try包含可能会出现异常的语句,与except,finally结合使用
  • while     while的循环语句
  • with      上下文管理器
  • yield     定义生成器
  • nonlocal  非本地声明,声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量
  • false     布尔保留字

2.保留字分类介绍

  • 1.逻辑运算保留字:and(与操作), not(非操作), or(或操作)
  • 2.对象引用增加保留字,相当于绑定别名: as
  • # import 模块 as 别名(对象引用) # (try) except 异常 as 对象引用 # with ... as 对象引用
  • 3.assert:断言语句保留字,通过异常进行程序辅助调试
  • # assert 判断条件 # 如果条件为False,产生AssertiomError异常
  • 4.循环控制保留字:break, continue
  • # break:退出当前层循环 # continue:退出当次循环
  • 5.类定义保留字:class
  • # class 类名 # class 派生类名(基类名):
  • 6.def:函数定义保留字
  • # def 函数名(参数列表): # async def 函数名(参数列表):
  • 7.条件判断保留字:if , elif, else
  • 8.异常处理保留字:try, except, finally
  • # try-except # try-except-else-finally
  • 9.循环处理关键字:for, while
  • # 遍历循环: for...in # 无限循环:while
  • 10.模块导入关键字: from import
  • # import 模块名 # from 模块名 import *
  • 11.in : 成员关系操作保留字
  • # 成员关系判断 ..in.. # 成员关系提取 for...in
  • 12.is :对象判断保留字
  • # 对象一致性判断,即比较id()函数结果 # 以内存对象为判断依据: x is y
  • 13.lambda:匿名函数保留字
  • # 定义匿名函数,产生函数对象 # lambda 参数列表:表达式
  • 14.pass:空操作保留字,代表空操作,占位符
  • 15.raise:异常产生保留字
  • # 产生一个异常,辅助try-except程序功能 # raise 异常名称
  • 16.return:函数返回保留字
  • # 结束当前函数,返回0个或多个结果
  • 17.with:上下文管理保留字
  • # 构建并管理一个上下文区域 # with表达式as对象
  • 18.生成器定义保留字:yield
  • # 定义一个同步或异步(协程)生成器
  • 19.删除保留字:del
  • # 解除引用与对象的绑定关系,“删除”引用 # del 引用
  • 20.全局声明保留字: global,全局变量声明,声明后可以赋值
  • 21.nonlocal:非本地声明保留字,用来在函数或其他作用域中使用外层(非全局)变量。
  • 22.布尔保留字:True, False
  • 23.空无保留字:None
  • 24.协程声明保留字:async
  • # 声明一段协程程序 # async def 协程函数名(函数参数): # async with ...:
  • 25.协程等待保留字: await
  • # 等待一段协程程序执行并返回结果 # await 协程函数调用()

3.保留字使用语法介绍

(1)assert断言

  • 断言函数是对表达式布尔值的判断,要求表达式计算值必须为真。
  • 如果表达式为假,触发异常;如果表达式为真,不执行任何操作。
  • 作用:检查某条件是否符合,不符合就触发异常,终止程序.可以等价raise-if-not
  • 语法:assert 表达式 [, 参数]
_age = input("请输入您的年龄:")
age = int(s_age)
#判断age是否在20至80之间,是则执行一步,否则发出异常
assert 20 < age < 80 
print("您输入的年龄在20和80之间")

(2)nonlocal声明内外层同名变量为相同变量

  • 1)用于在内层函数中改变外层函数变量
a = 10 # a1 当前模块全局变量

def outer():

a = 9 # a2 outer局部变量

def inner():

nonlocal a

a = 8 # a既是inner局部变量,又是外层outer局部变量

print(a) # a3 8,在inner的局部作用域中找到了a3

inner() # inner()函数结束,a3作为外层变量(outer局部变量)被保留成为a2

print(a) # a2 8,在outer局部作用域中找到a2(在inner中被改变)

outer() # outer()函数结束,a2作为outer局部变量被释放

print(a) # a1 10,在当前模块全局作用域中找到了a1

结果:

8

8

10

  • 2)如果在外层没有找到变量a,则会继续在再外层寻找,直到全局作用域的下一层为止
a = 10 # a1 当前模块全局变量

def outer2():

a = 9 # a2 outer2作用域局部变量

print(a) # a2 9,还未被a3改变

def outer1():

print(a) # a2 9,在outer1中没找到局部变量a,则寻找外层(outer2)变量a2(还未被a3改变)

def inner():

nonlocal a

a = 0 # a3 既是inner局部变量,又是再外层outer2作用域变量

print(a) # a3 0, 找到inner局部变量a3

inner() # inner()函数结束,a3作为外层变量(outer2局部变量)被保留成为a2

print(a) # a2 0,在outer1中没找到局部变量a,则寻找外层(outer2)变量a2(被a3改变)

outer1()

print(a) # a2 0, 在outer1中找到outer1局部变量a2(被a3改变)

outer2()

print(a) # a1 10,在当前模块全局作用域中找到了a1

结果:

9

9

0

0

0

10

  • 3)全局变量不是外层变量,不被nonlocal寻找
a = 10 #a为全局变量

def outer():

def inner():

nonlocal a #在当前作用域外层即outer局部作用域中没找到outer局部变量a,outer外层为全局作用域,nonlocal不继续寻找,报错

a = 8

print(a)

inner()

print(a)

outer()

print(a) # a1 10,在当前模块全局作用域中找到了a1

结果:

SyntaxError: no binding for nonlocal 'a' found

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值