python3基础之面向对象

一、类的定义

In [10]:

class Student():
    # 数据成员 --特征
    name = '' # 全局变量
    age = 0
  
    def __init__(self,name,age):
        self.name = name
        self.age = age
        print("student")

    # 行为
    def do_homework(self):
        print('homework')

二、类的实例化

In [11]:

student1 = Student(name='',age=1)
student2 = Student(name='',age=1)
student3 = Student(name='',age=1)
print(id(student1))
print(id(student2))
print(id(student3))
student
student
student
85755696
85755664
68610992

类实例化后拥有不同的id

三、类下面的方法

In [12]:

student1.do_homework()
homework

3.1 类最基本的作用,封装

3.2 类的内部不要进行调用

3.2 方法和函数的区别:方法:设计层面, 函数:程序运行,过程式的一种称为

四、类和对象的区别

4.1 类是现实世界或思维中的世界在计算机中的反映

4.2 它将数据以及数据上的操作封装在一起

4.3 类是模板,可以产生任何对象

五、类的实例化和构造函数

5.1 构造函数

In [13]:

# 类中的这个函数即为构造函数
def __init__(self,name,age):
    self.name = name
    self.age = age
    print("student")

5.1.1 实例化时自动调用

5.1.2 构造函数可以显示调用

5.1.3 构造函数只能返回None,不能返回其他值

5.2 类变量和实例变量

5.2.1 类变量指和类相关的变量

5.2.2 和对象相关联的对象

5.2.3 变量的查找:首先对象实例变量查找,类变量里面查找,父类查找

六、类方法与静态方法

6.1 类方法

In [ ]:

self.__class.sum + = 1  实例方法也可以操作类变量
@classmethod
def plus_sum(cls):
    pass

#类.plus_sum

6.2 静态方法

In [ ]:

@staticmethod
def add(x,y):
    pass
#静态方法内部可以访问类变量

七、成员的可见性

7.1 类变量的更改需要通过方法来修改(原因是可控制变量)

7.2 add() 表示是私有的,外部不能够访问

7.3 python可以通过.来进行添加变量用,dict查看,发现私有变量被更改

八、面向对象的特征:继承、封装、多态

8.1 子类继承父类的类变量

8.2 python支持多继承,子类支持调用父类构造函数

8.3 实例化不需要传入构造函数

8.4 子类与父类同名,子类会覆盖父类

九、git地址

https://coding.net/u/RuoYun/p/Python-Programming-Notes/git/tree/master/0.basics/7.object-oriented

猜你喜欢

转载自blog.csdn.net/u013584315/article/details/81185990