python的类的学习

1.对于类的方法

使用的是@classmethod表示是一个类方法,里面的参数cls表示的是这个类

@classmethod
    def getClass(cls,name):
        aa=cls(name)
        print(cls.age)
        return aa.printName

2.对于静态方法

参考Java的static,通过类名直接调用

@staticmethod
    def staticMeth():
        print('这是静态方法的名字:{name}'.format(name='staticMeth'))

3.类的初始化方法

类似于java的构造方法,注意,self,表示的是类的实例化对象。注意与类方法区别

age=18
    def __init__(self,name):
        self.name=name

    def printName(self):
        print('the name is {0}'.format(self.name))


完整的代码

class our(object):
    age=18
    def __init__(self,name):
        self.name=name

    def printName(self):
        print('the name is {0}'.format(self.name))

    @classmethod
    def getClass(cls,name):
        aa=cls(name)
        print(cls.age)
        return aa.printName

    @staticmethod
    def staticMeth():
        print('这是静态方法的名字:{name}'.format(name='staticMeth'))

print(our.age)
#对成员实例化后的操作
f=our(name='kkkk')
print(f.__dict__)
print(f.age)
print(f.name)
f.kkk='123'
print(f.kkk)
#调用类方法 the name is 123333
print(our.getClass('123333')())
our.lh='123213'
print(our.lh)
#调用静态方法
our.staticMeth()

4.setter以及getter方法的使用

细节看注释

class A(object):
    #在为python的没有的属性创建以及赋值得时候
    def __setattr__(self, key, value):
        print('你调用了setter的方法:{0},{1}'.format(key,value))
        self.__dict__[key]=value
    #在为python得熟悉获取值得时候,如果没有,调用这个
    def __getattr__(self, item):
        print('没有这个属性')
        print('你调用了getter的方法')


if __name__ == '__main__':
    a = A()
    print(a.x)
    print('****************')
    a.x = 1000000
    print('****************')
    print(a.x)


5.类的继承关系

类people:

class people(object):
    age=0
    name='people'
    def __init__(self):
        self.walk='walk'
        self.eat='eat'
    def dowork(self):
        print('人类正在走路:{0}'.format(self.walk))

    def doeat(self):
        print('人类正在吃饭:{0}'.format(self.eat))

类man

class man(people):
    pass
#继承了man的方法以及属性
realman=man()
realman.doeat()
realman.dowork()
print(realman.age)
print(realman.name)

类women

#对方法进行重写
class woman(people):
    shopping='女人正在购物'
    def __init__(self):
        self.name='women'
        self.age='18'
        super().__init__()


    def dowork(self):
        print('女人正在走路购物:{shop}'.format(shop=self.shopping))


wo=woman()
wo.dowork()
wo.doeat()
print(wo.shopping)
print(wo.age)
print(wo.name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值