python学习笔记(三)
模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是 .py。模块可以被别的程序引入,以使用该模块中的函数等功能。
import module1,module2 #导入模块
from module import name1 #从模块中导入一个指定的部分
from module import * #导入模块中所有内容,不包括单一下划线(_)开头的名字
- __name__属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,可以用__name__属性来使该程序块仅在该模块自身运行时执行。
每个模块都有一个__name__属性。
#!/usr/bin/python3
# Filename: using_name.py
#当运行using_name.py是,结果是:程序自身在运行。当在别的地方导入此模块是,结果是:我来自另一模块
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
-
dir() 函数
内置的函数 dir() 可以找到模块内定义的所有名称,以一个列表的形式返回。 -
sys模块
sys模块内置在每一个 Python 解析器中,sys.ps1 和 sys.ps2 定义了主提示符’>>> ‘和副提示符’… '所对应的字符串。 -
包
目录只有包含一个叫做__init__.py 的文件才会被认作是一个包。包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。
import sound.effects.echo #必须使用全名去访问函数,且最后一项只能是包或模块,不能是函数、变量或类
from sound.effects import echo #可以使用echo.函数 访问
from sound.effects.echo import echofilter #直接导入函数
- python输入和输出
输出:input()
python输出值的方式: 表达式语句、 print() 函数、文件对象的 write() 方法。
如果希望输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
#str()返回用户易读的形式,repr()返回解释器易读的形式
In [4]: str('hello, runoob\n')
Out[4]: 'hello, runoob\n'
In [5]: repr('hello, runoob\n')
Out[5]: "'hello, runoob\\n'"
- 文件
open(filename, mode)
mode:r(只读)、w(只写,会覆盖)、a(追加)、r+(读写,定位开头)、w+(读写,会覆盖)、a+(读写,定位末尾)
f = open("/tmp/foo.txt", "w")
f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" ) #写入,并返回写入的字符数
f.read()
f.readline() #读取单独的一行
f.readlines() #返回所有行
f.tell() #返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
f.seek(x,0) #首字符开始移动x个字符,0:开头 1:当前位置 2:结尾
f.seek(-x,2)
f.close()