首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第48p,什么是函数?,Python中函数的定义

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第48篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(一)====> 函数概念介绍(上篇)。

函数是非常重要的内容,在这里,我会用10篇左右的文章详细讲解Python中函数定义与使用的规则。

阅读提醒:建议小白先看一遍:【计算机基础知识】和【Python基础知识】课程,否则你不一定听得懂!

一、函数介绍

函数是我们学习编程路上的第一个小小“小boss”,在所有的编程语言中,函数都是必须掌握的知识点;在Python语言中,函数的底层原理与其他编程语言都差不多;所以,我们学会了Python中函数的知识,也能很快在其他编程语言中实践。

1、什么是函数

函数是一种功能,或者说函数是一种容器;

函数是一种预先设定好具体功能的容器,函数内预先设定好的方法能够实现特定的效果;

举例说明:

函数=容器,我们可以把函数具体相像成生活中具体的工具;

比如:水龙头,我们打开水龙头就可以得到水,不用管水是怎么来的?为什么扭一下水龙头就有水流出来?水龙头内部是什么结构?这些都不需要我们关心,我们要做的只是扭开水龙头获得水即可。

这就是函数,设计者把功能都做好,包起来,留出一个接口,我们只需对接好接口,就可以得到想要的功能;

(也许这个例子,并不能完全说明函数,但我们只需记得:函数就是一个或多个功能的集合体即可。)

2、函数的作用

函数的作用在于:减少代码冗余,让程序组织结构更清晰,让程序具有更好的可读性、可维护性与扩展性。

3、我们在什么情况下会用到函数?

函数一般用于想要程序做重复的事情,但每个对象的要求都各不相同的情况;

如果我想要让程序重复做相同的事情,我们完全可以使用循环实现;但是,对于想要多次实现某些具有相同特性,但要求又各不相同的功能我们该怎么实现?

听不懂?是不是觉得上面的话说得云里雾里的?

举例子说明:

比如说跑步,让一个人1个月内每天跑10公里,用程序实现很简单,循环即可;

但是,如果我们想让10个人都跑步,但每个人每天跑步、跑步的速度也不一样、跑多远也不一样、以及每个人要跑多少天也不一样?

那我们该怎么去实现?这种情况明显用循环明显是没办法解决的!

比如:

张三:跑步7天,每天跑10公里,

李四:跑步20天,每天跑1公里,

杨数Tos:跑步30天,每天跑30公里;(肯定累死偶了)

如何解决?

请继续看下去……

二、函数的定义

1、函数的定义

A. 使用def关键字进行有名函数定义

具体语法如下:

【def函数名(参数):

函数体

返回值(return)

如图所示:

注:

 有名函数意思是指有名字的函数,不是出名的意思;

 函数的参数可有可无,函数的返回值也是可有可无,如果没有写return,默认返回None(即默认:return None);

 不管有没有参数函数名后面的括号()一定不能省略。

B. 使用lambda定义匿名函数

语法:lambda参数:返回值

如图所示:

注:所谓匿名函数就是说:这类函数没有名字,一般都是临时使用一次就不会再使用的函数;

2、Python中函数的分类

在Python中函数分为:有名函数和匿名函数两种,其中有名函数:又分为有参函数、无参函数、空函数3种;

有名函数:有参、无参、空函数;

匿名函数;

特别说明空函数样式:

【def函数名():

Pass】

空函数的特点在于:函数体只有一行“pass”的代码。

3、Python函数的执行过程

在Python中,函数的执行过程比较复杂,不同的情况有一些细微的差别;

这里先记住3句话:

A. 在Python中,函数定义时不会被执行,只会检查是否有语法错误,函数的执行(运行)只发生在函数被调用时;【非常重要】

B. 在Python中,函数之间在关系是以函数定义阶段进行确定的;【非常重要】

C. 函数调用时运行了return,不管后面还有什么代码,都会立即输出return后面的返回值并退出函数的执行;

我后面会用好几篇文章来详细说明这两句话。

用函数解决跑步的问题,请看下一篇文章哈(本文写得太长了)。

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200718A073GE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券