Python全系列 教程
3567个小节阅读:5929.1k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Python在查找“名称”时,是按照LEGB规则查找的:
Local
指的就是函数或者类的方法内部
Enclosed
指的是嵌套函数(一个函数包裹另一个函数,闭包)
Global
指的是模块中的全局变量
Built in
指的是Python为自己保留的特殊名称
如果某个
name
映射在局部local
命名空间中没有找到,接下来就会在闭包作用域enclosed
进行搜索,如果闭包作用域也没有找到,Python就会到全局global
命名空间中进行查找,最后会在内建built-in
命名空间搜索 (如果一个名称在所有命名空间中都没有找到,就会产生一个NameError
)
xxxxxxxxxx
#测试LEGB
s = "global"
def outer():
s = "outer"
def inner():
s = "inner"
print(s)
inner()
outer()
我们依次将几个
s
注释掉,观察控制台打印的内容,体会LEBG的搜索顺序。
实时效果反馈
1. 如下代码,调用outer()
函数,则会输出的是:
xxxxxxxxxx
s = "global"
def outer():
s = "outer"
def inner():
s = "inner"
print(s)
inner()
outer()
A inner
B outer
C global
D 会报错
答案
1=>A
定义一个函数实现反响输出一个整数。比如:输入3245,输出5432.
编写一个函数,计算下面的数列:
输入三角形三个顶点的坐标,若有效则计算三角形的面积;如坐标无效,则给出提示
输入一个毫秒数,将该数字换算成小时数,分钟数、秒数
使用海龟绘图。输入多个点,将这些点都两两相连