Python模块的定义,模块的导入,__name__用法实例分析

 更新时间:2020年01月07日 09:53:05   作者:随风行云  
这篇文章主要介绍了Python模块的定义,模块的导入,__name__用法,结合实例形式分析了Python的概念、功能、导入及__name__相关使用技巧,需要的朋友可以参考下

本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:

相关内容:

  • 什么是模块
  • 模块的导入
    • 模块的导入
    • 自模块的导入
      • 同级目录导入
      • 不同级目录导入
        • 目录内导入目录外
        • 目录外导入目录内
  • __name__

什么是模块:

在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。

【python有内置方法、类,所以有些方法我们并不需要导入模块】

模块的使用:模块.函数 ,     模块.类

#函数
import math
print(math.sqrt(3))
#类
import threading
a=threading.Thread()
print(a)

模块的导入:

 

  • 模块导入:

    • import 模块名
    #import 模块名
    import math
    print(math.sqrt(9))
    • from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
#from 模块名 import 类名、方法名
from collections import Iterable 
print(isinstance("abc",Iterable))
print(isinstance([1,2,3],Iterable))
  • from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa
  • 自模块导入:

Python import 的搜索路径

1.在当前目录下搜索该模块

2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 【可以从sys.path中获取】

import sys
print(sys.path)

----------
运行结果:
['J:\\HardWork\\Code\\python', 
'J:\\HardWork\\Code\\python',
 'I:\\python3\\python36.zip',
 'I:\\python3\\DLLs', 
'I:\\python3\\lib',
 'I:\\python3', 
'I:\\python3\\lib\\site-packages']

3.在 Python 安装路径的 lib 库中搜索

    • 同级目录导入:直接导入

 image_thumb

image_thumb[2]

image_thumb[4]

    • 不同级目录导入:将对应目录加入到sys.path中,再import

      • 目录内的b导入目录外的c

目录结构:image

c中内容:image

b中如何导入c:

import sys,os
print(__file__)##这是当前文件的绝对路径
parent_dir=os.path.dirname(__file__)##获得当前文件的目录
pp_dir=os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c  #要导入c,必须将diff_dir加入sys.path中
      • 目录外的c导入目录内的d

目录结构:image

d中内容:image

c中如何导入d:

from d2 import d

或:

import d2.d

结果:image


__name__:

由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:

 

当直接运行时,__name__是__main__:

print("import C done")
print(__name__)

if __name__=='__main__':
 print("direct run")

---------------
运行结果:
import C done
__main__
direct run

当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行image_thumb[7]

import sys,os

# print(__file__)##这是当前文件的绝对路径
parent_dir=os.path.dirname(__file__)##获得当前文件的目录
pp_dir=os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c  #要导入c,必须将diff_dir加入sys.path中




------------------
运行结果:
import C done
c

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

  • Python实现人工蜂群算法的示例代码

    Python实现人工蜂群算法的示例代码

    ABC,即人工蜂群算法(Artificial Bee Colony Algorithm),由Karaboga等人提出,这篇文章主要介绍了人工蜂群算法的概念与Python实现,感兴趣的可以了解一下
    2023-08-08
  • Python实现二维曲线拟合的方法

    Python实现二维曲线拟合的方法

    今天小编就为大家分享一篇Python实现二维曲线拟合的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python读写mat文件操作指南(使用scipy.io)

    Python读写mat文件操作指南(使用scipy.io)

    Matlab是一个非常好用的矩阵计算分析软件,然而随着深度学习的发展,Python语言也逐渐成为人们的常用编程语言,这篇文章主要给大家介绍了关于Python使用scipy.io读写mat文件的相关资料,需要的朋友可以参考下
    2023-06-06
  • python 实现围棋游戏(纯tkinter gui)

    python 实现围棋游戏(纯tkinter gui)

    这篇文章主要介绍了python 如何实现围棋游戏,帮助大家利用tkinter制作图形界面程序,感兴趣的朋友可以了解下
    2020-11-11
  • 简单理解Python中基于生成器的状态机

    简单理解Python中基于生成器的状态机

    这篇文章主要介绍了简单理解Python中基于生成器的状态机,来自于IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • 为什么在函数中运行的 Python 代码速度更快?

    为什么在函数中运行的 Python 代码速度更快?

    对于Python解释器来说,读取和写入局部变量比全局变量更容易和更快,因为它们的作用域范围较小
    2023-09-09
  • python sys,os,time模块的使用(包括时间格式的各种转换)

    python sys,os,time模块的使用(包括时间格式的各种转换)

    这篇文章主要介绍了python sys,os,time模块的使用(包括时间格式的各种转换),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Python3.5面向对象编程图文与实例详解

    Python3.5面向对象编程图文与实例详解

    这篇文章主要介绍了Python3.5面向对象编程,结合图文与实例形式详细分析了Python面向对象编程相关的概念、类定义、实例化、实例变量、类变量、析构函数等相关原理及使用技巧,需要的朋友可以参考下
    2019-04-04
  • Python中字典列表中删除重复项

    Python中字典列表中删除重复项

    本文主要介绍了Python中字典列表中删除重复项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python 实现劳拉游戏的实例代码(四连环、重力四子棋)

    Python 实现劳拉游戏的实例代码(四连环、重力四子棋)

    这篇文章主要介绍了Python 实现劳拉游戏的实例代码(四连环、重力四子棋),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论