孤山空影 发表于 2021-8-7 14:35:45

类的属性可以存放列表吗?如果可以,如何在方法中调用呢?

类的属性可以存放列表吗?如果可以,如何在方法中调用呢?

逃兵 发表于 2021-8-7 14:56:29

class Test():
    lst =
    def test():
      for i in Test.lst:
            print(i)
            
Test.test()

孤山空影 发表于 2021-8-7 15:10:15

逃兵 发表于 2021-8-7 14:56


class Restaurant:
    def __init__(self,restaurant_name,cuisine_type):
      self.restaurant_name=restaurant_name
      self.cuisine_type=cuisine_type
    def describe_restaurant(self):
      print(f' the restaurant name is {self.restaurant_name}')
      print(f'this restaurant sales {self.cuisine_type} food')
    def open_restaurant(self):
      print('the restaurant is opening')


class Icecreamstand(Restaurant):
    def __init__(self,restaurant_name,cuisine_type):
      super().__init__(restaurant_name,cuisine_type)
      self.flavors=['hu','df''jk']
      
    def flavors(self):
      print(f'there are flavors as bolew:{self.flavors}')
      
eg=Icecreamstand('holiwood','icecream')
eg.describe_restaurant()
eg.open_restaurant()
eg.flavors()////////TypeError: 'list' object is not callable这个为什么不对呢?

大马强 发表于 2021-8-7 15:10:47

你的意思是在类里放个列表存放属性,还是类外用个列表放属性? 这两个都可以实现
你是说用类的方法调用方法还是属性,这个好像也行

逃兵 发表于 2021-8-7 15:14:20

你这属性和方法都叫flavors,程序也很迷惑
class Restaurant:
    def __init__(self,restaurant_name,cuisine_type):
      self.restaurant_name=restaurant_name
      self.cuisine_type=cuisine_type
    def describe_restaurant(self):
      print(f' the restaurant name is {self.restaurant_name}')
      print(f'this restaurant sales {self.cuisine_type} food')
    def open_restaurant(self):
      print('the restaurant is opening')


class Icecreamstand(Restaurant):
    def __init__(self,restaurant_name,cuisine_type):
      super().__init__(restaurant_name,cuisine_type)
      self.flavors1=['hu','df''jk']
      
    def flavors(self):
      print(f'there are flavors as bolew:{self.flavors1}')
      
eg=Icecreamstand('holiwood','icecream')
eg.describe_restaurant()
eg.open_restaurant()
eg.flavors()

孤山空影 发表于 2021-8-7 15:15:31

大马强 发表于 2021-8-7 15:10
你的意思是在类里放个列表存放属性,还是类外用个列表放属性? 这两个都可以实现
你是说用类的方法调用方法 ...

在类里面用列表存放属性然后再用方法调用,就看上面这个例子哪里有问题呢

孤山空影 发表于 2021-8-7 15:18:08

逃兵 发表于 2021-8-7 15:14
你这属性和方法都叫flavors,程序也很迷惑

谢谢~~~
页: [1]
查看完整版本: 类的属性可以存放列表吗?如果可以,如何在方法中调用呢?