本文共 2722 字,大约阅读时间需要 9 分钟。
直接回车是不行的,就像这样子:
python提供了3中方式可以用来对很长的字符串进行换行显示
B. 三个"号
其实问题就归根结底到import的用法了:
转自:http://blog.csdn.net/lisonglisonglisong/article/details/38666819
在程序中定义可以实现代码重用。但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护。同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(module)。
在Python中,一个.py
文件就构成一个模块。一个模块中的定义可以导入(import)到另一个模块或主模块。
比如你可以通过内置模块platform来查看你当前的操作平台信息:
每个模块有其私有的符号表,在该模块内部当成全局符号表来使用。 当我们将一个模块导入到当前模块时,只有被导入模块的名称被放入当前模块的全局符号表里,所以我们不用担心变量名发生冲突。
其他几种导入方式:
1、import a as b
:导入模块a,并将模块a重命名为b。
2、from a import func
:直接把模块内的函数或变量的名称导入当前模块符号表里。
from a import *
:导入模块中所有的名字(以下划线开头的名字除外)到当前模块符号表里。
注意:导入 * 是不好的,因为它常常产生难以阅读的代码,并且会容易产生名字冲突。
当导入名为 a 的模块时, 解释器会先从内建模块尝试匹配,如果没找到,则将在 sys.path
记录的所有目录中搜索 a.py 文件,而sys.path
则包括:
变量 sys.path 是一个字符串列表,它为解释器指定了模块的搜索路径。它通过环境变量 PATHONPATH 初始化为一个默认路径,当没有设置 PYTHONPATH 时, 就使用内建默认值来初始化。你可以通过标准 list 操作来修改它:
对于任何一个模块,模块的名字都可以通过全局变量 __name__
得到:
在中我们提到,可以通过内置dir()函数查询一个类或者对象的所有属性。除此之外,我们还可以用它列出一个模块里定义的所有名字,它返回一个有序字串列表:
可以把多个模块,即多个.py文件,放在同一个文件夹中,构成一个包(Package)。例如:
注意:在每个包文件夹里都必须包含一个 __init__.py 的文件,告诉Python,该文件夹是一个包。__init__.py 可以是一个空文件。
我们可以通过import 包名.模块名
导入包中的子模块,例如:
from... import...
句式导入包中的模块: