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编程技巧 - 函数入门
相关推荐
自学互联网10 分钟前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
合作小小程序员小小店11 分钟前
桌面开发,在线%医院管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·sql·microsoft·c#
无心水15 分钟前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
一点★16 分钟前
“equals”与“==”、“hashCode”的区别和使用场景
java·开发语言
十一.36622 分钟前
79-82 call和apply,arguments,Date对象,Math
开发语言·前端·javascript
xwill*31 分钟前
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
人工智能·pytorch·python·深度学习
合作小小程序员小小店37 分钟前
桌面开发,下午茶甜品管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·c#
陈奕昆38 分钟前
n8n实战营Day2课时2:Loop+Merge节点进阶·Excel批量校验实操
人工智能·python·excel·n8n
程序猿追42 分钟前
PyTorch算子模板库技术解读:无缝衔接PyTorch模型与Ascend硬件的桥梁
人工智能·pytorch·python·深度学习·机器学习
葡萄成熟时 !1 小时前
黑马学生管理系统
java·开发语言