我是靠谱客的博主 谦让烧鹅,最近开发中收集的这篇文章主要介绍python类的私有成员,其他方法,属性,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

'''
类的私有成员:私有类的静态属性,私有类的方法,私有对象的属性
'''
# 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类的私有成员,其他方法,属性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部