Skip to content

Python的标准库 #13

Description

@eziceice

模块

  • 模块实际上就是将各个代码分类,达到复用的目的. 在当前类中调用代码时,__name__会被设定为__main__,但是如果在其他类中引用了当前类并调用时,当前类的__name__会被设定为类名.简单来说,只有当前类的name会被定义为__main__.
# helloworld.py
def helloworld():
    print('hello world')

$ testhelloworld.py
import helloworld
helloworld.helloworld()
  • 目录的列表可以在sys模块中的path变量中找到: 通常来说,只要将模块放入site-packages之中,所有的程序就都能将其导入.
import sys, pprint #pprint提供更加智能的打印输出
pprint.pprint(sys.path) # Documents/Github/ThinkinginPython/venv/lib/python3.6/site-packages
  • 为了组织好模块,你可以将它们分组为包(package).包基本就是另外一类模块,不同的地方就是它们能够包含其他模块.为了让Python能够识别包,包必须包含一个命名为__init__.py的文件(模块).
import drawing #引drawing包,这时只有__init__模块中的内容是可用的,shapes & colors不可用
import drawing.colors # colors模块可用,但是必须通过全名drawing.colors使用
from drawing import shapes # shapes模块可用,并且可以通过短名shapes进行调用

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions