python导入自定义模块和包

参考资料

https://blog.csdn.net/gvfdbdf/article/details/52084144

http://www.runoob.com/python/python-modules.html

python基本概念

python模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

模块能定义函数,类和变量,模块里也能包含可执行的代码。

python包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。

场景应用

导入同级目录文件

如果需要引入同级目录下的文件,则可以采用import一个模块的形式,即可调用。

考虑同一目录下的两个python文件,test.py 需要调用support.py 中的函数,目录结构如下:

|-- test.py
|-- support.py

support.py 中的代码如下:

def print_func( par ):
   print "Hello : ", par
   return

test.py 调用的代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 导入模块
import support

# 现在可以调用模块里包含的函数了
support.print_func("Runoob")

导入子目录文件

如果需要引入子目录下的文件,则可以采用import一个包的形式,将子目录封装成包,即可调用。

考虑一个在 package_runoob 目录下的 runoob1.py、runoob2.py、__init__.py 文件,test.py 为测试调用包的代码,目录结构如下:

test.py
package_runoob
|-- __init__.py
|-- runoob1.py
|-- runoob2.py

__init__.py可以是空文件。

test.py 调用代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 导入 Phone 包
from package_runoob.runoob1 import runoob1
from package_runoob.runoob2 import runoob2

runoob1()
runoob2()

也可以采用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 导入 Phone 包
import package_runoob.runoob1
import package_runoob.runoob2

package_runoob.runoob1.runoob1()
package_runoob.runoob2.runoob2()

原文地址:https://www.cnblogs.com/telazy/p/8967515.html

时间: 2024-10-26 02:38:38

python导入自定义模块和包的相关文章

what's the python之自定义模块和包

模块自定义 上节说了有关模块的知识,当时所说的模块都是内置模块,现在来看自己定制的模块,即模块也可以自定义. 模块的自定义就是指写一段python文件,一般情况下里面包含了可执行的语句和函数的定义,其实自定义的模块和内置模块的效果一样,都是使以后程序的操作更加方便,不用重复敲一样的代码,直接导入模块就可以使用.导入方式与内置模块相同,import+文件名,当然,自定义的模块增加了许多其他的导入方式,下文我们会详细介绍. 需要特别注意的是:我们自定义的模块名不应该与系统内置模块重名. 现在我们来自

python导入自定义模块

一.查看自定义模块路径是否包含在sys中 >>> import sys>>> sys.path 若不包含,可用sys.path.append('/xxx/xx/xx')添加. 二.导入 import  XXX 导入过程,自定义模块就运行了.自定义模块中包含函数,可用XXX.XX(xx)调用. 最简单的办法是用 .pth 文件来实现.Python 在遍历已知的库文件目录过程中,如果见到一个 .pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,这样 .

vscode如何配置debug,python正则表达式如何匹配括号,关于python如何导入自定义模块

关于vscode如何配置debug的问题: 1.下载安装好python,并且配置好 环境变量 2.https://www.cnblogs.com/asce/p/11600904.html 3.严格按照上面进行操作的话,用vscode直接打开  文件夹即可 (.vscode文件中的launch.json文件其实就是指导软件在debug时如何做,可以自己生成,不用自定义设置) python正则表达式如何匹配括号,中括号一类的问题: 给括号加上[ ] 例如:abc(123)def  要匹配括号中的数字

python之路--模块和包--景丽洋

python之路--模块和包 阅读目录 一 模块 3.1 import 3.2 from ... import... 3.3 把模块当做脚本执行 3.4 模块搜索路径 3.5 编译python文件 二 包 2.2 import 2.3 from ... import ... 2.4 __init__.py文件 2.5  from glance.api import * 2.6 绝对导入和相对导入 2.7 单独导入包 回到顶部 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了pyth

windows 下Python import 导入自定义模块

周末在家研究这个东西,则找到解决方案. 费话少说,上代码 1 #定义一个自定义的函数,如下 2 #函数的名称必须是字母和数字的组合,不能用数字开头 3 #函数名后用小括号括住入参,可以用逗号分隔多个 4 #如果有返回值用return ,如果没有返回值,默认返回None 5 6 def PanDuanFenShu(score): 7 if 100 >= score >= 90: 8 print("A") 9 if 90 > score >= 80: 10 prin

Python基础day-16[模块与包]

模块: 模块的好处:首先模块可以大大提高代码的可维护性,其次可以减少大量的重复代码,可以通过模块调用来重复使用某些代码.另外,模块还可以避免函数名和变量名冲突. 在Python中一个.py文件就称之为一个模块(module). 模块分类: Python标准库(内置库) 第三方模块 应用程序自定义模块 导入模块 注:模块的在import的时候,会执行模块内的所有代码,并新建一个名称空间保存这些.类似变量,重复导入同一模块,不会重复执行模块内代码. 所以导入时进行了两步操作: 1.创建新的名称空间

python之路---模块与包

模块与包  (官网https://docs.python.org/3/contents.html) 1.模块 1.1  一个.py文件 (内容一般是定义的函数或者数据或者方法) 就可以当做一个模块   可以被调用 1.2  模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到导入import语句时才执行(import语句是可以在程序中的任意位置使用的,且针对同一个模块很import多次,为了防止你重复导入,python的优化手段是:第一次导入后就将模块名加载

Python类、模块、包的概念及区别

类 类的概念在许多语言中出现,是面向对象编程的基础,很容易理解.抽象出不同物体的共同特征,根据相似性原则,把彼此相似的物体归于相同的类概念, 它将数据和操作进行封装,以便将来的复用. 模块 模块,在Python中一个文件就可以认为是一个模块.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量.模块名就是文件名去掉.py后缀. 模块也可以简单的划分为built-in模块和自定义模块 built-in 模块就是Python内置的一些模块,比

python之路——模块和包

阅读目录 一 模块 3.1 import 3.2 from ... import... 3.3 把模块当做脚本执行 3.4 模块搜索路径 3.5 编译python文件 二 包 2.2 import 2.3 from ... import ... 2.4 __init__.py文件 2.5  from glance.api import * 2.6 绝对导入和相对导入 2.7 单独导入包 回到顶部 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就