Python中普通字段和静态字段

379 阅读1分钟
class Province:
#静态字段,属于类
country = '中国'
def __init__(self,name):
#普通字段,属于对象
self.name = name


print(Province.country)
# print(Province.name)

shanxi = Province('陕西')
print(shanxi.name)
静态字段是属于类本身的字段,保存在类中,执行可以通过对象访问也可以通过类访问

普通字段只有在创建对象的时候回产生,属于对象的,执行只能通过对象访问

方法:

1,普通方法,保存在类中,由对象调用,self->对象

class Foo:
def Bar(self):
print('bar')

obj = Foo()
obj.Bar()
Foo.Bar(obj)
2,静态方法,加一个装饰器@staticmethod,保存在类中,由类直接调用

class Foo:
@staticmethod
def sta():
print('123')

Foo.sta()
3,类方法,保存在类中,由类直接调用,cls->当前类

class Foo:


@classmethod
def classMethod(cls):#class缩写
# cls是类名
print(cls)
print('classmethod')

Foo.classMethod()
#####应用场景

如果对象中需要保存一些值,执行某功能时,需要使用对象的值,使用普通方法

不需要任何对象中的值,用静态方法

类方法基本上没什么用处,可以使用静态方法代替



属性标签@property:

class Foo:
def __init__(self):
self.name = 'a'

def bar(self):
print('bar')

@property
def per(self):
return 1

obj = Foo()
r =obj.per
print(r)

更多技术资讯可关注:itheimaGZ获取