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编程技巧 - 函数入门
相关推荐
陌小呆^O^3 分钟前
Cmakelist.txt之win-c-udp-server
c语言·开发语言·udp
Gu Gu Study9 分钟前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言
时光の尘24 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
以后不吃煲仔饭38 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师39 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
前端拾光者43 分钟前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化
程序猿阿伟44 分钟前
《C++ 实现区块链:区块时间戳的存储与验证机制解析》
开发语言·c++·区块链
傻啦嘿哟1 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
大数据编程之光1 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
初九之潜龙勿用1 小时前
C#校验画布签名图片是否为空白
开发语言·ui·c#·.net