Python中函数的应用 - 第一章

知识点1:函数的定义

在 Python 中,函数是一种封装了一段代码逻辑的模块,可以通过函数名调用并执行。函数的定义使用 def 关键字,后面跟函数名、参数列表和冒号,然后是一个代码块(缩进表示)。函数可以有返回值,也可以没有。

def function_name(parameters):
    # 函数体
    # 执行的代码逻辑
    return value  # 可选,返回值

def:用于定义函数的关键字。

function_name:函数的名称,用于后续调用。

parameters:函数的参数列表,可以为空,也可以有多个参数,用逗号分隔。

return:用于返回值的关键字。如果省略 return,函数默认返回 None 

案例:

知识点2:用函数编程,设置一个简易计算器,能计算+ - * /

案例

这里定义了一个名为 calculator 的函数,它接受三个参数: a:第一个操作数(数字)。 opt:运算符(字符串),用于指定要执行的运算类型。 b:第二个操作数(数字)。

知识点3:Python 函数参数的传递方式

代码前2行的意图: 

定义了一个名为 food 的函数,它接受四个参数:main、other、drink 和 dessert。

函数的逻辑非常简单:将四个参数的值打印出来。

这里涉及到3种函数调用方式:

调用函数(第一种方式)

food("rice", "chicken", "coke", "ice cream")

调用方式:使用位置参数传递。

解释: "rice" 被赋值给第一个参数 main。 "chicken" 被赋值给第二个参数 other。 "coke" 被赋值给第三个参数 drink。 "ice cream" 被赋值给第四个参数 dessert。

输出结果: rice chicken coke ice cream

调用函数(第二种方式)

food(main="zong_zi", drink="haohede", dessert="tiande", other="haochide")

调用方式:使用关键字参数传递。

解释: 通过关键字明确指定每个参数的值,顺序可以任意。 "zong_zi" 被赋值给 main。 "haochide" 被赋值给 other。 "haohede" 被赋值给 drink。 "tiande" 被赋值给 dessert。

输出结果: zong_zi haochide haohede tiande

调用函数(第三种方式)

food("zong_zi", "haohede", dessert="tiande", drink="haochide")

调用方式:混合使用位置参数和关键字参数。

解释: 前两个参数 "zong_zi" 和 "haohede" 是位置参数,分别赋值给 main 和 other。 后两个参数通过关键字指定,"tiande" 赋值给 dessert,"haochide" 赋值给 drink。

输出结果: zong_zi haohede haochide tiande

参数数量不确定的情况

如果函数的参数数量不确定,可以使用 *args(用于接收额外的位置参数)或 **kwargs(用于接收额外的关键字参数)。

知识点4 - 函数调用 - 模拟学生注册的过程

函数名:

student_register,表示学生注册的功能。

参数:

1. name:

学生的姓名,是必填参数。

2. age:

学生的年龄,也是必填参数。

3. gender:

学生的性别,默认值为 "male"。这是一个可选参数,如果不提供值,将自动使用默认值 "male"。

函数逻辑:

将传入的参数值打印出来,格式为 name age gender。

知识点5:

这段代码展示了 Python 中如何使用 *args(位置参数的动态传参)和 **kwargs(关键字参数的动态传参)来接收不确定数量的参数。

小结

*args 的作用:

用于接收不确定数量的位置参数。 所有传入的位置参数会被收集到一个元组中。

示例:food("rice", "chicken", "coke", "ice cream") 的输出是元组 ('rice', 'chicken', 'coke', 'ice cream')。

**kwargs 的作用:

用于接收不确定数量的关键字参数。 所有传入的关键字参数会被收集到一个字典中,键是参数名,值是参数对应的值。

示例:food(dessert="tiande", drink="haochide") 的输出是字典 {'dessert': 'tiande', 'drink': 'haochide'}。

知识点6

这些代码展示了 Python 函数中参数的传递和接收机制,尤其是位置参数(*args)、关键字参数(**kwargs)以及默认参数的使用。

小结

*args:用于接收多余的普通位置参数,这些参数会被收集到一个元组中。

**kwargs:用于接收多余的命名参数,这些参数会被收集到一个字典中。

默认参数:如果显式传递了值,则使用显式值;否则使用默认值。

参数顺序:

在函数定义中,*args 必须在普通位置参数之后,但必须在有默认值的关键字参数之前;**kwargs 必须在所有参数之后。 

因此顺序为:位置参数在 > *args > 默认值参数前面 > **kwargs

知识点7

1. 形参(Formal Parameters)

形参是在 函数定义 中声明的参数,用于接收调用函数时传递的值。

特点:

形参是函数定义的一部分,是函数内部的变量。

它们在函数被调用时被赋予具体的值(来自实参)。

形参的作用域仅限于函数内部,函数调用结束后,形参的值会被销毁。

形参可以有默认值,这种情况下称为默认参数。

def greet(name, greeting="Hello"):
    print(greeting, name)

name 和 greeting 是形参。

greeting 是一个默认参数,如果没有提供对应的实参,它将使用默认值 "Hello"

2. 实参(Actual Parameters)

实参是在 函数调用 时传递给函数的值,用于为形参赋值。

特点:

实参是函数调用时提供的具体值。

它们可以是常量、变量、表达式或其他函数的返回值。

实参的数量和类型必须与形参匹配(除非使用可变参数或默认参数)。

实参可以是位置参数(按顺序传递)或关键字参数(通过参数名传递)。

3. 形参和实参的区别
特性形参实参
定义位置函数定义中函数调用中
作用接收实参的值,用于函数内部为形参提供具体的值
作用域仅限于函数内部函数外部的值或变量
数量和类型必须与实参匹配(除非使用默认参数或动态参数)必须与形参匹配(除非使用默认参数或动态参数)
默认值可以有默认值不能有默认值
传递方式位置参数、关键字参数、动态参数(*args 和 **kwargs位置参数、关键字参数、动态参数(*args 和 **kwargs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HaoChen/ChenHao

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值