原标题:零基础学习python数据分析——函数的参数

上一节课中我们讲了python的函数定义,Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。科多大数据带你来看看。

1、 位置参数:

我们先写一个计算x2的函数:

对于a(x)函数,参数x就是一个位置参数。

当我们调用a函数时,必须传入有且仅有的一个参数x:

现在,如果我们要计算x3怎么办?可以再定义一个a3函数,但是如果要计算x4、x5……怎么办?我们不可能定义无限多个函数。

你也许想到了,可以把a(x)修改为a(x, n),用来计算xn,说干就干:

对于这个修改后的a(x, n)函数,可以计算任意n次方:

修改后的a(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋给参数x和n。

2、 默认参数:

新的a(x, n)函数定义没有问题,但是,旧的调用代码失败了,原因是我们增加了一个参数,导致旧的代码因为缺少一个参数而无法正常调用:

Python的错误信息很明确:调用函数a()缺少了一个位置参数n。

这个时候,默认参数就排上用场了。由于我们经常计算x2,所以,完全可以把第二个参数n的默认值设定为2:

这时,当我们调用a,(5)函数是,n默认为2,而对于n > 2的其他情况,就必须明确地传入n,比如power(5, 3)。

从上面的例子可以看出,默认参数可以简化函数的调用。设置默认参数时,有几点要注意:

一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);

二是如何设置默认参数。

当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

使用默认参数有什么好处?最大的好处是能降低调用函数的难度。

3、 可变参数:

在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。

我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。

要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:

但是调用的时候,需要先组装出一个list或tuple

我们把函数的参数改为可变参数:

如果利用可变参数,调用函数的方式可以简化成这样

定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数

4、 关键字参数:

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:

函数person除了必选参数name和age外,还接受关键字参数kw。在调用该函数时,可以只传入必选参数。

关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

领取大数据分析、python爬虫等试听视频,可上科多大数据官网咨询领取

或者加入大数据技术交流群领取:107743339返回搜狐,查看更多

责任编辑:

python数据参数_零基础学习python数据分析——函数的参数相关推荐

  1. 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?

    原标题:零基础学习Python难不难?Python有什么优势? Python是一种计算机程序设计语言.首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个 ...

  2. 明日科技的python书籍怎么样_零基础学习Python不可错过的5本书籍

    3.Python基础教程(第3版) 作者:[挪]芒努斯·利·海特兰德(Magnus Lie Hetland) 出版社:人民邮电出版社 Python3.5编程从入门到实践,Python入门佳作,机器学习 ...

  3. 零基础学习python入门书_零基础学习Python不可错过的5本书籍

    原标题:零基础学习Python不可错过的5本书籍 Python作为目前编程开发的主流语言之一,在企业中的应用范围越来越广,广阔的发展前景吸引了很多小伙伴想要入行Python,下面小U就为大家介绍一下零 ...

  4. python入门之函数调用第一关_零基础学习 Python 之与函数的初次相见

    写在之前 大家好,这是首发在我公众号「Python空间」的第 26 篇文章,欢迎关注. 大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具 ...

  5. python零基础书推荐_零基础学习Python(Python初学者、Python入门)常见问题:资料、社区、书籍推荐...

    Python web开发 QQ学习群:338985564 ,欢迎各位加入,一起学习. 本文针对零基础的,想学习Python者.本文会不定时更新. 一.学会使用搜索引擎,尤其是Google. 推荐阅读文 ...

  6. python for loop循环程序语句_零基础学习 Python 之 for 循环语句

    写在之前 大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面.我是完全自学的 Python,所以很是明白自学对于一个人的考验,所 ...

  7. 零基础学python多久可以工作-零基础学习python,要多久才可以学好并且找到工作?...

    原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...

  8. 零基础学习python人工智能考试_零基础自学Python人工智能,看这些资料就够了

    教程说明: 本套教程属于人工智能.机器学习.深度学习.自然语言处理方向的教程,涵盖python基础.python高级教程.大数据.数据分析.数据挖掘.高等数学.概率论统计.算法结构.量化交易.Kagg ...

  9. 零基础自学python的建议-关于零基础学习 Python 有什么好的建议?

    Python这种高级编程语言,相比前编程明星C++和Java等更简单易操作.,目前Python已成为最受AI从业者欢迎的语言. Python的10个基础知识点 Python是一个面向对象的解释型的交互 ...

最新文章

  1. c 输出空格_Python编程:案例详解输出函数print
  2. qvector 结构体排序_C++结构体的应用_YCOJ
  3. 软件需求与分析极简总结
  4. Winfrom窗体间传值
  5. windows使用git时出现:warning: LF will be replaced by CR
  6. mysql索引创建和使用注意事项
  7. android引入开源项目方法,和解决android-support-v4.jar冲突问题
  8. python开发环境规范——pycharm
  9. LibreOJ β Round #2 E. 数论只会 GCD
  10. python入门神器下载_Python编程神器 v3.7.2 最新免费版
  11. 第33篇-steam密码参数分析
  12. 图像特征点匹配,SIFT及SURF算法的原理及尽量抛开数学问题的浅析(含示例程序,基于VS2013,OpenCV_2.49)
  13. 论文总结与展望怎么写?
  14. 信息搜集工具:Maltego
  15. 自适应辛普森(Simpson)积分
  16. 重症监护病人心电导联信号质量评估、SQI
  17. 思科N9K交换机配置QOS
  18. windows电脑上架app store的软件
  19. 牛客网 J-闯关的lulu
  20. 2022_TIP_DSNet

热门文章

  1. 点积和叉积和凸包背诵用模板
  2. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (1) - 特性概述
  3. Linux下的设计模式——委派模式(Delegate Pattern)深入浅出【建议新手收藏】
  4. linux 误删etc,centos7中误删/etc/passwd与etc/shadow文件恢复
  5. python中dtype什么意思_浅谈python 中的 type(), dtype(), astype()的区别
  6. 扫地机器人水箱背景_你真的懂扫地机器人吗?这些不为人知的小细节值得一看...
  7. java swing 图片旋转_Java图片旋转,背景透明化
  8. 使用Jenkins配置自动化构建
  9. 现代GPU的体系结构
  10. 阐述手机图像的贴图压缩技术标准及作用