模块

1、 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。

2、 当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

搜索路径是一个解释器会先进行搜索的所有目录的列表。

如想要导入模块 support,需要把命令放在脚本的顶端。

3、 Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法:

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

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

from modname import *

5、模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。这些代码只有在第一次被导入时才会被执行。

每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表来使用。

所以,模块的作者可以放心大胆的在模块内部使用这些全局变量,而不用担心把其他用户的全局变量搞混。

从另一个方面,当你确实知道你在做什么的话,你也可以通过 modname.itemname 这样的表示法来访问模块内的函数。

模块是可以导入其他模块的。在一个模块(或者脚本,或者其他地方)的最前面使用 import 来导入一个模块,当然这只是一个惯例,而不是强制的。被导入的模块的名称将被放入当前操作的模块的符号表中。

还有一种导入的方法,可以使用 import 直接把模块内(函数,变量的)名称导入到当前操作模块。比如: from fibo import fib, fib2

6、__name__属性

Ø 一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

Ø 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。

Ø __name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格。

7、dir() 函数

Ø 内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回。

Ø 如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称。

8、包

包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。

就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。

这样不同的作者都可以提供 NumPy 模块,或者是 Python 图形库。

不妨假设你想设计一套统一处理声音文件和数据的模块(或者称之为一个"包")。

现存很多种不同的音频文件格式(基本上都是通过后缀名区分的,例如: .wav,:file:.aiff,:file:.au,),所以你需要有一组不断增加的模块,用来在不同的格式之间转换。

并且针对这些音频数据,还有很多不同的操作(比如混音,添加回声,增加均衡器功能,创建人造立体声效果),所以你还需要一组怎么也写不完的模块来处理这些操作。

在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包含的子目录。

目录只有包含一个叫做 __init__.py 的文件才会被认作是一个包,主要是为了避免一些滥俗的名字(比如叫做 string)不小心的影响搜索路径中的有效模块。

最简单的情况,放一个空的 :file:__init__.py就可以了。当然这个文件中也可以包含一些初始化代码或者为(将在后面介绍的) __all__变量赋值。

用户可以每次只导入一个包里面的特定模块。

不同模块下包重名怎么解决_模块相关推荐

  1. 不同模块下包重名怎么解决_注册公司核名通不过,疑难核名有办法解决吗?

    公司名字对于很多创业者或老板来说实际上是非常重要的,公司名字不仅仅能给业务范畴做出一个想想的空间,更是企业道路发展一直伴随的一面旗帜.因此取一个好的公司名字并简单,个别注重这方面的人更是会找人算好名字 ...

  2. 不同模块下包重名怎么解决_口臭怎么解决?|盘点不同类型口臭的去除方法

    很多人生活中被口臭困扰,如果患上口臭,很容易影响我们的社交,甚至接吻都会被亲近的人嫌弃.而且有些口臭并不仅仅是单纯的嘴里有味,更有可能是身体健康隐患的信号灯. 口臭其实分两大种,生理性口臭和病理性口臭 ...

  3. 苹果cms重复采集重名视频解决方法

    1,采集前首先设置一下采集参数,避免采集重复.程序后台->系统->采集参数配置 入库重复规则:勾选"分类""和标题"(意思同一个视频名称,同一分类的 ...

  4. win7不提示计算机重名,VMware安装win7系统提示网络上有重名怎么解决

    最近有用户在VMware安装win7系统的时候,添加一台已经存在的虚拟机,添加完成后总是提示网络上有重名,修改计算机名之后还是没解决,该怎么办呢,本文就给大家讲解一下VMware安装win7系统提示网 ...

  5. Eclipse导入项目时Finish不能点击(项目重名)解决办法

    Eclipse导入项目时Finish不能点击(项目重名)解决办法 Eclipse在导入项目时Finish不能点击的问题,一般情况是发生重名,这里的重名包括文件重名,以及.project文件重名. 解决 ...

  6. 【技术贴】虚拟机网络上有重名的解决|虚拟机Net模式提示有重名

    虚拟机网络上有重名的解决|虚拟机Net模式提示有重名 装了vmware 新建---添加一台已经存在的虚拟机,添加完成后总是提示网络上有重名,修改了计算机名后还是没解决,百度一下,也有不少人遇到同样的问 ...

  7. VMware安装windows 系统上提示网络上有重名的解决方法

    VMware安装windows 系统上提示网络上有重名的解决方法 标签: virtual pc 网络上有重名 虚拟机 vpc nat共享连接 杂谈 分类: 电脑知识 装了vmware 新建---添加一 ...

  8. android id 重名_android - 解决“应用自定义权限重名”

    背景 现场的开发今天跟我说,测试包装不上!报错"应用自定义权限重名"!!! 网上百度下关键字,发现魅族手机有这个毛病,顺藤摸瓜:"http://bbs.flyme.cn/ ...

  9. win7计算机重名会怎样,win7系统电脑开机右下角显示“网络上有重名”的解决方法...

    很多小伙伴都遇到过win7系统电脑开机右下角显示"网络上有重名的困惑吧,一些朋友看过网上零散的win7系统电脑开机右下角显示"网络上有重名的处理方法,并没有完完全全明白win7系统 ...

最新文章

  1. Jacoco的原理(各个覆盖率的解释)
  2. VSCode+PHPstudy配置PHP开发环境
  3. Pandas 文本数据方法 strip( ) lstrip( ) rstrip( )
  4. The only difference is that they are written
  5. ThinkPHP框架 _ 学习11
  6. Java的重写equals但不重写hashCode方法的影响
  7. 使用代码把一个目录打包成jar
  8. k系列服务器,Nvidia开普勒K4000、K2000、K2000D、K600四款Kepler架构Quadro显卡专业卡全新登场...
  9. 基于轨迹的游客行为特征分析
  10. WIN8专业版安装SqlServer2008
  11. html写一个轮播图响应式布局,响应式banner图片轮播布局代码
  12. 【这是一个还没有被证实是否有效的小白修炼手册】数据结构入门第一课基本概念
  13. 中国医学影像工作站市场趋势报告、技术动态创新及市场预测
  14. 产品负责人(Product Owner)的主要职责和技能
  15. Rust语法之if语句
  16. 【linux】linux 搭建pppoe服务器
  17. DNS(2)解析 ---DNS的正向、反向解析及双向解析
  18. 爱因斯坦的宇宙(纪念爱因斯坦)
  19. 用JS写的一个简单的导航栏
  20. 面经|猿辅导-数据分析|终面+HR面|30+40min

热门文章

  1. LeetCode简单题之有序数组的平方
  2. LeetCode简单题之比赛中的配对次数
  3. 2021年大数据ELK(四):Lucene的美文搜索案例
  4. java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...
  5. excel 解析 java_java解析Excel(xls、xlsx两种格式)
  6. Waiting for target device to come online
  7. Java 对象和类 的理解
  8. 微信小程序picker 轮滑1-100的实现
  9. android studio 导入库提示失败的处理方法以及androidstudio 清理缓存的方法
  10. .gitignore文件如何编写?