- 如何为函数定义keyword-only参数(写出个例子即可)?
keyword-only参数在定义时,必须出现在参数列表中的*args之后**args之前
def kw_only(a,*b,c,**d):
print(a,b,c,d)
>>> kw_only(1,2,c=3,d=4)
1 (2,) 3 {'d': 4}
- 什么是LEGB,请解释
- L (Local) 局部作用域
- E (Enclosing) 闭包函数外的函数中
- G (Global) 全局作用域
- B (Built-in) 内建作用域
变量/函数 的查找顺序:
L –> E –> G –>B
g_var = "global env"
def outer():
g_var = "closed func"
def inner():
g_var = "local env"
print(g_var)
inner()
outer()
- 实现一个计算机程序,如下效果:
- 运行后提示让用户输入一个数字
- 提示输入操作符(+ - * /)
- 再次提示输入一个数字
- 打印计算结果
- 在不退出程序的前提下,可以允许用户继续输入新一组数据计算
- 尽可能改善用户体验
def add(a, b):
print(a + b)
def sub(a, b):
print(a - b)
def mul(a, b):
print(a * b)
def div(a ,b):
print(a / b)
while True:
num1 = input("请输入一个数字:")
sign = input("请输入一个操作符(+,-,*,/):")
num2 = input("请输入第二个数字:")
try:
if sign == "+":
add(int(num1), int(num2))
elif sign == "-":
sub(int(num1), int(num2))
elif sign == "*":
mul(int(num1), int(num2))
elif sign == "/":
div(int(num1), int(num2))
else:
print("请选择正确的操作符")
except:
print("错误,请输入正确的数字")