0%

Python学习(五)——函数

函数基础

函数的定义

定义函数的格式如下:

1
2
3
def 函数名():
函数封装的代码
......
  • def是英文define的缩写
  • 函数名称应该能够表达函数封装代码的功能
  • 函数名称的命名应该符合标识符的命名规则

函数的文档注释

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

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

函数的参数

  • 在函数名的后面的小括号内部填写参数
  • 多个参数之间使用,分隔
1
2
3
4
5
6
def sum_2_num(num1,num2):
result = num1 + num2
print("%d + %d = %d" % (num1, num2, result))


sum_2_num(50, 20)

函数的返回值

  • 在函数中使用return关键字可以返回结果
  • 调用函数乙方,可以使用变量接收函数的返回结果

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

函数的嵌套调用

  • 一个函数里面又调用另外一个函数,就是函数的嵌套调用
  • 如果函数test2中,调用了另外一个函数test1
    • 那么执行到调用test1函数时,会先把函数test1中的任务都执行完
    • 才会回到test2中调用test1的位置,继续执行后续的代码

使用模块中的函数

模块是Python程序架构的一个核心概念

  • 模块就好比是工具包,要想使用这个工具包中的工具,就需要导入import这个模块
  • 每一个以扩展名.py结尾的Python源代码文件都是一个模块
  • 在模块中定义的全局变量函数都是模块能够提供给外界直接使用的工具

模块名也是一个标识符

注意:如果在给Python文件起名时,以数字开头是无法在Pycharm中通过导入这个模块的

Pyc文件

ccompiled编译过的意思

  • 浏览程序目录会发现一个__pycache__的目录
  • 目录下会有一个xxxx.cpython-37.pyc文件,cpython-37表示Python解释器的版本
  • 这个pyc文件是由Python解释器将模块的源码转换为字节码
    • Python这样保存字节码是作为一种启动速度的优化
字节码
  • Python在解释源程序时是分成两个步骤的
    • 首先处理源代码,编译生成一个二进制字节码
    • 再对字节码进行处理,才会生成CPU能够识别的机器码
  • 有了模块的字节码文件夹之后,下一次运行程序时,如果在上次保存字节码之后没有修改过源代码,Python将会加载.pyc文件并跳过编译这个步骤
  • Python重编译时,它会自动检查源文件和字节码文件的时间戳
  • 如果你又修改了源代码,下次程序运行时,字节码将会自动重新创建