python 面向对象属性_python面向对象的成员、属性等

本文详细介绍了Python中的类字段、普通字段、静态字段的使用及区别,包括如何通过对象和类访问这些字段。此外,还讲解了方法的定义和调用,特别是静态方法和类方法的实现及应用。最后,讨论了属性装饰器(@property)的使用,展示了如何实现读取、设置和删除操作。
摘要由CSDN通过智能技术生成

#类成员:

#字段 self.xy =qq 。 xy=qq

#普通字段 (保存在对象里面)

#直接通过点(.)+ 字段 进行调用

#静态字段 (保存在类里面)

#静态字段属于类,在内存只保留一份 。 把公共的字段 放到类中 ,节省内存等好处

#代码从上到下解释到类就创建了

#可以通过 类.静态字段 进行访问

#方法 def xx()

# (保存在类里面)

#通过点(.) + 方法名 + 括号 进行调研

#通过 类 点(.) 方法名也可以调用 。 还是要在前面先实例化一个对象

#静态字段

class human:

address = "earth" #静态字段

def __init__(self,age):

self.age = age # 普通字段

h1 = human('20')

print(human.address) #通过类访问 静态字段

print(h1.address) #通过对象访问 静态字段 : 对象--> 类 --> 静态字段

print(h1.age) #通过对象访问 普通字段

#静态方法

class Foo:

def bar(self):

print('普通方法')

@staticmethod # 添加此装饰器后变成静态方法

def bar1(a): # 此处已经不需要self 了

print('静态方法:%s' %a)

#f=Foo() # 不需要创建对象,也可以直接调用静态方法 (相当于一个函数了)

Foo.bar1(100) #通过类直接调用

#类方法

class Foo:

@classmethod

def classmd(cls): # cls 和 self意义差不多 ,此处写成 cls 。 cls 是当前类

print(cls) # cls 是类名,自动会传入

print('类方法')

Foo.classmd()

#属性

class Foo:

@property # 加了这个装饰器,p1 这个方法 调用起来就也可以和字段一样调用了。

def p1(self):

return 123

@p1.setter

def p1(self,var):

print(var)

@p1.deleter

def p1(self):

print('xx')

obj = Foo()

r=obj.p1 # 直接调用不需要括号 , 会直接调用 @property 下的 p1

print(r)

obj.p1=100 # 给他赋值(实际不会赋值), 会执行@p1.setter 下面的p1 (里面具体想做什么,你可以自己写) # 就是一个语法对应关系 和 赋值没关系

del obj.p1 # 删除它 (实际不会删除它), 会执行 @p1.deleter 下面的p1 # 就是一个语法对应关系 del 只是语法 不会删除的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值