python-函数

函数

简述

函数是带名称的代码块,用于实现某项具体的功能,
可以通过调用函数来执行完成某项功能的代码。

函数定义

通过def来定义一个函数

def fun():
    print('hello world')

调用函数

通过函数名和小括号()来调用
调用函数时,必须将函数中调用中的每个实参都关联到函数定义中的每一个形参

def greet(name):
    print('Hey,', name)

greet('tom') #Hey, tom

传递实参

(1)位置实参

python按顺序将函数调用中的实参关联到函数定义中相应的形参

def sayPersonInfo(name, age):
    print("Hey, I'm", name, ", and I'm", age, "years old.")

sayPersonInfo('tom', 12)
#Hey, I'm tom , and I'm 12 years old.

如果这样调用函数sayPersonInfo(12, 'tom'), 我想结果并不是你所希望看到的

注意:确认函数调用时的实参顺序和函数定义时的形参顺序一致


(2)关键字实参

传递给函数的名值对,直接在实参中将名称和值关联起来

关键字实参让你无需考虑函数调用中实参的顺序

下面代码的两种调用方式是等价的

def sayPersonInfo(name, age):
    print("Hey, I'm", name, ", and I'm", age, "years old.")

sayPersonInfo(name='tom', age=12) #called 1
sayPersonInfo(age=12, name='tom') #called 2
#Hey, I'm tom , and I'm 12 years old.


(3)默认值

定义函数时,可给每个形参指定默认值。

在调用函数时,如果给形参提了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。

def sayPersonInfo(name, age, hobby=''):
    print("Hey, I'm", name, ", and I'm", age, "years old.")
    if hobby:
        print("My hobby is ", hobby)

sayPersonInfo('tom', 12) 
#Hey, I'm tom , and I'm 12 years old.

sayPersonInfo('tom', 12, 'basketball')
#Hey, I'm tom , and I'm 12 years old.
#My hobby is  basketball
原文地址:https://www.cnblogs.com/marton/p/10661187.html