Python

Python快速精通4 - 函数,lambda表达式

2019-05-28  本文已影响67人  小马哥China

1,函数入门

1.1函数本质

1.2 创建函数

语法格式:

def 函数名(形参列表):
    ['''函数文档''']
    可执行语句组成的函数体
    [return [返回值]]

函数名: 合法的标志名(最好是能够见名知意)
形参列表: 定义函数可以接收的参数.可以没有形参,也可以有多个形参,之间用","隔开,调用的时候为形参赋值.
函数文档: 用以解释说明函数功能,放置在函数定义的开始部分
函数体: 函数体内部的语句按照语句的先后顺序执行.

实例: 用于比较求两个整型变量的最大值

# 定义一个函数
def get_max(x,y):
    if x>y:
        return x
    else:
        return y
# 调用函数,并为函数传入实际参数
result = get_max(1,100)
print(result)
100
#上一个例子的另一种写法
def get_max(x,y):
    return x if x>y else y

print(get_max(1,100))
100

实例: 展示函数文档的作用

def sayHello():
    '''sayHello实现了打招呼的功能'''
    print('Welcome pythoner!')
help(sayHello)
Help on function sayHello in module __main__:

sayHello()
    sayHello实现了打招呼的功能

1.3 使用函数

如上面例子所示,使用函数即直接调用函数名,并传入函数参数,get_max(1,100)即完成了调用

1.4 函数返回值

例一,没有返回值

def savePerson(name,age):
    print('Name:{0}, Age:{1}, 数据保存成功!'.format(name,age))
savePerson('马云',55)
Name:马云, Age:55, 数据保存成功!

例二,一个返回值

#上一个例子的另一种写法
def get_max(x,y):
    return x if x>y else y

print(get_max(1,100))
100

例三,多个返回值

def getPerson():
    name,age = '马化腾',28
    return name,age
result = getPerson()
print('getPerson()返回值类型: ',type(result))
print(result)
getPerson()返回值类型:  <class 'tuple'>
('马化腾', 28)

2,函数的参数详解

2.1 参数用法1: 一般使用

定义函数的时候,会在参数列表里面指定形式参数,所谓形参类似一个占位声明的意思,等函数被调用的时候传递给函数这个"黑匣子"实际的参数,谁调用谁传入实际参数

# 形式参数: 下面是一个函数的声明,length与width就是形式参数
def area(length,width):
    '''这里是函数文档,一般用于介绍函数的功能及使用: 根据传递进来的参数长与宽,计算面积'''
    return length*width

# 函数说明文档: 这里是对函数文档的调用
help(area)

# 实际参数: 这里是对area函数的调用,在调用的时候传入实际参数
print('面积: ',area(1,1))
Help on function area in module __main__:

area(length, width)
    这里是函数文档: 根据传递进来的参数长与宽,计算面积

面积:  1

2.2 参数用法2: 关键词参数的使用

有一种场景,假设我现在在调用一个函数saveData(name,age,email,address,school),这个函数有多个参数,调用的时候如果传参顺序没摆放正确,函数即使不会抛出异常,结果也不是你期望的,python给出这样的方式避免错误,那就是在调用时候,我们给实际参数指定形式参数的名字.如下面例子:

def saveData(name,age,email,address,school):
    print("Name: {0}的数据已经成功保存.".format(name,age))

2.3 参数用法3: 参数默认值

2.4 参数用法4: 可变个数的参数

3,内部函数(局部函数)

4,函数高级内容

4.1 函数作为变量

4.2 函数作为参数

4.3 函数作为返回值

4.4 递归函数

5,lamda表达式

上一篇下一篇

猜你喜欢

热点阅读