15 面向对象与实例属性

编程方式: 面向过程 函数式 面向对象

类 把一类事物的相同的特征和动作整合到一起就是类

对象 就是基于类而创建的一个具体的事物 也就是把特征和动作整合到一起

def school(name,addr,type):
    def kaoshi(school):
        print('%s学校正在考试'%school['name'])
    def zhaosheng (school):
        print('%s %s正在招生'%(school[name] school[type]))
    def init(name,addr,type):
        school1={
            'name':name,
            'addr':addr,
            ‘type’:type,
            '考试':kaoshi,
            'zhaosheng':zhaosheng}
        return init(name,addr,type)

s1 = school('old boy','shahe','私立学校')
print(s1)
s1['zhaosheng'](s1)

类相关知识

class Chinese:
    '这是一个中国人的类'
    pass
    print(Chinese)
    p1 = Chinese()    #实例化 到底干了什么事?

# 1 数据属性 2 函数属性
class Chinese:
    '这是一个中国人的类'
    country = 'China'
    government = '中共'
    def __init__(self,name,age,gander):
        self.name=name
        self.age=age
        self.gander=gander

    def hard_work(self):
        print('努力工作')
    def chadui(self):
        print('%s这货爱插队'%self.name)
p1 = Chinese('素质低下XXX',19,'male')
p1.chadui()
print(Chinese.country)
#增加
Chinese.leader = 'xi'
print(Chinese.leader)

def have_food(self,food):
    print('%s正在吃%s'%(name,food))
Chinese.eat=have_food
#删除
del Chinese.country

实例的
#查看
print(p1.__dict__)
print(p1.name)
#增加
p1.tallth = 175
print(p1.tallth)
def test(self):
print('我是来自实例的函数属性')
p1.test=test
print(p1.test)
#修改
p1.age = 18
#删除
del p1.age

XX例子

class Chinese:
    country = 'China'
    l = ['a','b']
    def __init__(self,name):
        self.name = name
    def play_ball(self,ball):
        print('%s正在打%s'%(self.name,ball))
p1 = Chinese('alex')
print(p1.l)
p1.l = [1,2,3]
print(Chinese.l)
print(p1.l)
# p1.lappend('c') #error
# print(p1.__dict__)
# print(Chinese.l)

 



原文地址:https://www.cnblogs.com/louzhiyuan/p/10439519.html