写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我
热爱AI、热爱分享、热爱开源
! 这博客是我对学习的一点总结与记录。如果您也对深度学习、机器视觉、算法、Python、C++
感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github
-> 前往【人生苦短,我学 Python】总目录 <-
函数是可重复使用的,用来实现单一,或相关联功能的代码段。函数能够很好地划分和组织程序的执行逻辑。通过使用函数,可以将原本复杂冗长的程序划分为依次调用的程序块。
函数能提高应用的模块性,和代码的重复利用率。通过前面的学习,你已经知道Python提供了许多内置函数,比如print()、input()、len()、max()等。但你也可以自己创建函数,这些被叫做用户自定义函数。
在定义一个函数的过程中,我们需要遵循以下的规则:
下面,举例定义一个简单的函数,来输出两数中的较大的数:
def max(a, b):
"""输出a,b中较大的那个数"""
if a > b:
return a
else:
return b
定义一个函数只是指定这个函数能做什么,但是并没有真正地去执行它。只有在调用函数,才能发挥函数的真正作用。下面,我们就简单的调用一下上面的函数:
# 定义函数
def max(a, b):
"""输出a,b中较大的那个数"""
if a > b:
return a
else:
return b
# 调用函数
print("a,b中较大的那个数是:", max(6, 8))
实质上,整个程序是从最后一行开始执行的。在编写工程的时候,我们更习惯这种写法:
def max(a, b):
"""输出a,b中较大的那个数"""
if a > b:
return a
else:
return b
if __name__ == '__main__':
print("a,b中较大的那个数是:", max(6, 8))
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序导入,以使用该模块中的函数等功能。
Python之所以好用,原因之一就是其有着丰富的标准模块,这些标准模块功能强大,且易于使用。比如常用的有os模块、sys模块、datetime模块等。
而本文主要带大家了解,如何建立自己的模块,并且导入模块,或者导入模块中的某个函数。
在导入一个自定义模块之前,我们需要自建一个模块,命名为mymath.py。用来存放我们定义的一些函数。比如下面这样:
def max(a, b):
"""输出a,b中较大的那个数"""
if a > b:
return a
else:
return b
def min(a, b):
"""输出a,b中较小的那个数"""
if a < b:
return a
else:
return b
def add(a, b):
"""输出a,b之和"""
return a + b
接下来,我们需要在主文件main.py中去导入这个模块,再调用其中的函数:
# 导入模块
import mymath
a = 6
b = 8
# 调用函数
print("输出a,b中较大的那个数:", mymath.max(a, b))
print("输出a,b中较小的那个数:", mymath.min(a, b))
Python 在读取main.py时,代码行 import mymath 让 Python 打开文件 mymath.py ,并将其中的所有函数都复制到这个程序中。你看不到复制的代码,因为这个程序运行时,Python 在幕后复制这些代码。你只需知道,在 main.py 中,可以使用 mymath.py中定义的所有函数。
有的时候,在主程序中,不需要用到mymath.py中所有的函数,这个时候就可以只导入需要用的那个函数,比如值导入mymath.py中的add()函数:
# 导入模块
from mymath import add
a = 6
b = 8
# 调用函数
print("输出a,b之和:", add(a, b))
当然,也可以通过以下方式,同时导入mymath.py模块中的多个函数:
from mymath import add, max, min
如果是导入模块中的所有函数,可以直接用 *
号代替,如下所示:
from mymath import *
有的时候,导入的模块名太长,在编写主程序时,又需要经常用到。为了方便,在导入时往往将模块指定一个更为简短的名字,比如:
import tensorflow as tf
通过这样,在主程序中不仅导入了tensorflow,而且还命名了一个别名tf,那么在主程序中,tf就指代tensorflow。
同样,也可以使用 as 给函数指定别名。比如下面这样:
from mymath import add as d
于是,我们的主程序,就可以直接这样简写:
from mymath import add as d
a = 6
b = 8
# 调用函数
print("输出a,b之和:", d(a, b))
当我们需要进行多次add()操作时,这种简写的方式优势就很明显了!
-> 回到【人生苦短,我学 Python】总目录 <-
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!