[Python] 学习笔记-函数

本文介绍了Python中的函数概念,包括函数的定义、参数传入方式(位置参数、关键字参数、不定长参数、缺省参数)、返回值、函数的说明文档、嵌套调用、参数的作用域以及函数作为参数传递的场景,特别提到了lambda匿名函数的使用。
摘要由CSDN通过智能技术生成

函数



一、引例

# 计算字符串长度,代码如下:
str1 = "aaa"
str2 = "aaaa"
str3 = "aaaaa"

def fun(str):
    count = 0
    for i in str:
        count += 1
    print(count)

fun(str1)
fun(str2)
fun(str3)

二、函数的定义

def fun()
    print("Hello!")
    
fun()

三、函数参数的传入

# 两数相加,代码如下:
def add(a, b):
    print(f"{a}+{b}的结果是:{a+b}")
add(1, 2)
# 温度检测,代码如下:
a = int(input())
def fun(a):
    if a <= 37:
        print("体温正常")
    else:
        print("体温异常")
fun(a)

四、函数的返回值

# 两数相加,代码如下:
def add(a, b):
    c = a + b
    return c
d = add(1,2)
print(d)
# 温度检测,代码如下:
a = int(input())
def fun(a):
    if a <= 37:
        print("体温正常")
    else:
        print("体温异常")
fun(a)

五、函数的说明文档

def add(a, b):
    """
    add函数实现两数相加
    :paprm a: 形参a表示相加的其中一个数字
    :paprm b: 形参b表示相加的其中一个数字
    :return: 返回结果值
    """
    c = a + b
    return c
d = add(1,2)
print(d)

六、函数的嵌套调用

函数A调用函数B,当函数B全部执行完成后才继续执行A

七、参数的作用域

局部>嵌套外层>全局>内置
局部参数出了函数后,将会重新赋为全局变量,global可以将函数内定义的局部变量变为全局变量

num = 100
def fun():
    global num
    num = 200
print(num)

八、函数的多返回值

若一个函数有上下两行return,则只会返回第一行的值

def fun():
	return 1, "Python", True
x, y, z = fun()

九、函数的多种传参方式

1.位置参数

根据定义的参数位置来传递参数

def fun(name, score)
	print(f"姓名:{name},分数:{score}")
fun(stu1, 100)

2.关键字参数

键等于值,可以不按定义参数的顺序
位置参数和关键字参数混用时,位置参数需要放在前面

def fun(name, score)
	print(f"姓名:{name},分数:{score}")
fun(name = "stu1", score = 100)

3.不定长参数

可变参数,不确定调用时是否使用参数以及使用参数的个数
分为位置传递和关键字传递

# 位置传递的不定长,以元组形式存在
def fun(*args):
    print(args)
fun('Tom')
fun('Tom', 18)

# 关键字传递的不定长,以字典形式存在
def fun(**kwargs):
    print(kwargs)
fun(name= 'Tom', age = 20)

4.缺省参数

设定某些参数为默认值,默认值需要写在最后面

def fun(name, score,age = '20')
	print(f"姓名:{name},分数:{score}")
fun(name = "stu1", score = 100)

十、函数作为参数传递

1.函数作为函数的参数

将函数作为参数传入另一个函数 ,是计算逻辑的传递,而非数据的传递。

常见的函数:计算逻辑确定,数据不确定
函数传递:数据确定,执行逻辑不确定

def add(x, y):
    return x + y
    
def fun(function):
    result = function(1, 2)
    print(result)
    
fun(add)

2.lambda匿名函数

def关键字,定义有名称函数
lambda关键字,定义匿名函数(无名称),函数体只能写一行
有名称的函数,可以基于名称重复使用;无名称的匿名函数,只可临时使用一次。

def fun(add):
    result = add(1, 2)
    print(result)
fun(lambda x, y: x + y)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值