首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

初学者请问个python中类的有关问题

2013-07-04 
菜鸟请教个python中类的问题上午刚开始学的class Bird(object):have_feather Truecan_fly Truecan_swi

菜鸟请教个python中类的问题
上午刚开始学的

class Bird(object):
    have_feather = True
    can_fly = True
    can_swim = False
    danger = False
    position = [0,0]
    def move(self,dx,dy):
        self.position[0] = self.position[0]+dx
        self.position[1] = self.position[1]+dy
        return self.position
    def run(self,dx,dy,a,danger):
        if(danger):
            self.position[0] = self.position[0]+dx*a
            self.position[1] = self.position[1]+dy*a
        else:
            dx_ = dx
            dy_ = dy
            self.move(dx_,dy_)
        return self.position

class Chicken(Bird):
    can_fly = False
    can_be_ate = True


#littersam = Chicken()
#print littersam.can_fly
#print littersam.move(4,4)
litterchicken = Chicken()
print litterchicken.can_fly
print litterchicken.can_be_ate
print litterchicken.run(5,5,2,False)


根据我的YY,这两个对象应该是互相独立的,但是实际结果是第二个对象会受到第一个对象的影响。。。
加注释,run的结果是5,5
去掉注释,run的结果是9,9
纯新手,求指点。。
[解决办法]

def __init__(self):
    self.have_feather = True
    self.can_fly = True
    self.can_swim = False
    self.danger = False
    self.position = [0,0]

热点排行