关于函数参数传递的可变对象陷阱,正确的有:
- A可变对象作为默认值会在调用间共享
- B函数内修改可变参数会影响调用者
- C默认参数建议使用None替代可变对象
- D可变对象作为默认值没有问题
- E使用不可变对象无法解决此问题
关于函数的参数顺序,正确的有:
- A位置参数必须在关键字参数之前
- B默认参数必须在非默认参数之后
- C关键字参数必须在位置参数之前
- D参数顺序可以任意排列
- E*args必须在所有参数之前
关于递归和迭代(循环)的比较,正确的有:
- A递归代码通常更简洁
- B迭代通常效率更高
- C递归总是优于迭代
- D递归可能导致栈溢出
- E所有递归都不能改为迭代
关于函数作为参数传递,正确的有:
- A函数可以作为参数传递给其他函数
- B接受函数参数的函数称为高阶函数
- Cmap和filter是典型的高阶函数
- D只能传递内置函数
- E传递函数时必须加括号调用
关于函数的作用域LEGB规则,正确的有:
- AL(Local)本地作用域
- BE(Enclosing)嵌套作用域
- CG(Global)全局作用域
- DB(Built-in)最先搜索
- ELEGB从外到内搜索
Python函数必须有return语句。
- A对
- B错
关于Python中变量的作用域,正确的有:
- A函数内创建的是局部变量
- B函数外创建的是全局变量
- C嵌套函数有嵌套作用域
- D局部变量在函数外也可访问
- E全局变量在任何地方都可修改
局部变量和全局变量同名时,函数内访问的是局部变量。
- A对
- B错
默认参数的值应该避免使用可变对象(如列表、字典)。
- A对
- B错
递归函数一定比循环更高效。
- A对
- B错
位置参数和关键字参数可以混合使用,但位置参数必须在前面。
- A对
- B错
函数的return语句只能返回一个值。
- A对
- B错
global关键字可以在函数外使用来声明全局变量。
- A对
- B错
在函数内部定义的变量一定是局部变量。
- A对
- B错
函数的默认参数可以是另一个函数调用。
- A对
- B错
*args和**kwargs可以同时出现在函数参数中。
- A对
- B错
递归函数的深度没有限制。
- A对
- B错
函数可以返回另一个函数。
- A对
- B错
nonlocal关键字可以用于修改全局变量。
- A对
- B错
函数的参数传递是值传递。
- A对
- B错
本页仅提供题目与选项供学习参考,不含答案。如需系统练习、自动判分与错题本,欢迎前往主站《Python语言程序设计》在线练习。