有的时候我们写的代码往往是一个功能组合,并且这组代码可能会很复杂,但是我们在写代码的时候可能会多次用到这组代码,每次都写这么多代码浪费时间并且检查、修改起来也很费劲。
这个时候我们可以定义函数,只要以后用到这组代码,把定义的函数拿出来就可以了。
比如:
def start_learn_python():
"""我们第一次接触python时候的代码"""
print("hello world!")
这是我们定义的一个最简单的函数,只要在Python中输入start_learn_python()就会输出hello world!
def告诉python我们要定义一组函数,紧接着def的是变量名称,括号内是变量工作的具体信息,当然我们这里没有,但是也不能省略。三引号是定义的注释理论上可以不写,print("hello world!")是这个定义的执行部分。
括号里要怎么加呢?
像这样:
def start_learn_python(name):
"""我们第一次接触python时候的代码"""
print(name.title() + ":hello world!")
start_learn_python("tom")
上述代码中name叫做形参,tom叫做实参。我们在代码中可以有多个形参,这意味着也可以有多个形参:
这次我们打印的是有两个人名的函数。注意,实参的顺序很重要,在这个例子中可能看不出来,要是这样一组代码:
def pet(ownername,petname): """告诉我们主人以及宠物名称""" print(petname + "是" + ownername +"的宠物。")pet("小明","大白")
那就“贻笑众人”了。
实参形参要一一对应,否则会出错
当然,我们可以给实参一个默认值,最起码让它代码不错。
我们在设置默认值的时候可以给所有实参都设置,也可以只设置某(几)个实参的默认值。
当然,如果我们在下边的函数中还另外给定了实参名称,那默认值就会被忽略。