Python中如何使用__slot__属性来限制实例属性?

2026-05-24 13:321阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计144个文字,预计阅读时间需要1分钟。

Python中如何使用__slot__属性来限制实例属性?

pythonclass Player(object): def __init__(self, name, age, life): self.name=name self.age=age self.life=life

Python中如何使用__slot__属性来限制实例属性?

class Player1(object): __slots__=('name', 'age', 'life') def __init__(self, name, age, life): self.name=name self.age=age self.life=life

p1=Player('Player1', 25, 100)

class Player(object):
def __init__(self,name,age,life):
self.name=name
self.age=age
self.life=life
class Player1(object):
__slots__=("name","age","life")
def __init__(self,name,age,life):
self.name=name
self.age=age
self.life=life

p1=Player("a",12,33)
p1.aa="2334"
p2=Player1("b",12,33)
p2.bb=21323## 报错
print(dir(p2))

print(set(dir(p1))-set(dir(p2)))

  


本文共计144个文字,预计阅读时间需要1分钟。

Python中如何使用__slot__属性来限制实例属性?

pythonclass Player(object): def __init__(self, name, age, life): self.name=name self.age=age self.life=life

Python中如何使用__slot__属性来限制实例属性?

class Player1(object): __slots__=('name', 'age', 'life') def __init__(self, name, age, life): self.name=name self.age=age self.life=life

p1=Player('Player1', 25, 100)

class Player(object):
def __init__(self,name,age,life):
self.name=name
self.age=age
self.life=life
class Player1(object):
__slots__=("name","age","life")
def __init__(self,name,age,life):
self.name=name
self.age=age
self.life=life

p1=Player("a",12,33)
p1.aa="2334"
p2=Player1("b",12,33)
p2.bb=21323## 报错
print(dir(p2))

print(set(dir(p1))-set(dir(p2)))