Python:函数的定义和参数

2020-04-18  本文已影响0人  庭阶

每个函数都应值负责一项具体的工作。一般应给函数指定描述性名称,容易阅读,且只使用小写字母和下划线。

1.定义函数:使用关键字def,以冒号结尾。

def greet():

#定义函数greet()
def greet():
    print("Hello world!")
#调用函数greet()
greet()

2.实参和形参

实参:是调用函数时,传递给函数的信息。
形参:定义函数时,定义函数完成需要的变量
一般在调用函数时,将实参传递个函数,实参值被存储在形参中。

#定义一个favorite_book()函数,包含title形参
def favorite_book(title):
    print("One of my favorite book is "+title.title())

favorite_book('educated')

3.传递实参

3.1位置实参

调用函数时,实参的顺序与形参的顺序一一对应

def describe_pet(animal_type,pet_name):
    print("\nAnimal type is :"+animal_type)
    print("\nAnimal name is :"+pet_name)
describe_pet('dog','wangwang')

3.2 关键字实参

关键字实参是传递给函数的名称-值对。在实参中将名字和值关联起来,传递时不会混淆,在调用时不需要考虑实参顺序,还能指出函数调用中各个值得用于。

ef describe_pet(animal_type,pet_name):
    print("\nAnimal type is :"+animal_type)
    print("\nAnimal name is :"+pet_name)
describe_pet('dog','wangwang')
#效果同describe_pet(animal_type='dog',pet_name='wangwang')
describe_pet(animal_type='dog',pet_name='wangwang')

3.3 默认形参

定义函数时,给函数的形参指定默认值,有了默认值得形参就是默认形参。在调用函数时,如果显示给默认形参提供了实参,则默认形参会被实参覆盖。

def describe_pet(pet_name,animal_type='dog'):
    print("\nAnimal type is :"+animal_type)
    print("\nAnimal name is :"+pet_name)
#调用函数时没有给形参animal_type提供实参,则会使用默认值“dog”
describe_pet(pet_name='wangwang')
#调用函数时,如果给形参animal_type提供了实参,则实参hamster会代替默认值dog
describe_pet(animal_type='hamster',pet_name='wangwang')

3.4 等效的函数调用

位置实参,关键字实参,默认形参有时调用效果一致,可以混合使用。

3.5函数返回值

函数可以返回任何类型的值,包括列表和字典等比较复杂的数据结构。

def build_person(first_name,last_name):
    """返回一个字典,其中包含有关一个人的信息"""
    person={'first_name':first_name,'last_name':last_name}
    return person
musician=build_person('xiaoru','song')
print(musician)
上一篇 下一篇

猜你喜欢

热点阅读