python⾃定义函数课后习题
1、编写⼀个函数,判断传⼊的字符参数是否为“回⽂联”
def ishw(str1):
if str1==str1[::-1]:
print('是回⽂联')
else:
print('不是回⽂联')
  ⽤[::-1]或者reversed实现字符串反转操作。sorted⽅法是按照字符串的as码进⾏排序。
2、如果希望在函数中修改全局变量的值,应该⽤什么⽅法?
  global
3、在嵌套的函数中,如果希望在内部函数修改外部函数的局部变量,应该使⽤什么关键字?
  nonlocal
4、代码B为何报错?应如何修改?
>>> def outside():
var=5
def inside():
print(var)
var=3
inside()
>>> outside()
  内部函数调⽤外部变量时,python为了保护外部变量,会对外部变量进⾏屏蔽,所以此时⽆法访问外部变量,变量没有定义直接打印所以报错。可以⽤nonlocal。
>>> def outside():
var=5
def inside():
nonlocal var
print(var)
var=3
inside()
print(var)
>>> outside()
5、请问如何访问funIn()呢?
>>> def funOut():
def funIn():
print('可以访问')
return funIn
>>> a=funOut()
>>> a()
可以访问
6、以下是“闭包”的⼀个例⼦,请你⽬测下回打印什么内容?
>>> def funX():
x=5
def funY():
nonlocal x
x+=1
return x
return funY
>>> a=funX()
>>> print(a())
>>> print(a())
>>> print(a())
>>> print(a())
6
7
8
9
  当a=funX()的时候,只要a变量没有被重新赋值,funX()就没有被释放,也就是说局部变量x就没有被初始化。
html实现用户注册登录代码7、请使⽤lambda表达式将下边函数转变为匿名函数
def fun_A(x,y=3):
return x*y
lambda x,y=3:x*y
>>> a
<function <lambda> at 0x02060348>
>>> a(1)
3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。