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-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)