概述
''' 类的私有成员:私有类的静态属性,私有类的方法,私有对象的属性 ''' # class A: # name = '123' # __name = '234' #私有类的属性 # def func(self): # print(self.name) # print(self.__name) # obj = A() # obj.func() #类的外部不能访问 # class A: # name = '123' # __name = '234' #私有类的属性 # def func(self): # print(self.name) # obj = A() # print(obj.name) # print(obj.__name) #类的派生类不能访问 # class A: # name = '123' # __name = '234' #私有类的属性 # # class B(A): # def func(self): # print(self.__name) # # obj = B() # print(obj.__name) class A: def __init__(self,name,pwd): self.name = name self.__pwd = pwd def md5(self): self.__pwd = self.__pwd + '123' obj = A('yz','123') # print(obj.__pwd) #私有类的方法 class A: name = '123' __name = '234' def func(self): self.__func() print('in A func') def __func(self): print('in A __func') obj = A # obj.func() # obj.__func(2) print(A.__dict__)#python的所有私有成员都是纸老虎 #私有成员来说:当你遇到重要的数据,功能,只容许本类使用 #类从加载时只要看到类中的私有成员,都会在私有成员前加上_类名
#类方法 # class A: # # def func(self): # print('实例方法') # # @classmethod # def cls_func(cls): # print(f'cls---->{cls}') # print('类方法') # print(A) # A.cls_func() # obj = A() # obj.cls_func() #类方法一般通过类名去调用的方法,并且自动将类名地址传给cls #但是如果通过对象调用也可以,但是传的地址还是类名地址 # A.cls_func() ''' 类方法有什么用: 1、得到类名可以实例化 2、可以操作类的属性 创建一个学生类,只要实例化一个类方法,统计一下具体实例化多少个学生? ''' #类方法的简单应用 # class Student: # # count = 0 # def __init__(self,name,id): # self.name = name # self.id =id # Student.addnum() # # @classmethod # def addnum(cls): # cls.count = cls.count + 1 # # @classmethod # def getnum(cls): # return cls.count # # obj1 = Student('yz','20207152') # obj1 = Student('yz','20207153') # obj1 = Student('yz','20207154') # obj1 = Student('yz','20207155') # obj1 = Student('yz','20207156') # obj1 = Student('yz','20207157') # obj1 = Student('yz','20207158') # obj1 = Student('yz','20207159') # print(Student.getnum()) #静态方法 class A: def func(self): print('实例方法') @staticmethod def static_func(): print('静态方法方法') #静态方法是不依赖于对象与类的,其实静态方法就是函数。
class Foo: @property def bmi(self): print('get的时候运行我啊') @bmi.setter def bmi(self,value): print(value) print('set的时候运行我啊') @bmi.deleter def bmi(self): print('delete的时候运行我啊') obj = Foo() # obj.bmi obj.bmi = 666 #操作命令 这个命令并不是改变bmi的值,而是执行被bmi.setter装饰器的函数 del obj.bmi
最后
以上就是谦让烧鹅为你收集整理的python类的私有成员,其他方法,属性的全部内容,希望文章能够帮你解决python类的私有成员,其他方法,属性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复