Python基础入门 --- 7.函数

Python基础入门

第七章:

7.函数

7.1 函数多返回值

按照返回值顺序,写对应顺序的多个变量接收,变量之间用逗号分隔,支持不同数据类型return

def test_return():
    return 1,"hello", True

x, y, z = test_return()
print(x) # 1
print(y) # hello
print(z) # True
7.2 函数多种传参方式

参数种类:

  • 位置参数

  • 关键字参数

  • 缺省参数

  • 不定长参数

7.2.1 位置参数

概念:调用函数时根据函数定义的参数位置来进行传递参数。

def Student(name, sex, age):
    print(f"我的名字是{name},性别是{sex},今年{age}岁") # 我的名字是小明,性别是男,今年18岁
Student("小明", "男", 18)

补充:传递的参数和定义的参数顺序及个数需相同。

7.2.2 关键字参数

概念:函数调用时通过‘键=值’形式传递参数。

作用:让函数更加清晰、易使用,清除了参数的顺序需求。

def Student(name, sex, age):
    print(f"我的名字是{name},性别是{sex},今年{age}岁")
Student(name = "小明", age = 20, sex = "男")
Student(sex = "女", age = 18, name = "小红")
Student( "小李", age = 19, sex = "男")

补充:函数调用时,如有位置参数,位置参数须在关键字参数前,但关键字参数之间不分先后顺序。

7.2.3 缺省参数

概念:缺省参数也叫默认参数,用于定义函数,为参数提供默认值,函数调用时可不传该默认参数的值,所有位置参数必须出现在默认参数前,包括函数定义以及调用。

作用:函数调用时没传递参数,就会使用默认值用缺省参数对应的值。

补充:函数调用时,如果为缺省参数传值则修改默认参数值,否则使用该默认值。

7.2.4 不定长参数

概念:不定长参数也叫可变参数,用于不确定调用时会传递多少个参数(可不传参)的场景。

作用:函数调用时不确定参数个数时,可用不定长参数

类型

  • 位置传递

  • 关键字传递

位置传递
def Student(*args):
    print(args)
Student("小明", "211515", 20) # ('小明', '211515', 20)
Student("小红",  18)          # ('小红', 18)

补充:传进的所有参数都会被args变量收集,其会根据传进参数的位置合并成一个元组,args是元组类型,这就是位置传递。

关键字传递
def Student(**kwargs):
    print(kwargs) # {'name': '小明', 'sex': '男', 'age': 18}
Student(name="小明", sex="男", age=18)

补充:参数是‘键=值’形式的形式情况下,所有的‘键=值’都会被kwargs接受,会根据‘键=值’组成字典。

7.3 匿名函数
7.3.1 函数作为参数传递

作用:传入计算逻辑,并非传入数据。

# 定义一个函数,接收另一个函数作为传入参数
def test(calculate):
    ret = calculate(10, 20)
    print(ret)

# 定义一个函数,作为参数传入另一个函数
def calculate(x, y):
    return x + y;

# 调用并传入参数
test(calculate) # 30

这是种计算逻辑的传递,并非数据的传递。不仅是相加、相除、等任何逻辑都可自行定义并作为函数传入。

7.3.2 Lambda匿名函数

函数定义

  • def关键字,可定义带有名称的函数

  • lamda关键字,可定义匿名函数(无名称)

有名称的函数,可基于名称重复使用。

无名称的匿名函数,只可临时使用一次。

语法结构:lamba 传入参数:函数体(一行代码)

  • lamba为关键字,表示定义匿名函数

  • 传入参数表示匿名参数的形式参数

  • 函数体为函数的执行逻辑,只能写一行代码,无法写多行。

# 定义一个函数,接收其他函数输入
def test(calculate):
    ret = calculate(10, 20)
    print(ret)

# 通过lambda匿名函数的形式,将匿名函数作为参数传入
为参数传入
test(lambda x, y: x + y) # 30

下一章:Python基础入门 — 6.数据容器

相关推荐

  1. Python基础入门 --- 7.函数

    2024-03-21 00:58:02       23 阅读
  2. Python基础入门篇】基本函数——os与sys模块

    2024-03-21 00:58:02       38 阅读
  3. python基础入门 (6)-- python函数

    2024-03-21 00:58:02       14 阅读
  4. Python入门-实战练习-基于函数

    2024-03-21 00:58:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 00:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 00:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 00:58:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 00:58:02       20 阅读

热门阅读

  1. [算法刷题打卡]Day1

    2024-03-21 00:58:02       20 阅读
  2. 类成员函数

    2024-03-21 00:58:02       24 阅读
  3. Frida-hook基础使用之hook调试获取游戏结果

    2024-03-21 00:58:02       23 阅读
  4. 主流开发语言和开发环境介绍

    2024-03-21 00:58:02       18 阅读
  5. P3639 [APIO2013] 道路费用 题解

    2024-03-21 00:58:02       23 阅读
  6. 设计模式(行为型设计模式——职责链模式)

    2024-03-21 00:58:02       18 阅读
  7. 我的创作纪念日

    2024-03-21 00:58:02       22 阅读
  8. 三维GIS仿真技术发展的几点思考

    2024-03-21 00:58:02       18 阅读
  9. Git笔记

    2024-03-21 00:58:02       20 阅读
  10. FPGA与以太网相关接口知识

    2024-03-21 00:58:02       19 阅读
  11. .net core 接入nacos

    2024-03-21 00:58:02       24 阅读