基础篇往期文章:

Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客

Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CSDN博客

Python的零基础超详细讲解(第三天)-Python的基础语法_编程简单学的博客-CSDN博客

Python的零基础超详细讲解(第四天)-Python的数据类型_编程简单学的博客-CSDN博客

Python的零基础超详细讲解(第五天)-Python的运算符_编程简单学的博客-CSDN博客

python入门到进阶,爬虫数据分析全套资料分享讲解 (#1) · Issue · 编程简单学 / CODE

函数是什么

在 Python 中,函数是组织好的,可以重复使用,用来实现某一功能的代码。

与数学中的函数不同,在Python中,函数不是看上去冰冷无聊的规则和公式,而是有实打实的、有自己作用的代码。而且,它已经是你的老朋友了。

之所以说函数是我们的老朋友,是我们在先前的课堂中就已经接触到一些Python自带(学名叫“内置”)的函数了。

比如说当我们需要实现“打印”这个功能,我们会用到print();当我们需要实现“获取数据长度”这个功能,我们会要到len()。这些都是设定好了,可以直接拿过来就用的功能,这就叫做“组织好的代码”。

函数(Function)能实现的功能从简单到复杂,各式各样,但其本质是相通的:“喂”给函数一些数据,它就能内部消化,给你“吐”出你想要的东西。

这就像自动贩卖机,只不过贩卖机是喂点钱,吐出来一些吃的喝的用的东西;而Python函数则是喂各种各样的数据,吐出来各种各样的功能。

眼尖的话,你会发现图片里的函数后面都跟了个括号。而括号里放的东西,也就是我们需要输入的数据,它在函数中被称作【参数】。【参数】指向的是函数要接收、处理怎样的数据。

比如print()函数的括号里可以放不同的参数,根据你放的参数不同,print()函数会帮你在屏幕上显示不同的内容。

print('Hello World')print('我爱学Python')print(42)
复制代码

括号里面的字符串和整数,都是print() 函数的参数。

说了这么多函数的特征,现在我们一起看看函数的定义:

还是用贩卖机来打比方,贩卖机是设定好可以直接使用(组织好的),可以重复上架售卖不同的物品(重复使用),功能是卖东西(单一功能)。

而函数呢?以print()函数为例,它也是设定好可以直接使用(组织好的),不论你想打印什么参数都可以(重复使用),而print函数能实现的单一功能就是“打印”。

那除了 input()、print()…这些内置函数,我们总会需要内置函数满足不了的功能,这时又该怎么办呢?

定义和调用函数

想要认识函数,第一步,我们需要去定义一个函数。

定义函数

定义函数,就是自定义一个属于自己的函数,它的语法格式如下:

def 函数名(参数):代码块
复制代码

咱们一个个来看,首先看到def

定义函数时,我们要用到def语句,def 在英文中是 define 的缩写,意为“定义”,为定义函数的固定格式。

然后看到函数名

和变量名一样,这里的函数名也是自己命名的,比如你在控制一辆中国最先进的坦克车-99G式,如何让它前进后退呢?

# 实现前进功能def forward():print('前进!')# 实现后退功能def backward():print('后退!')# 实现开火功能def fire():print('开火!')
复制代码

负责前进功能的零部件(函数)叫:forward()。而除了 forward() 以外的其它零部件(函数)也有其需要实现的功能:

backward() 负责刹车,fire() 负责开火。

而这里每个零件(函数)都有它们唯一固定的名称(函数名),它们也都可以处理一定的数据(参数)等。

这里的参数是函数要接收并对其进行处理的数据。

定义函数时,你可以像上面的代码一样不设置参数,但也可以设置很多个参数,关于它等会我们会细讲。

最后是代码块

代码块就是函数内的代码内容,用于实现函数功能。当你使用函数时,就会执行代码块内的内容。

先讲不设置参数时的情况,这里拆解一个咱们坦克车操作中的零部件函数:forward() 来看。

在这段代码中:

函数名为:forward

代码块内容为:print('前进!')

阅读完直接运行下列代码即可:

#函数名:最好是取体现函数功能的名字,一般用小写字母和单下划线、数字等组合def forward():#参数:根据函数功能,括号里可以有多个参数,也可以不带参数,命名规则与函数名相同#规范:括号是英文括号,后面的冒号不能丢print('前进!')#函数体:函数体就是体现函数功能的语句,要缩进,一般是四个空格
复制代码

运行代码后为何没反应呢?按理来说应该已经成功定义这个函数了呀。

这是因为你还没有调用函数,调用函数就是我们常说的使用函数的功能,函数需要调用才能发挥作用。

调用函数

就像有了仪器,有了汽车,也需要先启动使用才能发挥它的功能。

回到 Python 中来,没设置参数时,调用函数的语法是:函数名()。调用函数以后,函数内的代码块就会自动执行。再试着运行下面这段代码,注意看最后一行代码:

def forward():print('前进!')# 调用函数forward()
复制代码

看到代码块的内容被运行成功了吗?如果没问题的话,你就成功调用了这个你定义的函数。

函数的执行流程

那么你可能会有疑问,刚刚的那个函数是怎么执行的?一个函数的执行顺序又应该是怎样的呢?一起来看:

在Python执行定义函数的语句时,首先会创建函数,而不是执行该函数内部的内容。

每当调用对应的函数的时候,该函数内的代码块才会运行一遍,咱们来看看代码,运行一下:

def forward():print('前进!')print('我会先被打印')# 调用函数forward()
复制代码

看到终端显示的结果,调用函数以后才会执行函数内部的代码块。

调用函数的代码在第 5 行,所以第 3 行代码先被打印了出来,然后才轮到函数内代码块的内容被打印出来。

函数的创建和调用过程,如下

第一步:首先会创建函数。 在创建完函数以后,不会执行函数内代码块的内容。

第二步:会先执行其它代码,直到这个函数被调用

然后第三步,到调用函数时,这个函数内的代码块才会运行

总结一下,这段代码的运行过程分步来看是这样的:

1)先创建 print() 函数。

2)执行代码直到调用函数;

3)调用函数以后执行函数内部的代码块。

你们的支持是我最大的动力!!记得三连哦~mua 欢迎大家阅读往期的文章哦~

Python的零基础超详细讲解(第十二天)-Python函数及使用相关推荐

  1. Python的零基础超详细讲解(第十三天)-Python的类与对象

    基础篇往期文章如下: Python的零基础超详细讲解(第一天)-Python简介以及下载 Python的零基础超详细讲解(第二天)-Python的基础语法1 Python的零基础超详细讲解(第三天)- ...

  2. Python的零基础超详细讲解(第七天)-Python的数据的应用

    往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...

  3. Python的零基础超详细讲解(第五天)-Python的运算符

    往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...

  4. Python的零基础超详细讲解(第二天)-Python的基础语法1

    Python 基础语法 打开python的编辑器 这里注意的是,之前下载的python在电脑主页上没有快捷方式,需要在win开始界面中打开 最终打开效果是一个白色的跟终端类似的编辑器,我们输入的时候是 ...

  5. Python的零基础超详细讲解(第一天)-Python简介以及下载

    接下来我会将python基础部分出一个合集分享给大家记得关注我不迷路哦~ Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强 ...

  6. Python的零基础超详细讲解(第四天)-Python的数据类型

    Python 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型&q ...

  7. Python的零基础超详细讲解(第八天)-Python的条件判断

    我们在使用无线耳机听音乐的时候,我们可以设置轻点两下耳机就播放下一首.如果我只设置轻点两下耳机,就播放下一首,那么,由于缺少正在使用耳机(耳机塞进耳朵视为正在使用)的前提条件,无论你是否正在使用,只要 ...

  8. Python的零基础超详细讲解(第三天)-Python的基础语法

    多行语句 Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如: duohang = item_one + \item_two + \item_three ...

  9. Python的零基础超详细讲解(第十天)-Python的input()函数

    input()函数 在今天的课程里,我们将继续了解中国的"新四大发明"--共享经济,在分享的快乐中,开启与计算机实现"双向沟通"的新篇章. 下面,我们一起来体验 ...

最新文章

  1. python学习-day2_课堂作业
  2. 如何找到调用当前方法的方法?
  3. https 证书验证等原理
  4. Apache在windows下的安装配置
  5. java在退出前释放资源_Java中如何通过try优雅地释放资源?
  6. 一个程序员面试因为吸烟而被拒
  7. 云计算概况及第一个Azure程序
  8. 第10章 接口、继承与多态----对象类型的转换
  9. Android studio导入项目报错Please refer to the user guide chapter on the daemon at http://gradle.org/docs/2
  10. 关于一个自制练字脚本
  11. Windows 中包括的 USB 设备类驱动程序
  12. 张小龙2019微信公开课演讲实录
  13. [python3]读取docx每个段落下的table数据
  14. 对象、继承、封装、多态、抽象类的组合应用:编写工资系统,实现不同类型员工(多态)的按月发放工资。如果当月出现某个Employee对象的生日,则将在该雇员的工资上增加100元发给他。
  15. 江南情节——紫砂壶品茶
  16. CAD显示全屏控件(网页版)
  17. SIM卡类型之间的差异-选择哪种SIM卡
  18. Hessian矩阵正定与函数凹凸性的关系
  19. Deliberated Domain Bridging for Domain Adaptive Semantic Segmentation
  20. udisk2阻止自动Mount某些设备

热门文章

  1. R中控制输出数值的小数点位数round,和有效数字位数signif
  2. ps抠图怎么放大图片_PS教程:透明玻璃杯不会抠图?一分钟利用通道面板快速抠图...
  3. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充
  4. R语言ggplot2可视化、不同分组使用不同的色彩、同一分组(group)的线条使用相同的色彩但是配置使用不同的线型(line type)
  5. pandas使用date_range函数生成日期序列数据、pandas将两个日期序列数据作差生成新的日期差数据列(8 days)、并提取天数数值(8)
  6. 百度PaddleOCR及云平台OCR API详解及示例
  7. 使用随机森林(Random Forest)进行特征筛选并可视化
  8. 如何编译和运行C++程序
  9. android 悬停按钮,Android悬浮按钮的使用方法
  10. 8.Deep Interest Evolution Network for Click-Through Rate Prediction论文详解