一,类和对象
面向过程和面向对象的编程
面向过程的编程:函数式编程,c程序等
面向对象的编程:C++,Java,Python等
类和对象:是面向对象中的两个重要概念
类:是对事物的抽象,比如:汽车
对象:是类的一个实例,比如:红旗汽车
说明
汽车模型可以对汽车的特征和行为进行抽象,然后可以实例化为一台真是的汽车实体出来。
类的组成:由变量和函数组成
变量:类中的变量称为“成员变量”
函数:类中的函数称为“成员函数”
对象的创建:
>>>myClass = MyClass() #创建类的一个实例
对象的组成:
对象由实例化后得到,所以也是由变量和函数组成
二,Python类定义
Python类的定义:
使用class关键字定义一个类,并且类名的首字母要大写
类里面包含了变量和方法,这种包含称之为“封装”
Python类的结构:
>>>class Myclass
>>>变量定义
>>>函数定义
>>>······
三,类的属性
类由属性和方法组成,类的属性是对数据的封装,类的方法则是对类的行为的封装。
类的属性分为:
公有属性:在类中和类外调用的属性
内置属性:由系统在定义类的时候默认添加的,由前后两个下划线构成
_dict_,_module_
dir()__dict_查看类,实例对象不同的显示结果
私有属性:不能被类以外的函数调用
可以通过instance._classname_attribute方式访问,但只用于调试程序
定义方法:以“_”双下划线开始的成员变量及时私有变量,否则是公有变量
说明
Python的属性分为实例属性(对象属性)和静态属性(类属性)两种。
实例属性:是以self作为前缀属性,实例属性定义在_init_方法中。如果_init_中的变量没有self,则变量只是一个普通的局部变量。
例如:
class Myclass:
var1 = 0 # 类属性
def_init_(self):
self.var2 = 0 #实例属性
Var3 = 0 #局部变量
类的属性:可以被类,以及实例对象访问,定义在类中的变量都是。
类的尾部不能直接访问私有属性,私有属性只能被类本身所访问。
类的方法
方法的定义:
和函数定义一样,但是需要self作为一个参数
类的方法分类
私有方法:不能被外部的类和方法调用,私有方法的定义和私有属性的定义都是一样的,在方法的前面加上“_”双下划线就可以了。
类方法:被classmenthod()函数处理过的函数,能被类所调用,也能被对象所调用(是继承的关系)。
静态方法:相当于“全局函数”,静态方法没有“self”语句。
self参数
用于区分函数和类的方法,self参数表示指向对象本身。