函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定描述性名称,可让主程序容易理解得多。
而我们还可以进一步优化代码,将函数存储在被称为 模块 (模块是扩展名为 .py 的文件)的独立文件中,再将
模块导入到主程序中。import 语句允许在当前运行的程序文件中使用模块中的代码。实际工作中也是如此,这样
可以隐藏程序代码的细节,将重心放在程序的高层逻辑上。而且重用性也会提高,也能让其他程序员使用你的函
数,只需要将这些文件共享给他就行了。
一、导入整个模块
如果你写了一个 utils.py 的文件里有一些通用的函数,然后你想在 test.py 里面使用这些函数,如何去做呢?
如下:
utils.py
def print(): print("hello world !") def greet_user(username): print("hello " + username.title())
test.py
import utils #注意使用函数前需要用模块名加 .(点) utils.print()
这样就可以打印“hello world !”了。
解释:Python在读取test文件时,代码行 import utils 打开文件utils.py,并将其中的所有函数都复制到这个
程序中,你看不到复制的代码,因为这个程序运行时,Python在幕后已经完成了复制。你只需要知道在test.py
中可以使用utils.py 中的所有函数(使用函数时语法是:模块名.函数名)。
二、导入特定的函数
如果你只想使用模块中的某一个函数,可以使用from 模块名 import 函数名,如下:
test.py
from utils import greet_user greet_user('joker')
如果使用这种方式,调用函数时则不需要模块名加点来调用函数。
三、给模块指定别名
可以给模块指定别名,便于我们去调用函数,如下:
test.py
import utils as u #注意使用函数前需要用模块名加 .(点) u.print()
在给模块指定别名之后则可以使用别名去调用函数,这样会使代码更加简洁且不需要去关注模块名,而专注于函数名。
函数命名:给函数命名时,最好是见名知意,且在函数定义后面,可以用注释简要阐述其主要功能
遇到闪电记得要微笑,因为那是天空在给你拍照。