python学习笔记——函数的使用续

本文详细探讨了Python函数对变量的影响,包括全局与局部变量的区别,如何在函数内部修改全局变量,以及代码复用和模块化设计的概念。此外,还深入讲解了函数递归,包括递归的定义、特征和实例,如阶乘计算与字符反转问题的解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 函数对变量的作用

一个程序中的变量包括两类: 全局变量和局部变量全局变最指在函数之外定义的变量,一般没有缩进, 在程序执行全过程有效。局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不存在。

1.例子(1)

n = 1
>>> def func(a,b):
 c =a*b
 return c
>>> s = func("dream",2)
>>> print(s,n)		
dreamdream 1		#由此看见n这个全局变量没有改变
>>> print(c)		
Traceback (most recent call last):	#出现错误,由此看见局部变量在函数执行完退出后就被释放
  File "<pyshell#7>", line 1, in <module>
    print(c)
NameError: name 'c' is not defined

1.例子(2)

>>> n = 3
>>> def func(a,b):
 n = b
 return a*b
>>> s = func("dream",2)
>>> print(s,n)
dreamdream 3

函数内部使用了变量n,并且将变量参数b赋值给变量n,但是我们发现,n值并没有发生改变。因为函数有自己的内存空间,它只将n=b语句理解为**生成一个局部变量,并将参数b赋值给它,此时函数并为将n当作全局变量。**所以,函数退出后,局部变量n被释放,所以n的值并没有发生改变。

1.例子(3)

如果想让函数将n当作全局变量,那么就要在变量n使用前,申明该显式为全局变量,代码如下:

>>> n = 1
>>> def func(a,b):
 global n
 n = b
 return a*b
>>> s = func("dream",2)
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值