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编程技巧 - 函数入门
相关推荐
涛声依旧-底层原理研究所8 分钟前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
一只大袋鼠8 分钟前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
csdn_aspnet14 分钟前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch37 分钟前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆37 分钟前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论
LuminousCPP40 分钟前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
web3.08889991 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
AI算法沐枫1 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
один but you2 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
X1A0RAN2 小时前
解决Pycharm中部分文件或文件夹被隐藏不展示问题
ide·python·pycharm