首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >07-python函数(上)

07-python函数(上)

作者头像
想不明白的过度思考者
发布2025-10-29 15:41:03
发布2025-10-29 15:41:03
550
举报
文章被收录于专栏:JavaEEJavaEE

1. 函数简介

  • 函数也是一个对象
  • 函数用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用

语法:

代码语言:javascript
复制
def 函数名([形参1,形参2,形参3....]):
    代码块
函数名()

注意: 1. 函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头) 2. print是函数对象 print()是调用函数

2. 函数的参数

2.1 形参和实参

  • 形参(形式参数) 定义形参就相当于在函数内部声明了变量,但是并不是赋值 def fn(a, b, c):
  • 实参(实际参数)指定了形参,那么在调用函数时必须传递实参,实参将会赋值给对应的形参,简单来说有几个形参就要有几个实参 fn(1, 2, 3)

2.2 函数的传递方式

  • 定义形参时,可以为形参指定默认值。指定了默认值以后,如果用户传递了参数则默认值不会生效。如果用户没有传递,则默认值就会生效 注意:记得缩进 def fn(a=1, b=2, c=3): print(a, b, c) fn()

  • 位置参数:位置参数就是将对应位置的实参赋值给对应位置的形参 注意:记得缩进 def fn(a,b,c=3): print('a = ',a) print('b = ',b) print('c = ',c) fn(1,2)

  • 关键字参数 : 关键字参数可以不按照形参定义的顺序去传递,而根据参数名进行传递 注意:记得缩进 def fn(a, b, c): print(a, b, c) fn(b=2, a=1, c=3)

  • 混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去 否则会报这个错误: SyntaxError: positional argument follows keyword argument. 注意:记得缩进 def fn(a, b, c): print(a, b, c) fn(1, 2, c=3 )

3. 不定长参数

  • 定义函数时,可以在形参前面加一个*,这样这个形参可以获取到所有的实参,它会将所有的实参保存到一个元组中 注意:记得缩进 def fn(*a): print(*a) fn(1, 2, 3)

  • 带*号的形参只能有一个,可以和其他参数配合使用 注意:记得缩进 def fn(*a, b=3): print(*a, b) fn(1, 2)

  • *形参只能接受位置参数,不能接受关键字参数 注意:记得缩进 def fn(*a, b): print(*a, b) fn(1, 2, b=3)

  • **形参可以接收其他的关键字参数,它会将这些参数统一保存到字典当中。字典的key就是参数的名字,字典的value就是参数的值 注意:记得缩进 def myfun(**args): print(args) myfun()

  • **形参只有一个,并且必须写在所有参数的后面
  • 与*一样,不再赘述

4. 参数的解包

  • 传递实参时,也可以在序列类型的参数前添加星号,这样它会自动的将序列中元素依次作为参数传递

  • 要求序列中的元素的个数必须和形参的个数一致

示例:

代码语言:javascript
复制
# 参数解包:将整个list当做参数传给函数
list = [1, 2, 4]
def add_fn(a, b, c):
    return a + b + c
sum = add_fn(*list)
print("参数解包:", sum)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 函数简介
  • 2. 函数的参数
    • 2.1 形参和实参
    • 2.2 函数的传递方式
  • 3. 不定长参数
  • 4. 参数的解包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档