龙空技术网

5分钟掌握Python(九)之定义类

小文述说 141

前言:

今天我们对“c语言定义类”可能比较看重,咱们都需要学习一些“c语言定义类”的相关知识。那么小编也在网摘上汇集了一些有关“c语言定义类””的相关知识,希望看官们能喜欢,各位老铁们一起来学习一下吧!

eg:

class ClassA():    var1 = 100    var2 = 0.01    var3 = '两点水'    def fun1():        print('我是 fun1')    def fun2():        print('我是 fun1')    def fun3():        print('我是 fun1')

1)@classmethod注解(声明为类方法,cls为关键字):

eg

class ClassA():    var1 = '123'    @classmethod    def fun1(cls):        print('原参数的值:' + cls.var1)        cls.var1 = input('请输入要修改的值:')        print('修改后的值:' + cls.var1)        cls.var2 = input('要增加的值:')        print('增加后的值:' + cls.var2)ClassA.fun1()

2)类的实例化(self关键字):

eg:

class ClassC():    var1 = '111'    def fun1(self):        print('var1 的值为:' + self.var1)ob = ClassC()ob.fun1()print(ob.var1)

3)初始化函数:

def __init__(self,[...):

4)析构函数:

def __del__(self,[...):

5)继承:

eg

#!/usr/bin/env python3# -*- coding: UTF-8 -*-class UserInfo(object):    lv = 5    def __init__(self, name, age, account):        self.name = name        self._age = age        self.__account = account    def get_account(self):        return self.__account    @classmethod    def get_name(cls):        return cls.lv    @property    def get_age(self):        return self._ageclass UserInfo2(UserInfo):    def __init__(self, name, age, account, sex):        super(UserInfo2, self).__init__(name, age, account)        self.sex = sex;if __name__ == '__main__':    userInfo2 = UserInfo2('两点水', 23, 347073565, '男');    # 打印所有属性    print(dir(userInfo2))    # 打印构造函数中的属性    print(userInfo2.__dict__)    print(UserInfo2.get_name())

6)属性和方法的访问控制(_agr:私有属性,靠自觉控制,__agr:私有属性,无法直接访问,可间接访问):

eg

#!/usr/bin/env python# -*- coding: UTF-8 -*-class UserInfo(object):    def __init__(self, name, age, account):        self.name = name        self._age = age        self.__account = account    def get_account(self):        return self.__accountif __name__ == '__main__':    userInfo = UserInfo('两点水', 23, 347073565);    # 打印所有属性    print(dir(userInfo))    # 打印构造函数中的属性    print(userInfo.__dict__)    print(userInfo.get_account())    # 用于验证双下划线是否是真正的私有属性    print(userInfo._UserInfo__account)

标签: #c语言定义类