Python:函数的定义和参数

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

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 函数和函数式编程 5.1 引言函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数...
    VIVAFT阅读 976评论 0 5
  • 一、函数 1.函数概述 1.1认识函数 需求:求圆的面积s = π * r ** 2c = math.sqrt(a...
    hollow_02f9阅读 743评论 0 2
  • 1. 函数的定义与使用 这个示例演示了最简单的函数结构。使用关键字def来告诉Python你要定义一个函数。 定义...
    尔玉RGX阅读 315评论 0 1
  • 1.定义一个函数 定义一个函数需要5个部分: def告诉Python,用户在自定义函数 function_name...
    陶不渊阅读 466评论 0 0
  • 使用 Array.isArray 判断,如果返回 true, 说明是数组; 使用 instanceof Array...
    zhaur阅读 349评论 0 0