函数1定义函数和传递参数-python进阶篇一

一、定义函数

def greet_user():
"""显示简单的问候语"""
    print("Hello!")
greet_user()

  这个示例演示了最简单的函数结构。关键字def 来告诉Python你要定义一个函数,还可能在括号内指出函数为完成其任务需要什么样的信息。函数名为greet_user() ,它不需要任何信息就能完成其工作,因此括号是空的(即便如此,括号也必不可少),最后,定义以冒号结尾。紧跟在def greet_user(): 后面的所有缩进行构成了函数体。代码行print("Hello!") 是函数体内的唯一一行代码,greet_user() 是函数的调用:打印Hello! 。

二、向函数传递信息

  只需稍作修改,就可以让函数greet_user() 不仅向用户显示Hello! ,还将用户的名字用作抬头。

def greet_user(username):
"""显示简单的问候语"""
    print("Hello, " + username.title() + "!")
greet_user('jesse')

#Hello, Jesse!

  1、实参和形参

  在函数greet_user() 的定义中,变量username 是一个形参形 ——函数完成其工作所需的一项信息。在代码greet_user('jesse') 中,值'jesse' 是一个实参 。实参是调用函数时传递给函数的信息。我们调用函数时,将要让函数使用的信息放在括号内。在greet_user('jesse') 中,将实参'jesse' 传递给了函数greet_user() ,这个值被存储在形参username 中。

  鉴于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多,可使用位置实参位 ,这要求实参的顺序与形参的顺序相同;也可使用关键关字实参字 ,其中每个实参都由变量名和值组成;还可使用列表和字典。下面来依次介绍这些方式。

  (1)位置实参

  调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式是基于实参的顺序。这种关联方式被称为位置实参位。

def describe_pet(animal_type, pet_name):
    """显示宠物的信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('hamster', 'harry') #按顺序提供一种动物类型和一个名字
'''
I have a hamster.
My hamster's name is Harry.
'''

  (2)关键字实参

def describe_pet(animal_type, pet_name):
    """显示宠物的信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".") describe_pet(animal_type='hamster', pet_name='harry')

describe_pet(animal_type='hamster', pet_name='harry')
describe_pet(pet_name='harry', animal_type='hamster')

  (3)给形设定默认值

  编写函数时,可给每个形参指定默认值默 。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。

def describe_pet(pet_name, animal_type='dog'):
    """显示宠物的信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
  describe_pet(pet_name='willie') #宠物的类型使用了默认值

'''
I have a dog.
My dog's name is Willie.
'''
posted @ 2021-09-10 09:47  逍遥abin  阅读(169)  评论(0编辑  收藏  举报