Python编程技巧 – 函数参数

Python编程技巧 -- 函数参数

Python Programming Skills - Functional Parameters

1. 函数的定义

函数有简明扼要的定义。

  • 函数是一个代码块,仅在调用时运行。
  • 可以将数据(称为参数)传递到函数中。
  • 函数可以返回数据作为结果。

2. 函数的结构

定义函数时,函数体使用def声明,并且后跟一对括号(),最后是一个冒号:

这样构成函数的基本代码结构,如下所示:

python 复制代码
def myFunction():
    // expression

按照上述函数的定义,该函数在调用时才生效,如下代码:

python 复制代码
myFunction( )

无论函数是否有返回值,函数参数都可以有各种变化。

** 注:本文简要介绍函数有哪些参数的变化,以及具体使用方法,以便读者更好地了解和掌握函数用法。

以下的编程,采用命令行提示符交互式解释器。

3. 默认参数

函数的默认参数,有时候也成为可选参数。定义函数时,如果参数提供默认值,则称为默认参数。

默认参数是作为备选的。如果用户调用函数时,忘记或者没有为该参数提供任何值,那么,函数就是用事先定义好的默认值参数。

示例一: 代码如下,默认姓名(name) 为"Angela"。

python 复制代码
>>> def func(name = "Angela"):
...   print("Happy Birthday!", name)
...
>>> func()
Happy Birthday! Angela

可以看到,在调用func()函数时,没有传递参数,故输出使用默认参数。

4. 关键字参数

关键字参数,是指调用函数并传递值,但不考虑其位置;调用函数时使用参数名并为其赋值。

示例二: 代码如下,注意在调用时传递值。

python 复制代码
>>> def func(n1, n2):
...   print("Happy Birthday!", n1, " and ", n2, "!!!")
...
>>> func(n2="Leonardo", n1="Marcia")
Happy Birthday! Marcia  and  Leonardo !!!

5. 可变长度参数

当用户不确定函数的参数个数时,可使用可变长度参数来定义函数。

1) 创建函数时,在参数前放置星号"*",这样一来,从这点到末尾的所有位置参数,都作为元组元素;

2) 此外,如果将双星号"**"放在参数名称前面,则表示从该点到末尾的所有位置参数都作为字典元素。

示例三: 代码如下所示,看看输出结果。

python 复制代码
>>> def func(*name, **age):
...   print("Welcome!", name)
...   print("Your age is:", age)
...
>>> func("Leonardo", "Melissa", "Maggie", Leonardo = "28", Melissa =  "39", Maggie = "5")
Welcome! ('Leonardo', 'Melissa', 'Maggie')
Your age is: {'Leonardo': '28', 'Melissa': '39', 'Maggie': '5'}

总而言之,无论是哪种参数,在规划和创建函数时,就要考虑周全,让函数发挥出效能,同时避免在大型项目中出错,造成资源浪费。

技术好文陆续推出,敬请关注。

您的认可,我的动力! 😃

相关阅读:

  1. Python编程技巧 - 使用集合
  2. Python编程技巧 - 编写单行 if 条件语句
  3. Python编程技巧 - format格式化文本
  4. Python编程技巧 - 使用正则表达式
  5. Python编程技巧 - 单字符函数
  6. Python编程技巧 - 使用组合运算符
  7. Python编程技巧 - 异常处理
  8. Python编程技巧 - 迭代器
  9. Python编程技巧 - lambda函数
  10. Python编程技巧 - 使用字典
  11. Python编程技巧 - 使用字符串
  12. Python编程技巧 - 对象和类
  13. Python编程技巧 - 使用列表
  14. Python编程技巧 - 函数入门
相关推荐
秃头佛爷27 分钟前
Python学习大纲总结及注意事项
开发语言·python·学习
待磨的钝刨29 分钟前
【格式化查看JSON文件】coco的json文件内容都在一行如何按照json格式查看
开发语言·javascript·json
深度学习lover1 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
XiaoLeisj2 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
API快乐传递者2 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
励志成为嵌入式工程师3 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉4 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer4 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq4 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控