模块

1.搜索路径

import导入模块时,如果报importError:No module named XXX

说明解释器在搜索路径中没有找到对应模块。

sys.path可以查看搜索路径,而sys.path返回的是个列表,要想添加搜索路径,可以使用sys.path.append("D:\\")


sys.modules可以查看当前导入了哪些模块,模块来自哪里,返回的是字典

2.名称空间和变量作用域

三个名称空间:local,global,build-ins

变量先在local找,找不到到global中找,再找不到就去build-ins中找

3.导入模块

import module1

import module2

也可以写成import module1,module2

导入顺序最好是:标准库>第三方库>自定义库

from module import name1,name2从指定模块中导入模块的属性

多行导入,加\:

from Tkinter import Tk, Frame, Button, Entry, Canvas, \

Text, LEFT, DISABLED, NORMAL, RIDGE, END

扩展import(as):

import module ad m

from module import as m1

4.导入到当前名称空间

模块module有变量var,使用from module import var,然后直接通过var访问变量本身。

尽量少用from module import *,因为很可能会覆盖现有的名字

5.目录结构

Phone/

             __init__.py

             common_util.py

             Mobile/

                      __init__.py

                       Analog.py

第一种:

from Phone import Mobile

Mobile.Analog.dial("555-1212")

第二种:

from Phone.Mobile import Analog

Analog.dial('555-1212')

第三种:

from Phone.Mobile.Analog import dial

dial('555-1212')

6.阻止属性导入

如果不希望通过from module import *的方式导入属性,在属性前加_

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1Python中的模块介绍和使用 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#...
    TENG书阅读 434评论 0 0
  • 模块:导入的两种方式 不加__all__的情况: 加__all__的情况: ·总结:如果一个文件中有__all__...
    AAA年华阅读 445评论 0 0
  • python中经常用到模块,比如import xxx,from xxx import yyy这样子,里面的机制也是...
    __七把刀__阅读 3,300评论 0 6
  • 在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Pyth...
    一只写程序的猿阅读 4,021评论 0 3
  • 最近在学正则表达式,接触到POSIX 字符集,这个传统的字符区域的优点体现在其在处理快速地指定字符集合的问题方面易...
    jere觅阅读 2,140评论 0 1