欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

9.1、Python函数的定义及参数的调用

程序员文章站 2022-03-17 13:01:26
...

摘要:

  • 函数当在程序中多次执行同一任务时,无需反复编写完成该任务的代码,而只需调用执行该任务的函数,让python运行其中的代码。

  • 通过使用函数,可以是程序的编写、阅读、测试和修复更加容易。

  • 本节还会介绍向函数传递信息的方式、学习如何编写主要任务是显示信息的函数、还有用于处理数据并返回一个或一组值的函数。

  • 最后将学习如何将函数存储在被称为模块的独立文件中,让主程序的组织更为有序。

1、函数的定义:

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

greet_user('sarah')
  • def…:函数定义
  • “”"… …""" 文档字符串
  • 函数体。
  • 函数调用。

向函数传递参数,实参与形参

  • 上例中username是形参。
  • ‘sarah’是实参。

2、传递实参:

向函数传递实参的方法:位置实参、关键字实参。

2.1、位置实参:

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

实例1:

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')
describe_pet('dog','willie')
#输出:
I have a hamster.
My hamster's name is Harry.
注意:
  1. 可调用函数多次。
  2. 位置实参的顺序很重要。

2.2、关键字实参:

关键字实参是传递给参数的名称—值对;使用关键字实参,无需考虑函数调用中的实参顺序,还清楚地指出函数调用中各个值的用途。

实例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')

2.3、默认值:

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

实例3:

#当形参animal_type大多为dog时,可将形参animal_type的默认值设置为'dog'
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')

注意:默认值形参中,实参的传递依然遵守位置实参的传递原则。

2.4、等效的函数调用:

def describe_pet(pet_name,animal_type = 'dog'):
        """显示宠物信息"""
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
    
# 一 条 名 为 Willie 的 小 狗 
describe_pet(' willie') describe_pet( pet_name =' willie') 
# 一 只 名 为 Harry 的 仓 鼠 
describe_pet(' harry', 'hamster') 
describe_pet( pet_name =' harry', animal_type =' hamster') 
describe_pet( animal_type =' hamster', pet_name =' harry')

注意: 使用那种调用方式无关紧要,只要函数调用能生成你希望的输出就行;使用对你来说最容易理解的调用方式即可。

代码示例:[美] Eric Matthes. Python编程:从入门到实践

相关标签: python