【发布时间】:2019-06-20 22:25:07
【问题描述】:
我想赋予类中所有变量执行相同方法的能力,也就是说我有 Dog 类,方法是 double 和 append
class Dog:
def __init__ (self, height, weight, age):
self.height = height
self.weight = weight
self.age = age
def double:
self.height = height * height
def append:
weight = list(weight).append(weight)
假设我想让所有其他可变身高、体重和年龄都能够加倍并附加自己。现在,我可以这样做,以便我可以为每个可变的身高、体重、年龄等重复使用相同的方法。但这看起来并不干净,为每个变量一遍又一遍地写出相同的方法变量,如果说我有 30 个变量并且需要为所有变量定义相同的方法,那就更荒谬了。什么是干净的pythonic方式来做到这一点?我应该把一个类放在一个类里面吗?定义函数?
【问题讨论】:
-
你可以让方法接受参数并相应地更新。喜欢
def double(height): self.height = height*height和def append(weight): self.weight = list(weight).appenf(weight)
标签: python python-3.x class methods