类
类的定义,继承
类中的属性,类属性和实例属性的区别及访问方式
变量名以“_”或“__”开头,实现变量的访问控制
类的初始化函数
创建实例
类的内置属性
类属性 | 含义 |
__name__ | 类的名字(字符串) |
__doc__ | 类的文档字符串 |
__bases__ | 类的所有父类组成的元组 |
__dict__ | 类的属性组成的字典 |
__module__ | 类所属的模块 |
__class__ | 类对象的类型 |
self指向类或实例本身,相当于this
实例方法的第一个参数必须是”self”
类方法,实例方法,静态方法
装饰器
模块
open()函数
dir()函数:查看一个对象(模块、数据类型等)包括哪些属性和方法
sys.modules.keys()
['__builtins__', '__doc__', '__name__', '__package__']
模块导入的过程:
- 如果是第一次导入模块,首先找到模块文件
- 将模块文件编译成字节码
- 执行字节码中的代码,在内存中生成该模块,并创建pyc文件
- 第二次导入时会忽略上面的步骤
导入与删除模块:import/import as/from import/del
系统导入模块时搜索路径的顺序:
- 当前程序的运行目录
- Python的环境变量目录
- 标准库目录
- .pth文件中的目录
Python还可以导入其他类型文件,如:编译后的pyc文件,c语言的扩展dll/so/pyd
自定义模块与安装模块:
自定义模块文件,直接加入到标准模块库中即可使用
添加临时模块目录:import syssys.path.append()//移除临时路径sys.path.remove()第三方模块的安装:
#使用模块的安装脚本python setup.py install#easy_install模块安装#先安装easy install模块#然后使用easy_install安装其他模块#使用pip安装模块pip install xxx思考:直接将模块文件放入lib目录下,与安装模块有什么区别?
用其他语言实现模块:
pyc文件:
库
模块、包、命名空间及变量作用域
命名空间:
- 内建命名空间
- 全局命名空间
- 局部命名空间
__name__和__main__
__name__是Python程序的内置属性,属性的值由该模块程序的运行方式决定
Python模块既可以直接运行,也可以被其他模块调用而运行
如果模块是被直接执行的,__name__的值为__main__;
如果模块是被调用执行的,__name__的值为模块名;
包
为了解决模块同名的问题,可以将模块放在不同的包下,导入时带上包名
包的结构
- 包目录,目录名即包名,可以包含多层目录
- 每个包目录下都要有__init__.py模块,该模块可为空,也可以写代码,该模块的模块名与目录名相同
- 每个包目录下都可以包含其他模块文件
内建函数
机器学习库:http://blog.csdn.net/m53931422/article/details/42489897