week07
2021/8/23 23:06:06
本文主要是介绍week07,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 如何为函数定义keyword-only参数(写出个例子即可)?
keyword-only形参,位于*args或者*,之后,只能接受关键字传入实参。
#示例1 def foo(x, *args, y): print(x, y, args) foo(1, 2, 4, y=200) #调用时keyword-only参数只支持以关键字形式传入的参数 #示例2 def foo(*, x, y): print(x, y) foo(x=1, y='abc') #示例3 def bar(a, b, /, c, d=10, *args, m=20, n, **kwargs): #注意*args后面的m=20定义缺省值可以放在前面 print(a, b, c, d, args, m, n, kwargs) #该函数中,m和n时keyword-only参数,需要以k,y的形式传入实参,但是因为m有默认值,所以直接传入n的参数即可。注意传参的时候要放到位置参数后面。 bar(1, 2, n=100, c=5) 2 5 10 () 20 100 {}
2. 什么是LEGB,请解释
变量的优先级顺序,优先级由高低依次是L-->E-->G-->B。函数定义中,优先使用本地局部变量,本地无定义的情况下在按顺序向外查找。
-
L: Local,本地局部变量。
-
E: Enclosing,外层函数局部变量。
-
G: Goabl,跟模块有关,当前模块中的全局变量,模块需要加载,默认是main模块。
-
B: Built-in,内建变量,print,list,str,int,range,Exception 生命周期和解释器相同。
3. 实现一个计算机程序,如下效果:
- 运行后提示让用户输入一个数字
- 提示输入操作符(+ - * /)
- 再次提示输入一个数字
- 打印计算结果
- 在不退出程序的前提下,可以允许用户继续输入新一组数据计算
- 尽可能改善用户体验
def addition(x, y): return x + y def subtraction(x, y): return x - y def multipulication(x, y): return x * y def division(x, y): return x / y def calculator(*args): print("="* 30 + "简单计算器" + "=" * 30) x = int(input('请输入一个数字: ')) o = input('请输入运算符 + - * /: ') y = int(input('请输入第二个数字: ')) if x or y or o: print("请按要求输入相应的字符。") if o == '+': return addition(x, y) elif o == '-': return subtraction(x, y) elif o == '*': return multipulication(x, y) if o == '/' and y != 0: return division(x, y) else: print("0不可以做除数,请重新输入。") while True: print("计算结果:{}".format(calculator())) #输出结果 ==============================简单计算器============================== 请输入一个数字: 1000 请输入运算符 + - * /: + 请输入第二个数字: 1000 请按要求输入相应的字符。 计算结果:2000
这篇关于week07的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?
- 2024-12-23汽车4S店运营效率提升的核心工具