Python基础笔记系列十:模块
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础笔记系列十:模块相关的知识,希望对你有一定的参考价值。
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!
- 模块
#1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Python代码段。
#2.把相关的代码分配到一个模块里能让你的代码个更好用,更易懂。
#3.模块也是Python对象,具有随机的名字属性用来绑定或引用。
#4.简单来说,模块就是一个保存了Python代码的文件。模块能自定义函数,类和变量。模块里也能包含可执行的代码。 - 模块引入
python提供了很多第三方的模块可以引入,python标准安装包里的模块称为标准库。模块的引入主要有以下三种:
①引入模块
import moduleName
②引入模块下的函数
from moduleName import function1 , function2 ,...
③引入模块的所有函数
from moduleName import *
其中第一种引入模块的方式在使用模块时需要带上模块名(moduleName.methodName),如math.sqrt();
引入模块后就可以使用模块里的方法了。
例子:计算25的平方根1 import math 2 r = math.sqrt(25) 3 print r
如果模块或者函数名字过长可以在import后使用as给该模块取个假名,之后可以通过“假名.函数”来使用模块里的函数。
例子:1 import webbrowser as myweb 2 myweb.open_new_tab("http://www.cnblogs.com/hyyq/")
-
使用自定义模块
任何Python程序hello.py(无主函数)都可以作为一个模块被另外一个Python程序test.py引入使用。
例子:
hello.py :1 #incoding:utf-8 2 def hello(): 3 print \'import this module!\' 4 def bokeyuan(): 5 print \'http://www.cnblogs.com/hyyq/\'
test.py :
1 #incoding:utf-8 2 import hello #文件名作为模块名,不需要后缀.py哦~ 3 hello.hello() 4 hello.bokeyuan()
输出:
1 import this module! 2 http://www.cnblogs.com/hyyq/
以上引入模块的程序和模块程序需要在同一目录下,局限性很大。如果想让模块可以被任何文件引用,可以调用os.path.append(模块文件所在目录)添加模块所在目录到系统里去。
例子:假设文件结构~/|模块 #文件夹模块 —————|test.py #调用‘hello’模块的程序文件 —————|hello #hello文件夹 ———————|hello.py #模块文件 ———————|hello.pyc #模块字节码文件
test.py:
#incoding:utf-8 import sys sys.path.append(\'./hello\') #当前目录下的hello文件夹 import hello #文件名作为模块名,不需要后缀.py哦~ hello.hello() hello.bokeyuan()
这种将文件目录加入系统里这种方式也有局限性,并且用起来也很麻烦。一般地,通用的告知python解释器到哪儿去找模块文件的方法有三:
①PYTHONPATH环境变量里增加模块文件路径
②.pth文件,文件里列出所有模块文件所在路径(放在python安装目录下即可)
③模块打包(推荐)
以上是关于Python基础笔记系列十:模块的主要内容,如果未能解决你的问题,请参考以下文章