Python中函数的使用

版权声明:文章版权归本博客所以未经许可不能转载 https://blog.csdn.net/u011738045/article/details/82459384

什么是函数

对重复利用的代码进行封装,写成独立模块,这种定义过程就是函数

def fun():         #def 定义关键字, fun() 函数名
    print(a)      #重复抽离的代码块

函数的使用

函数名()  这就是函数的调用    fun()就是调用刚才定义函数

带有参数的函数

def fun(a,b)     #a,b,表示参数名字随意,多个参数用逗号隔开,这个参数也叫形参,

调用的使用fun(1,2)参数要一一对应这个是参数叫实参

函数的返回值

def fun():
    a=1;
    b=2;
    c=3
    #return (a,b,c)      #返回一个元组
    return a,b,c         #分别返回a,b,c,但实际结果返回的也是一个元组形式和第一个一样



 #return功能,执行函数返回的内容,还有结束函数的执行,如同break一样结束循环,一个函数中也可以返回多个值,封装就行

函数的类型

def a():
    pass              #无返回值,无参数


def d():
    return            #无参数,有返回值


def b(a, b):
    pass              #有参数,无返回值


def c(a, b):
    return a          #有参数,有返回值

函数的嵌套调用

在一个函数的调用过程中,再次调用另一个函数,就是函数的嵌套调用

典型例子,递归算法

匿名函数

# 匿名函数定义

# lambda 参数:式子
lambda x, y: x + y  # 冒号前面就是普通函数的形参,后面位置相当于普通函数return 后面内容也就是表达式,这个函数没有名字,lambda只是函数的定义格式而已要想使用必须找一个变量保存下来

func = lambda x, y: x + y

# 要运行这个函数的使用就是这个函数名加括号  也就是 》》func(参数,参数)
func(1, 2)

#  匿名函数和普通函数的区别

#  匿名函数默认有返回值,  普通函数没有返回值

# 匿名函数后面的表达式 相当于普通函数return的内容 就是表达式不能有代码语句


# 使用场景

# 可以用于字典排序

info = [{"name": "Tom", "age": 18}, {"name": "Jack", "age": 19}]

info.sort(key=lambda x: x["age"])

print(info)


# 可用于函数参数,扩充函数功能

def a(c, d, fun):
    result = func(c + d)
    print(result)


a(1, 2, lambda x, y: x + y)  # 因为匿名函数写的是白表达式

# python动态语言,可以在运行的时候修改代码运行

# Python2inpu("")输入任何东西当做一个表达式来执行, 而Python3input("")输入的东西都当做字符串来处理   ,所以可以用eval(内容)这个时候就可转换成表达式


猜你喜欢

转载自blog.csdn.net/u011738045/article/details/82459384