Python学习之模块基础
模块就是程序
编写以下简单代码
print('hello python')
并将py文件保存在c盘的python(假设新建)文件下,通过pycharm的terminal 或者windom命令窗口调出python解释器并输入以下代码
import sys sys.path.append('c:/python') import hello
将看到以下输出结果
1 hello python
用py内置函数dir演示此行代码是如何被打印的。
可以看到初次调用python解释器时会显示一个列表。当导入内置模块sys时再次调用dir()函数会发现列表中多了一个元素sys。但这并不是我们想要的,继续向下看。
当通过sys的path函数拼接出我们在c盘python文件路径后,使用import 导入hello 后 python解释器将打印我们想要的结果'hello python',至此我们再次使用dir()函数会发现此时的列表多了一个以hello命名的元素。由此推断,我们只所以能使用sys.path.append函数和打印出'hello python'是因为我们分别导入一个sys文件和hello文件。这种文件就是python中的模块,文件名就是模块名。
当我们沉浸在理解了什么是python模块时,不小心又敲了一下回车。为什么hello python不见了,难道是py解释器坏了吗?再次打开py解释器重复以上操作会发现只有当第一次import hello时候打印hello python。难道是每按一次回车就打印一次hello python吗?仔细观察代码,我们只写了一行hello python.你可能会想,那我多写几行hello python不就行了吗。试试看,会发生什么。一次性输出了多条hello python 这明显不是你想要的结果。假设你写了一个存储人事信息的系统,每来一个新同事,你都要为他写一个录入程序吗。很显然我们希望只写一次程序,当再有新同事入职时,只需要调用我们写好的程序就可以为新同事办理入职。同理,我们改善我们的代码。
1 def register(): 2 print('hello python')
在c:/python文件下替换更新后的hello.py文件。重启python解释器后会发现,按以下步骤操作后发现。hello python终于多次出现了,这就是模块中代码重用。