仅用学习参考

目标

  • 函数的快速体验
  • 函数的基本使用
  • 函数的参数
  • 函数的返回值
  • 函数的嵌套调用
  • 在模块中定义函数

01. 函数的快速体验

1.1 快速体验

  • 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用
  • 函数的使用包含两个步骤:
  1. 定义函数 ——封装独立的功能
  2. 调用函数 —— 享受封装的成果
  • 函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的重用

演练步骤

  1. 修改文件,增加函数定义​​BuySmoke():​
  2. 然后调用该函数,打印:胖子老板,来包烟
In [12]: def BuySmoke():
...: print("胖子老板来包烟")
...: print("一包蓝利群17.5元")
...: print("涨价了啊!")
...:

In [13]:

In [13]: BuySmoke()
胖子老板来包烟
一包蓝利群17.5元
涨价了啊!

In [14]:

2.1 函数的定义

定义函数的格式如下:

def 函数名():

函数封装的代码
……
  1. ​def​​​ 是英文​​define​​ 的缩写
  2. 函数名称应该能够表达函数封装代码的功能,方便后续的调用
  3. 函数名称的命名应该符合标识符的命名规则
  • 可以由字母下划线数字组成
  • 不能以数字开头
  • 不能与关键字重名

2.2 函数调用

调用函数很简单的,通过 ​​函数名()​​ 即可完成对函数的调用

2.3 编写函数,传递参数 - 胖子老板,来包槟榔

需求

  1. 编写一个打招呼​​ComeOn​​ 的函数,封装三行打招呼的代码
  2. 在函数下方调用打招呼的代码

In [14]: binlang = "胖哥槟榔"

In [16]: print(binlang)
胖哥槟榔

In [17]: def ComeOn(binlang):
...: print("你是不是要胖哥槟榔啊")
...: print("不是啊,我要肥仔槟榔")
...: binlang = "肥仔槟榔"
...:

In [18]: ComeOn(binlang)
你是不是要胖哥槟榔啊
不是啊,我要肥仔槟榔

In [19]: print(binlang)
胖哥槟榔

可以从上面执行的代码看出来,binlang的变量并没有被更改。这里需要用return方法来传递参数。

如下:

In [20]: def ComeOn(binlang):
...: print("你是不是要胖哥槟榔啊")
...: print("不是啊,我要肥仔槟榔")
...: return "肥仔槟榔"
...:

In [21]:

In [21]: binlang = ComeOn(binlang)
你是不是要胖哥槟榔啊
不是啊,我要肥仔槟榔

In [22]: print(binlang)
肥仔槟榔

In [23]:

2.4 PyCharm 的调试工具

  • F8 Step Over可以单步执行代码,会把函数调用看作是一行代码直接执行
  • F7 Step Into可以单步执行代码,如果是函数,会进入函数内部

2.5 函数的文档注释

  • 在开发中,如果希望给函数添加注释,应该在定义函数的下方,使用连续的三对引号
  • 连续的三对引号之间编写对函数的说明文字
  • 函数调用位置,使用快捷键​​CTRL + Q​​ 可以查看函数的说明信息

注意:因为 函数体相对比较独立函数定义的上方,应该和其他代码(包括注释)保留 **两个空行

3.1 函数参数的使用 - 计算烟的总价格 = 数量 * 单价


Python函数基础 - 胖子老板,来包烟_函数调用

11.gif

  • 在函数名的后面的小括号内部填写参数
  • 多个参数之间使用​​,​​ 分隔
In [23]: price = 17.5

In [24]: Sum = 0.0

In [25]: Num = 10

In [27]: def CaculateSmokePrice(price,Num):
...: return price*Num
...:

In [28]: Sum = CaculateSmokePrice(price,Num)

In [29]: print Sum
175.0

In [30]:

3.2 参数的作用

  • 函数,把具有独立功能的代码块组织为一个小模块,在需要的时候调用
  • 函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据
  1. 在函数内部,把参数当做变量使用,进行需要的数据处理
  2. 函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据通过参数传递

3.3 形参和实参

  • 形参定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用
  • 实参调用函数时,小括号中的参数,是用来把数据传递到函数内部用的

04. 函数的返回值

  • 在程序开发中,有时候,会希望一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理
  • 返回值是函数完成工作后,最后给调用者的一个结果
  • 在函数中使用​​return​​ 关键字可以返回结果
  • 调用函数一方,可以使用变量接收函数的返回结果

注意:​​return​​ 表示返回,后续的代码都不会被执行

05. 函数的嵌套调用 - 胖子老板来包烟

In [30]: def ComeOn1():
...: print("ComeOn1,胖子老板来包烟")
...:

In [31]: def ComeOn2():
...: ComeOn1()
...: print("ComeOn2,胖子老板来包烟")

In [32]: ComeOn2()
ComeOn1,胖子老板来包烟
ComeOn2,胖子老板来包烟

In [33]:


Python函数基础 - 胖子老板,来包烟_封装_02



关注微信公众号,回复【资料】、Python、PHP、JAVA、web,则可获得Python、PHP、JAVA、前端等视频资料。