Python 入门
作用域
理解局部变量和全局变量
- 区分局部变量和全局变量
- 理解函数内外变量的可见性
- 了解 global 关键字
局部变量
函数内部定义的变量只能在函数内部使用。
示例代码(可运行)
Python 0%
全局变量
函数外面定义的变量,函数里面能直接读。
示例代码(可运行)
Python 0%
函数内修改全局变量
函数里直接给变量赋值,默认创建的是局部变量。要改全局变量的话,得用 global 声明。
示例代码(可运行)
Python 0%
💡少用 global
global 会让代码难以调试。更好的做法是用参数传入、return 返回新值。
预测输出
x = 10
def f():
x = 20
print(x)
f()
print(x)找 Bug函数里写 total = total + n,Python 会把 total 当成局部变量,可你还没给它赋值就用了,直接报错。加个 global 声明 total 就行。
total = 0
def add(n):
total = total + n
add(5)
print(total)
填空题填写空白处的代码
x = 10
def f():
x
x = 20
f()
print(x)
选择题
函数内直接给全局变量赋值会怎样?
选择题
函数内部定义的局部变量,在函数外面能直接访问吗?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
print 把对象交给 sys.stdout 写出,显示时默认调用对象的 __str__;在交互环境直接回显变量走的是 __repr__(更偏「给开发者看的表示」)。sep 改分隔符、end 改结尾、file 可重定向到文件。面试常追问:生产环境为什么用 logging 而不是 print?因为日志有级别、能落盘、可结构化、可统一关闭,print 只适合临时调试。
挑战任务
计数器
简单+50 XP
写一个计数器函数,每次调用就把全局的 count 加1,调用满3次后输出结果。
计数器
Python 0%
2 个测试用例
课后作业
函数版计算器
中等+20 XP
写 calc(a, b, op) 根据 +、-、*、/ 返回结果。
函数版计算器
Python 0%
1 个测试用例