Python 自定义模块

自定义模块

  1. 什么是模块 :本质就是.py文件,是封装语句的最小单位。
  2. 自定义模块:实际上就是已定义.py文件 ,其中可以包含:函数定义,可执行语句,函数定义,统称为模块成员。
  3. 模块的运行方式

    ① 脚本方式:直接用解释器执行,或者IDE(Pycharm)中运行

    ② 模块方式:被其他的模块导入。此时作用是为导入它的模块提供资源、(变量,函数,类的定义等)

  4. Python 提供了一种可以判断自定义模块属于开发阶段还是使用阶段 __name__属性的使用
    __name__ #以脚本方式运行时 __name__为固定的字符串 (__main__)
          #以导入方式运行时 __name__就是本模块的名字 
  5. 系统导入模块的路径:
    • 内存中:如果之前成功导入过某个模块,直接使用已经存在的模块
    • 内置路径下:安装路径在:lib
    • sys.path : 是一个路径的列表
    • PYTHONPATH :import时 寻找模块的路径
  6. 可以使用sys.path.append(path) 加入模块的路径

    __file__ #当前文件的绝对路径方法

    os.path.dirname() : 可以获取某个路径的父路径 ,通常用于获取当前模块的相对路径

    sys.path.append(os.path.dirname(__file__)+r'/path')  #使用相对路径 来添加模块的位置
  7. 导入模块的多种方式:
    • import xxx :导入一个模块的所有成员
    • import xxxa,xxxb 一次性导入多个模块的所有成员
    • from xxx import xxx : 从某个模块中 导入某个成员
    • from xxx import *

      form xxx import * 和 Import xxx的区别:

      第二种方式在使用其中成员时,必须使用模块名作为前缀

      第一种方式在使用其中成员时,直接使用成员名即可 。

      import mymodel2
      
      mymodel2.fun1()
      
      from mymodel2 import *
      
      fun1()

    如何解决名称冲突的问题?:

    1. 改用Import xxx 这种方式进行导入。
    2. 使用别名解决冲突

    使用别名: alias --> as

    1. 避免名称冲突
    2. 简化书写

from xxx import * 控制成员被导入

`__all__` 是一个列表 用于表示本模块可以被外界使用的成员  
__all__ = ['AGE','age2']        #限制只能使用的变量 ,只对form  import * 时有效 

AUTHOR  = 'PANDA'
AGE = 18
age2 = 0

相对导入

? 相对导入

? 针对某个项目

? 次模块 作为从外界引用的内容

? from .. import xxx

原文地址:https://www.cnblogs.com/pandaa/p/12066880.html

时间: 2024-10-29 21:52:01

Python 自定义模块的相关文章

发布和安装python自定义模块

这一篇说下如何发布和安装python自定义模块,版本:Python 2.7 . 1.创建setup.py 现在如果已经写好一个python文件,为了尽量简明,创建一个新的文件夹,把自己py文件放进去.接着在这个文件夹中创建一个名为 setup.py 的文件,用来表示模块的元数据,文件的内容类似下面这个样子.除了手工创建,有很多python编辑器也可以更简便的来创建这个文件,例如 pycharm. from distutils.core import setup setup( name='nest

python自定义模块

Python可以添加自定义模块 方法一:echo 'export PYTHONPATH='/root/pythondiy/' >> /root/.bashrc # 此目录为你模块的路径 # 然后使用sys模块查看环境变量 import sys sys.path          # 返回一个列表 ['',  '/usr/local/bin',  /root/pythondiy',  '/usr/local/lib/python27.zip',  '/usr/local/lib/python2.

Python 自定义模块位置

1.需要找出Python解释器从哪里查找模块: 具体方法: >>> import sys,pprint>>> pprint.pprint(sys.path)['', 'C:\\Python27\\lib\\site-packages\\jinja2-2.8-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\markupsafe-0.23-py2.7.egg', 'C:\\Python27\\lib\\site-packages

Python 自定义模块+参数传递

自定义模块lib\test.py  int a int b def add(a,b)     k=a+b return k k=add(a,d) print k 参数传递 >>>a=5  >>>b=6  >>>test.add(a,b) 11

Python自定义模块导入

在Python中经常会将不同功能的代码写到不同的package中,当一个package需要从另一个packageg中导入方法(或者说调用函数)时,则需要导入这个模块,否则,python是不知道这个被导入模块的路径的. 例如: 在day4面向对象这个文件夹下面,有三个模块(backend.logic.config)和一个python文件(user.main.py) 其中backend模块下包含有db模块和logic模块.而logic模块下有一个handle.py的文件,这个文件中定义了三个函数:

8. Python自定义模块humansize

我们在提取一个文件元信息的时候,经常会使用到获取元信息的size, 但是默认提取出来的是字节为单位计算的大小,我们需要转换成MB或者GB 或者TB的大小. 因此就需要使用到humansize这个模块, 这个模块不是系统内置的, 你可以通过help()查询内置模块是没有这个的模块的. 需要从其他地方导入才可以进行使用. 将下面的文件保存成humansize.py 放在默认python目录下. 1 '''''Convert file sizes to human-readable form. 2 3

python :自定义模块添加路径

自己写一个pyhton模块每次在使用的时候加载自己的模块都说模块不存在,然后自己在网上找了一个总共有三中方法,都试了. 1:import sys sys.path.append("加入自己的模块路径"),  //这种方法我要吐槽很麻烦,每次都要重新加一次,受够了. 2:添加环境变量 //这个也不推荐,毕竟每次自己的模块都不是在同一个目录下. 3:找到python安装路径里的site-packages,如‘E:\pythonfile\Lib\site-packages’,然后在里面新建一

Python中引用自定义模块

学习了一小段时间的Python,始终停滞在简单的语法上,不能真正体会到Python的强大之处.今天学习了自定义模块的引用方法.当引用模块时,编译器会先在当前目录,接着去sys.path.Python的安装目录去寻找你引用的模块,如果没有的话,就会报错. 第一种情况,你的模块和你要使用的模块在同一目录下.Hello.py是一个模块,里面有一个打印Hello, World的方法Hello().test.py是一个测试程序,它将引用Hello.py中的hello()方法.因为它和模块在同一目录,所以可

python基础知识8——模块1——自定义模块和第三方开源模块

模块的认识 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 内置模块 第三方开源模块 自定义模块 1.定义模块 2.导入模块 Python之所以应用越来越广泛,在一定程度上也