资讯专栏INFORMATION COLUMN

Python模块

付伦 / 2727人阅读

Python模块
上一篇文章:Python类的定义与操作
下一篇文章:Python设计模式
1、导入
导入整个模块:import 模块名

导入特定的函数:from 模块名 import 特定函数

使用as给函数重命名:from 模块名 import 特定函数 as 新名称

使用ad给模块冲命名 import 模块名 as 新名词

导入模块的所有函数:from 模块名 import *

2、Python解析器对模块位置的搜索顺序
1.当前目录。

2.搜索在shell变量PYTHONPATH下的所有目录

3.Python默认路径,例如UNIX下:,默认路径一般为:/usr/local/lib/python/

提示:模块搜索路径存储在system模块的sys.path变量中,该变量包含当前目录、PYTHONPATH、安装过程决定的默认路径

实例:

import sys
for item in sys.path:
    print(item)

结果:

/Users/zhaolixiang/Desktop/python/test1/模块
/Users/zhaolixiang/Desktop/python/test1
/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
/Applications/PyCharm.app/Contents/helpers/pycharm_matplotlib_backend
3、自定义模块、__name__
自定义模块:就是自己写一个py文件啦,别紧张,没那么复杂

__name__:通过判断这个变量是否等于__main__,来判断该模块(py文件)是被别否认模块引用,还是自己直接调用,通过该方法可以在开发阶段进行单个模块测试。

实例:

MarkA.py

def funA():
    print("MarkA---funA")

#用来进行测试
if __name__=="__main__":
    print("MarkA测试调用")
    funA()

MarkB.py

import MarkA as markA

def funB():
    print("MarkB--funB")
    markA.funA()

if __name__=="__main__":
    funB()

运行MarkB的结果:

MarkB--funB
MarkA---funA
4、__all__
当该变量列表存在时,只有在该列表中存在的属性或者方法才能被引用访问

实例:

AllA.py

__all__=["A","testA"]
__all__=["A","testA"]
class A:
    def testA(self):
        print("A---testA")
class B:
    def testB(self):
        print("B---testB")
def testA():
    print("testA")
def testB():
    print("testB")

AllB.py

from AllA import *
a=A()
a.testA()

testA()

"""
下面调用会出现异常,因为只有在__init__中的元素才能被导入
b=B()
b.testB()

testB()

"""

运行AllB.py,结果为:

A---testA
testA
5、包
在包含多个.py文件的文件夹中,新建一个__init__.py文件,此时这个文件夹就成了包。

可以在这个文件中定义__all__来决定包中哪些可以被其它模块导入。

6.模块发布

打包前项目概况:

makeA.py:

def testA():
    print("testA")

makeB.py:

def testB():
    print("testB")

setup.py:

from distutils.core import setup
#打包的详细信息
setup(name="mark",version="1.0",description="mark"s module",
      author="mark",py_modules=["makeA","makeB"])

构建模块

python setup.py build

构建后的目录结构:

生成发布压缩包

python setup.py sdist

执行后的目录结构:

dist目录下的mark-1.0.tar.gz就是打包后的文件

7、模块安装与使用
1、找到模块安装包

2、解压

3、进入文件夹

4、执行:python setup.py install

也可以指定安装路径:python setup.py install --prefix=安装路径

5、s会用from import就可以完成引用使用了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45557.html

相关文章

  • Python标准库系列之模块介绍

    摘要:的模块其实就是封装了一个或者多个功能的代码集合,以便于重用,模块可以是一个文件也可以是一个目录,目录的形式称作包。已经导入的模块会保存在字典中。 Python的模块其实就是封装了一个或者多个功能的代码集合,以便于重用,模块可以是一个文件也可以是一个目录,目录的形式称作包。 模块分类 内置模块 内置模块可以理解成当你安装好python环境之后,直接可以使用import导入的就是内置模块,...

    v1 评论0 收藏0
  • python基础教程:模块高级技巧

    摘要:标准模块附带了一个标准模块库。它返回一个如果调用不传递参数,则列出当前已经定义的所有名字用可以查看所有的内置类型变量函数等,方法是借助标准模块模块高级技巧总结的搜索路径,顺序一定要搞得清编译后的文件内置函数查看模块定义的名字。 上一节,我们讲解了Python模块的基础知识,这一节我们继续深入了解模块的更多知识,从而让大家全面了解、掌握和运用模块到我们实际的编程中。 在上一节中有一句话接...

    JasinYip 评论0 收藏0
  • Python - 模块module

    摘要:一什么是模块中,一个文件就称之为一个模块。所有的内置函数为避免模块名冲突,又引入了按目录来阻止模块冲突的方法,称为包。例如下列小程序以自建的模块,编写一个的模块。如果在其他地方导入该模块时,判断将失败,即仅在此模块单独运行时生效。 一、什么是模块 Python中,一个.py文件就称之为一个模块。那么使用模块有什么好处呢? (1)提高了代码的可维护性。(2)代码不必从零开始,当一个模块...

    ranwu 评论0 收藏0
  • Python 程序构架浅析

    摘要:一概念通常的程序的构架是指将一个程序分割为源代码文件的集合以及将这些部分连接在一起的方法。的程序构架可表示为一个程序就是一个模块的系统。它有一个顶层文件启动后可运行程序以及多个模块文件用来导入工具库。导入是中程序结构的重点所在。 一、概念 通常的Python程序的构架是指:将一个程序分割为源代码文件的集合以及将这些部分连接在一起的方法。 Python的程序构架可表示为: showImg...

    hss01248 评论0 收藏0
  • python基础教程:Python模块(module)

    摘要:如果你这个脚本想要使用其它脚本里面的变量函数和类也是可以的,在你这个脚本里面用来导入要引用的脚本,而那个被引用的脚本就称作模块。 在此之前,我们运行一些简短的Python代码,都是通过Python解释器(python或ipython)进行的,如果我们退出解释器再重新运行解释器后,上次敲进去的变量、函数等都不见了,没有保存下来。为了保存我们曾经写过的代码,就是要写成.py文件,称为脚本。...

    whinc 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<