一、Python模块
什么是模块:
- 模块是Python组织代码的基本方式
- 一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)
- 所有的.py文件都可以作为一个模块导入
包:python的模块可以按照目录组织为包
创建包的步骤:
- 创建一个名字为包的目录
- 在该目录下创建一个_init_.py文件。
- 可以根据需要在该目录下存放脚本文件或者已变异的扩展及子包。
Python的内置模块位置存放在sys.path环境变量中。
#创建一个统计字符、单词数、行数脚本,命名为wc
def Count(content): chars = len(content) words = len(content.split()) lines = content.count('\n') string = open('/etc/passwd').read() Count(string)
- 创建一个2.py脚本,在脚本里面导入wc,如果执行2.py那么就会执行wc.py(当前目录下查找,如果找不到就回去python path中找)
- 调用玩后会生出pyc文件,方便下次调用
- 脚本如果想过被调用不能以数字命名
我们在执行2.py的时候也会执行wc.py的输出结果。如果只想使用wc.py中的count方法,那我们使用python内置变量__name__:
if __name__ == '__main__': string = open('/etc/passwd').read() Count(string)
总结:
模块是一个可以导入的python脚本
包是一个按目录组织的模块和子包,目录下有__init__.py文件,此文件可以存放包的信息
导入包的语法:import ,import as ,from ... import
二、面向对象
面向对象和面向过程编程语言:
面向过程变成:函数式变成,C程序等
面向对象编程:C++,Java,Python等
类和对象:面向对象的两个重要概念
类:是对事物的抽象。比如人类、球类
对象:是类的一个实例。比如足球、篮球
实例说明:
球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。
为什么要面向对象
面向对象的主要思想是:
封装、继承、多态
这种思想可以方便解决比较复杂的项目,且维护起来比较容易。
类的定义
类的定义:
类把需要的变量和函数组合在一起,这种包含成为封装
class A(object)
类的结构:
class 类名:
成员变量-属性
成员函数-方法
示例:
class People(object): color = 'yellow' #self参数(类的本身) def info(self): self.color='black' print ('I am a %s ' % self.color) ren = People() ren.info()