原文路径:

第七讲:Python模块​mp.weixin.qq.com

大家好,今天分享Python模块,主要知识点如下:

  • 导入模块
  • __name__属性
  • dir函数
  • 第三方模块

模块

编写模块有很多种方法,其中最简单的一种便是创建一个包含函数与变量、以 .py 为后缀的文件。任何python模块都可作为模块导入。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 Python 标准库的方法。当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块,需要把命令放在脚本的顶端。一个模块只会被导入一次,这样可以防止导入模块被一遍又一遍地执行。

导入模块

想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下:

import module1[, module2[,... moduleN]

当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端:

#!/usr/bin/python3
# Filename: support.pydef print_func( par ):print ("Hello : ", par)return

test.py 引入 support 模块:

#!/usr/bin/python3
# Filename: test.py# 导入模块
import support# 现在可以调用模块里包含的函数了
support.print_func("Python")

输出;

Hello :  Python

from … import 语句:

从模块中导入一个指定的部分到当前命名空间中:

from modname import name1[, name2[, ... nameN]]

例如,要导入模块 fibo 的 fib 函数,使用如下语句:

>>> from fibo import fib, fib2
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

这个声明不会把整个fibo模块导入到当前的命名空间中,它只会将fibo里的fib函数引入进来。

from … import * 语句

把一个模块的所有内容全都导入到当前的命名空间:

from modname import *

__name__ 属性

每个模块都有一个 __name__ 属性,当其值是 '__main__' 时,表明该模块自身在运行,否则是被引入。一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用 __name__ 属性来使该程序块仅在该模块自身运行时执行。

if __name__ == '__main__':print('程序自身在运行')
else:print('我来自另一模块')

dir 函数

内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回。如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称。在 Python 中万物皆对象,int、str、float、list、tuple等内置数据类型其实也是类,也可以用 dir(int) 查看 int 包含的所有方法。也可以使用 help(int) 查看 int 类的帮助信息。

>>> import fibo, sys
>>> dir(fibo)
['__name__', 'fib', 'fib2']
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__loader__', '__name__','__package__', '__stderr__', '__stdin__', '__stdout__','_clear_type_cache', '_current_frames', '_debugmallocstats', '_getframe','_home', '_mercurial', '_xoptions', 'abiflags', 'api_version', 'argv','base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder','call_tracing', 'callstats', 'copyright', 'displayhook','dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix','executable', 'exit', 'flags', 'float_info', 'float_repr_style','getcheckinterval', 'getdefaultencoding', 'getdlopenflags','getfilesystemencoding', 'getobjects', 'getprofile', 'getrecursionlimit','getrefcount', 'getsizeof', 'getswitchinterval', 'gettotalrefcount','gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info','intern', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path','path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1','setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit','setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout','thread_info', 'version', 'version_info', 'warnoptions']

为组织模块,可将其编组为包。包其实是另一种模块,但是包可包含其他模块。模块存储在.py的文件中,而包则是一个目录,要被python视为包,目录必须包含文件__init__.py

sound/                          顶层包__init__.py               初始化 sound 包formats/                  文件格式转换子包__init__.pywavread.pywavwrite.pyaiffread.pyaiffwrite.pyauread.pyauwrite.py...effects/                  声音效果子包__init__.pyecho.pysurround.pyreverse.py...filters/                  filters 子包__init__.pyequalizer.pyvocoder.pykaraoke.py...

第三方模块

  • easy_install 和 pip 都是用来下载安装 Python 一个公共资源库 PyPI 的相关资源包的,pip 是 easy_install 的改进版,提供更好的提示信息,删除 package 等功能。老版本的 python 中只有 easy_install,没有pip。
  • easy_install 打包和发布 Python 包,pip 是包管理。

easy_install 的用法:

安装一个包

easy_install 包名
easy_install "包名 == 包的版本号"

升级一个包

easy_install -U "包名 >= 包的版本号"

pip 的用法:

安装包

pip install 包名pip install 包名 == 包的版本号

升级包 (不提供version号,默认升级到最新版本)

pip install --upgrade 包名 >= 包的版本号

删除包

pip uninstall 包名

已安装包列表

pip list

分享到此结束,感谢观看!

python模块_第七讲:Python模块相关推荐

  1. python字典、列表、元祖使用场景_python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍...

    python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 元祖跟列表类似.只不过是有区别的. 如下: tuple(元祖英文) 跟列表类似, 元素不能 ...

  2. Python全栈开发记录_第七篇(模块_time_datetime_random_os_sys_hashlib_logging_configparser_re)...

    这一篇主要是学习python里面的模块,篇幅可能会比较长 模块的概念:在Python中,一个.py文件就称之为一个模块(Module). 模块一共三种: python标准库 第三方模块 应用程序自定义 ...

  3. import pymysql 没有模块_小白详细的 python 模块的运用

    小白详细的 python 模块的运用 什么是模块 用书里的话说:模块是最高级别的程序组织单元.这句话的意思是,模块什么都能封装,就像这样: 在模块中,我们不但可以直接存放变量,还能存放函数,还能存放类 ...

  4. 包和模块_月隐学python第13课

    目录 1.⽣成器 1.1 yield表达式​ 2.迭代器​ 2.1 迭代对象 2.2 迭代器 2.3 将迭代对象转换为迭代器 3. 包 4.模块 4.1 模块搜索路径 4.2 导⼊模块 1.⽣成器 如 ...

  5. python利用写模块_使用C++编写python扩展模块

    简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的).而是指使用Python本身提供的API,使用C++来对Python ...

  6. python的常用函数模块_(5)Python的常用模块函数

    python 的常用系统函数,random模块函数,time模块函数和calendar模块函数. 1 random模块函数. 随机数种字,使用seed(x)函数可以设置随机数生成器的种子,通常在调用其 ...

  7. 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...

    Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...

  8. 鱼c工作室python课件_鱼C工作室Python作业

    展开全部 公告: 还在担心2113鱼币不够用?买个终身会员,5261一劳永逸! 小甲鱼2018-11-1 [课后作业4102] 第001讲:我和Python的第一次亲密接触1653 | 课后测试题及答 ...

  9. 决策树剪枝python实现_决策树剪枝问题python代码

    决策树在生长过程中有可能长得过于茂盛,对训练集学习的很好,但对新的数据集的预测效果不好,即过拟合,此时生成的模型泛化能力较差.因此,我们需要对决策树进行剪枝,使得生成的模型具有较强的泛化能力. 为了检 ...

  10. 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用

    我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...

最新文章

  1. Android 实用工具Hierarchy Viewer实战
  2. 灵活运用ISA的链接转换功能:ISA2006系列之十三
  3. Sql Server 调用DLL
  4. Part 1 — Introduction to Smart (legal?) Contracts
  5. maven各个属性参数详解
  6. awk输出csv的一列
  7. IComparer实现文件名排序
  8. MFC控件编程之组合框跟列表框
  9. 别人在忙挖矿,京东架构师却悄悄用区块链搞了件大事
  10. ICCV 2019 Oral | 三维ZAO脸,单张图片估计人脸几何,效果堪比真实皮肤
  11. 只“存活”9个月:Ubuntu 15.10今日停止支持
  12. html js倒计时不准确,js倒计时代码:第2个倒计时为什么会不正常?
  13. android 8 ril,Android 8.0 RIL源码分析(二)
  14. 在iview + vue项目中使用自定义icon图标
  15. 算法:91. 解码方法
  16. 数据中心业务中断 多与运营流程有关
  17. L298N 小车应用(附代码)
  18. JS动态加载JSON文件并读取数据
  19. ubuntu笔记本gpu温度太高解决办法
  20. downloadmedia php,PHP 利用MediaWiki 实现中文简繁互转代码 完美支持大陆、香港、台湾及新加坡...

热门文章

  1. 解析UML箭头、线条代表的意义
  2. 常见消息部件(Common Message Components)
  3. 地表温度数据、LST温度数据、地表反照率、NDVI数据、NPP数据、植被覆盖度、土地利用数据
  4. 阿牛的EOF牛肉串(递推dp)
  5. ? extends T 与 ? super T
  6. hive 正则表达式详解
  7. 【解题报告】图论基础练习(一)
  8. C++小游戏——小岛战争
  9. oracle对星期排序,oracle rownum对排序的影响
  10. 字符串函数---atof()函数详解及实现