目录
函数的作用
避免代码的重复。一种函数可以解决一类问题。
函数的定义
关键字def
格式
def name(number):
,,,,,,
return result
def 是关键字
name 是函数名称
number 是自变量(命名规则与变量命名规则是一致的)
使用关键字result返回一个值(数学上,叫函数的因变量)
函数的参数
给定参数
可以使用默认值,也可以使用可变参数(在变量名称前添加'*')
from random import randint
'''摇色子'''
def roll_dice(n=3):
sum = 0
for x in range(n):
sum += randint(1,6)
return sum
print(roll_dice())
print(roll_dice(3))
调用函数时roll_dice()则是使用默认参数,摇三次色子,若roll_dice(2)则是指定参数,摇两次色子。
可变参数
在参数名面前加个 * 表示自变量是个可变参数
def add(*x):
sum = 0
for i in x:
sum += i
return sum
print(add(1,2,3))
括号内可以添加多个参数,使用逗号隔开
用模块管理函数
若在同一个.py文件中定义了两个同名的函数,那么前一个函数就会被后一个函数覆盖。调用时,文件中实际上只存在一个函数。
函数调用
Python中每一个文件就代表了一个模块(module),在不同的模块中可以使用同名的函数。我们可以通过关键字import来导入指定模块的foo函数
①保存两个模块在电脑中
②调用模块的函数
若分别调用module1和module2的函数,则分别输出module1和module2内函数的内容。
调用的两种方式
若在开头使用两个import调用文件。则foo()函数的内容被最后一个import覆盖。
若想在开头就将函数调用完,则使用如下方法:
"__main__"
若模块内有可执行代码,那么在我们倒入模块时,也会执行。若不想它执行则在编辑模块时,需要将代码放入
if __name__ == '__main__':
中。除非直接执行该模块,否则,if里的代码是不会执行的。因为只有直接执行的模块名字才叫做
"__main__"。
变量的作用域
定义的函数内,变量的有效范围是函数内部。若想要这个变量成为全局变量,需要写成
global a