概述
模块
什么是模块:
对于一个复杂的功能,为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。
在Python中,一个.py文件就称之为一个模块(Module)。即一个文件被看作一个独立的模块,一个模块也可以被看做是一个文件
使用模块可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。
模块分为三种:
1.内置模块:如sys, os, subprocess, time, json 等等
2.自定义模块:自定义模块时要注意命名,不能和Python自带的模块名称冲突。例如,系统自带了sys模块,自己的模块就不可命名为sys.py,否则将无法导入系统自带的sys模块。
3.开源模块:公开的第三方模块, 如 https://pypi.python.org/pypi 。可以使用pip install 安装,类似于yum 安装软件
一.导入模块
import 用来导入模块,即在当前python源文件中可以使用导入的模块中的所有东西
test01:
title = 123
def demo():
print 'hello world!'
class Cat():
pass
test02:
title = 123
def demo():
print 'hello world!'
class Dog():
pass
import test01 # 导入test01模块
import test02 # 导入test02模块
dog = test02.Dog() # 调用模块test02中的Dog类创建对象
print dog
cat = test01.Cat()
print cat
print test01.title # 调用模块test01中的全局变量title
print test02.title
test01.demo() # 调用test01中的函数demo()
test02.demo()
二.重命名导入的模块
在当前文件中可以使用新的名字来调用模块中的东西
import 模块名 as 新名 ——————指定模块的别名
import test01 as CatModule # 给test01模块重命名为Catmodule
import test02 as DogModule # 给test02模块重命名为Dogmodule
print CatModule.title # 用新的模块名调用全局变量title
print DogModule.title
dog = DogModule.Dog() # 用新的模块名调用类Dog
print dog
cat = CatModule.Cat()
print cat
CatModule.demo() # 用新的模块名调用函数demo()
DogModule.demo()
三.选择性导入
1.from test01 import Cat test01是模块名,Cat是模块中的东西,如果想要在新的文件中直接使用Cat,则可以使用这种方式,直接导入需要的东西。
2.如果两个模块中含有同名的东西,则有效的是后来导入的模块,因为后边导入的覆盖了前边导入的
from test01 import demo # 只导入test01中的demo()函数
from test01 import Cat # 只导入test01中的Cat类
from test02 import demo # 导入test02中的demo函数,与已经导入的test01中的demo重名,后者有效
demo()
cat = Cat()
print cat
四.寻找模块的过程
python的解释器在导入模块的时候,会:
1.搜索当前目录指定的模块文件,如果有就直接导入
2.如果没有,再搜索系统目录
注意:在开发时,给文件起名,不要和系统模块文件重名
五.name的用法
name的用法
__name__属性可以做到,测试模块的代码只在测试情况下被运行
__name__是python的一个内置属性,记录一个字符串
(1)如果是被其他文件导入时,输出__name__就是导入的模块名
(2)如果是当前执行的程序,__name__输出就是就是__main__
# 全局变量,函数,类,直接可以执行的代码不是向外界提供的工具
def demo():
print 'hello world!'
# 如果直接在模块中输入__name__,得到的是__main__
if __name__ == '__main__': # 判断是在源文件中还是在导入模块中
print __name__
demo()
print 'have a nice day!'
在另外一个源文件中导入该.py源文件,直接运行不会输出结果
最后
以上就是英俊鞋子为你收集整理的Python中的模块用法一.导入模块五.name的用法的全部内容,希望文章能够帮你解决Python中的模块用法一.导入模块五.name的用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复