Python创建模块及模块导入的方法

作者:imzoer 时间:2023-04-21 03:42:03 

本文实例讲述了Python创建模块及模块导入的方法。分享给大家供大家参考。具体分析如下:

python学习手册中写道:

定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。

比如说,下面的代码输入到一个文件中,就可以看作是一个模块:


def printme(var):
 print var
if __name__ == '__main__':
   printme(1)

假设说输入到a.py中,那么import a就可以把这个模块导入。

然后可执行a.printme(3),屏幕即可打印出3:


>>> a.printme(3)
3
>>>

一个模块顶层定义的变量,会自动变成模块的属性。例如:


data=[1,2,3]
def printme(var):
 print var
if __name__ == '__main__':
   printme(1)

data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。

引入模块示例如下:(假定此时data=[1,2,3]未定义)


>>> import a
>>> a.data

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
 a.data
AttributeError: 'module' object has no attribute 'data'
>>> reload(a)
<module 'a' from 'C:/py\a.pyc'>
>>> a.data

Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
 a.data
AttributeError: 'module' object has no attribute 'data'
>>>

从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=[1,2,3],重新加载a模块,并输出data属性:


>>> reload(a)
<module 'a' from 'C:/py\a.py'>
>>> a.data
[1, 2, 3]
>>>

这里的reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。

上面a.data,就是访问模块中的属性。

上面的例子是导入一个文件作为一个模块。

其实python的模块导入还有更丰富的内容。

除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。

看下面例子:

在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。

那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。

希望本文所述对大家的Python程序设计有所帮助。

标签:Python,模块
0
投稿

猜你喜欢

  • mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法

    2024-01-19 22:48:06
  • Python中三种条件语句示例介绍

    2022-09-17 17:28:30
  • python实现堆和索引堆的代码示例

    2021-09-21 21:42:05
  • 如何在Flask中实现数据分组流程详解

    2021-11-15 06:53:59
  • PowerBI和Python关于数据分析的对比

    2023-07-08 15:52:45
  • MySQL中使用MD5加密的实现

    2024-01-15 14:11:38
  • python3 批量获取对应端口服务的实例

    2021-07-14 11:52:05
  • python @property的用法及含义全面解析

    2023-04-06 00:42:28
  • python中PyQuery库用法分享

    2023-12-05 03:08:31
  • Python利用tkinter实现一个简易番茄钟的示例代码

    2021-03-02 17:20:59
  • 教你如何在CI框架中使用 .htaccess 隐藏url中index.php

    2023-11-14 11:49:57
  • asp.net下利用js实现返回上一页的实现方法小集

    2024-05-28 15:37:22
  • pycharm2022没有manage repositories配置镜像源的解决方法

    2022-06-27 05:30:24
  • golang 在windows中设置环境变量的操作

    2024-04-28 09:12:29
  • Python使用Selenium实现淘宝抢单的流程分析

    2022-01-31 04:04:18
  • Python基于动态规划算法计算单词距离

    2021-09-18 11:18:16
  • 随机6+1选号码摇奖程序

    2008-07-18 13:15:00
  • 基于python实现文件加密功能

    2022-02-02 20:28:57
  • 手把手教你Python yLab的绘制折线图的画法

    2023-03-11 21:21:43
  • Golang Socket Server自定义协议的简单实现方案

    2024-04-25 13:17:40
  • asp之家 网络编程 m.aspxhome.com