python之路day7

继承

新式类 横向优先

n37o2oh(x~n05lvq%ck_(qr

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# powered by xiaobing

class D(object):
def f1(self):
print "dbar"

class C(D):
def f1(self):
print "c.bar"

class B(D):

pass

class A(B,C):
pass

obj=A()
obj.f1()
clipboard

经典类:深度优先

kuo]fl94{{4e~u5m1g(j7fe

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# powered by xiaobing

class D:
def f1(self):
print "dbar"

class C(D):
def f1(self):
print "c.bar"

class B(D):

pass

class A(B,C):
pass

obj=A()
obj.f1()
clipboard[1]

类的 字段分为

普通字段和静态字段  ,静态字段存在于类里,普通字段在方法里

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# powered by xiaobing

class sheng(object):

country = '中国' #静态字段
def __init__(self,name):
self.name = name #普通字段

shanxi = sheng('山西')
print shanxi.country
print shanxi.name
shandong = sheng('山东')
print id(shanxi.country)
print id(shandong.country)

1、面向对象三大特性

2、python,封装

    a.多个方法共用一组变量,变量封装到对象中

    b.游戏

3、继承

    a.基类,派生类

    b.多继承

    c.新式类,经典类

    d.广度优先(规则),深入优先   ==》 面试

4、类,对象,内存图

5、类成员

    a.字段

        普通,静态

    b.方法

        普通方法    对象    至少一个self,self = 当前对象

        类方法        类        只有一个cls,cls = 当前类

        静态方法    类        任意参数

    c.属性(属性对方法的变种,变成访问时字段相似)

        @property

        Data = property(方法名) 

            # obj.Data = 执行方法,并获取方法的返回值

        新式类中属性,

        @property

        @方法名.setter

        @方法名.deleter

6、类成员修饰符

    公有,私有

    __ 开头

    私有,只能内部访问。

    对象._类__成员

7、变态

    obj = Foo()

    obj()  ==》 __call__

8、__dict__

9、__str__

作业:

1.计算器

2.游戏人生

原文地址:https://www.cnblogs.com/xiaobing1024/p/5027156.html