写在之前

大家好,这是首发在我公众号「Python空间」的第 26 篇文章,欢迎关注。

大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面。我是完全自学的 Python,所以很是明白自学对于一个人的考验,所以在这里我会尽我最大的努力,把 Python 尽可能简单的表述清楚,让更多想要学习 Python 的朋友能够入门。同时写这个教程也算是对自己之前所学知识的一个巩固和提高,喜欢的朋友们可以点个关注,有问题欢迎随时和我交流。本文所有的代码编写均是Python3 版本。

今天我们又开始了新的篇章 -- 函数篇,在现代的任何科技门类,乃至于政治学,经济学等都已经普遍使用函数,可以说函数的出现直接的加快了现代科技和社会的发展,下面就开始我们与 Python 中的函数的初次相见吧。

函数是什么?

在我们学生时代的数学中,定义函数的方式一般是这样的:y = ax + b,这是一个一次函数,当然我们也可以写成 f(x) = ax + b,其中 x 是变量,可以代表任何数,但是这个并不是函数的全部,在函数中,其实变量并没有规定只能是数,它可以是猪狗牛羊,也可以是花鸟木鱼,说到这不知道你有没有理解我的意思,其实,函数就是一种映射。

如果你尝试着将变量 x 理解为小猪佩奇,那么 ax + b 就是 a 个佩奇再加上 b,这个结果对应着的是另一个东西,比如熊大,即我们可以理解为 a 个佩奇加上 b 就对应的是熊大,这就是我们所说的映射关系。

如果你理解了这些,我们下面用纯粹的中学的数学方式,在 Python 中建立函数:

>>> x = 6

>>> y = 2 * x + 1

>>> y

13

在我们的学生时代我们就是这么用的,那么在 Python 中这种方式还有用吗?上面的例子我们建立了一个所谓的函数,那么我们来尝试改变一下 x 的值:

>>> x = 7

>>> y

13

结果是 y 的值并没有改变,所以说用纯粹的数学方式定义函数在 Python 中其实并没有什么用,所以我们要用一种新的定义函数的方式,请接着向下看。

如何定义函数?

在 Python 中定义了函数的格式,下面我举一个例子来说一下 Python 中函数的格式和调用的方法:

>>> def add(x,y):

...    return x + y

上面的例子虽然短小,但内有乾坤,下面我以此函数为例,详述函数的组成。

1. “def” :def 是函数的开始,也就是在声明要创建一个函数的时候,一定要先使用 def,这就是告诉 Python 解析器,这里要声明的是一个函数。

2. “add”:add 是函数的名称,在 Python 中起名字的讲究就是要起的有意义,能从函数的名字上看出这个函数是干什么的。同时函数的命名规范和变量名是一样的,必须使用字母和下划线开头,且仅能含有字母,数字和下划线。

3. “( x,y )”:这个是参数列表,要写在括号里,其中的参数指向函数的输入,本例中函数有两项输入,但是通常情况下,输入的个数可以是任意的,也包括 0 个。

4. “ : ” :冒号非常重要,如果少了,会报错,所以希望你们不要像我一样。

5. “return a + b”:这一行,就是函数体了,函数体是缩进了 4 个空格的代码块,完成你需要完成的工作。 return 是函数的关键字,意思是要返回一个值,函数中的 return 也不是必须要写的,如果不写的话, Python 会默认返回一个值,那就是 None。

调用函数

在这之前,我们想一下我们为什么要写函数?理论上来说,不用函数也可以写代码,之所以用函数,大佬们给我们总结了以下几点,我在这借花献佛:

1. 写函数可以降低编程的难度。通常将一个复杂的大问题分解成一系列更小的问题,然后小问题再分解成更小的问题,当问题细化到足够简单时,就可以分而治之。

2. 代码重用。其实我们在编程的时候比较忌讳同一段代码不断重复,因此有必要将某个常用的功能抽象为一段公用的代码,也就是函数。

从上面来看,使用函数还是很有必要的,下面就来看看函数是怎么调用的:

>>> def add(x,y):

...    print('x = {}'.format(x))

...    print('y = {}'.format(y))

...    return x + y

我们把之前的例子稍作改变,然后接下来看:

>>> add(10,3)

x = 10

y = 3

13

>>> add(3,10)

x = 3

y = 10

13

函数调用,最关键的是要弄懂如何给函数的参数赋值,上面就是按照参数次序赋值,根据参数的位置,值与之相对应。

>>> add(x = 3,y = 10)

x = 3

y = 10

13

>>> add(y = 10,x = 3)

x = 3

y = 10

13

还可以像上面一样直接把赋值语句写到里面,这就明确了参数和对象的关系,这个时候顺序就不重要了。

当然还可以在定义函数的时候就赋给一个默认值,如果不给那个有默认值的参数赋值,那么它就用默认值,如果给它传一个,则采用新传给它的值:

>>> def add(x,y = 1):

...    print('x = {}'.format(x))

...    print('y = ',y)

...    return x + y

...

>>> add(1)

x = 1

y =  1

2

>>> add(1,1000000)

x = 1

y =  1000000

1000001

在这里想在强调一次,参数和对象的关系与变量和对象的关系一样,即在函数中的参数所传的都是对象的引用,而不是对象本身。

写在最后

到此为止,函数的基本知识估计朋友们也了解了,这一部分是我们接下来进一步的学习函数的基础,希望你能掌握,接下来我会和你们一起对函数的其它部分进行进一步的研究。

最后感谢你能看到这里,希望我写的东西能够让你有到收获,但是我还是希望我在文章里插入的代码,你们能自己动手试一下,都很简单。原创不易,每一个字,每一个标点都是自己手敲的,所以希望大家能多给点支持,该关注关注,该点赞点赞,该转发转发,有什么问题欢迎在后台联系我,也可以在公众号找到我的微信加我。

The end。

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

  1. python入门教材论坛_Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare ============= *Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐* ------------------------ 本文 ...

  2. python入门到熟练要多久_零基础学python要多久

    零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存在一定差异的. 零基础学 ...

  3. python从爬虫到数据分析项目_零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!...

    随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简单易学,所以不少初学者往往也会选择Python作为入门语言. Python语言目前是IT行业内应用最为广泛 ...

  4. python基于水色图像的水质评价_零基础学习Python的学习路线及教程

    什么是Python? 在过去的2017年里,Python开发者在全球快速增长,国内小伙伴学习 Python 的热情一路高涨.同时,PYPL发布7月编程语言指数榜,Python 在今年5月首次超越 Ja ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 利用Jenkins的Pipeline实现集群自动化部署SpringBoot项目
  2. VMware试验问题总结
  3. ASP.NET MVC 学习之路-3
  4. js 调用父窗口的方法
  5. 每周一起读 #02 | ICML 2019:基于粒子的变分推断加速方法
  6. Android Binder机制简单了解
  7. 关于母板页中runnat=server 窗体标记的问题
  8. arcgis api for js 下载(各版本最全面的地址)
  9. java 面试 概率论_仿概率论系列(一) 开篇引导
  10. 继暗影机器人跑路,守护者群管作者也宣布退网
  11. 一文带你轻松掌握多种编程范式
  12. pg_repack --no-order 某个表的过程分析
  13. 求电缆最小长度——最小生成树
  14. BICC VS SIP --NGN协议的较量
  15. 【翻译】2020年云安全综合指南(风险,最佳实践,认证)
  16. linux下下载部署nginx
  17. 蓝桥杯单片机第十届省赛题程序实现
  18. C语言常用库函数总结
  19. 看IT人分析富士康自杀门!
  20. week1-Python学习总结

热门文章

  1. 安卓虚拟机_安卓虚拟机(*New*)v1.1.31去广告/去推荐/Mod/精简/VIP版
  2. python 最小二乘回归 高斯核_最经典的回归模型参数估计算法—最小二乘
  3. java集合租车_Java入门第二季 租车系统
  4. [JDBC] 获取数据库连接方式
  5. Python字符串常用函数详解
  6. python函数中把列表(list)当参数时的入坑与出坑
  7. 海康设备字母编号含义 H5:0,H7:1,KT2:2,G5:3
  8. flask request (request.files)
  9. Intel Realsense D435 pyrealsense2 get_option_description() rs.option中获取参数描述
  10. python 中 try、except、finally的用法(异常处理)