鱼C论坛

 找回密码
 立即注册
查看: 59|回复: 8

关于PYTHON的类

[复制链接]
最佳答案
0 
发表于 2020-9-16 19:40:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
class Restaurant():
    """class of restaurant"""
    def __init__(self,restaurant_name,cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        
    def describe_restaurant(self):
        print("Restaurant's name is " + self.restaurant_name)
        print("Restaurant's type is " + self.cuisine_type)
        
    def open_restaurant(self):
        print('This restaurant is openning.')
   
class IceCreamStand(Restaurant):
   
    def __init__(self,restaurant_name,cuisine_type):
        
        super().__init__(restaurant_name,cuisine_type)
        self.flavors = ['cheese']
        
    def show_flavors(self):
        print(self.flavors)
   
    def flavors(self,flavors_list):
        self.flavors = self.flavors.append(flavors_list)
        
        
M = IceCreamStand('Mc','western')
M.flavors()
M.show_flavors()
我希望在冰淇淋类在继承父类之后添加一个属性,属性值是一个列表
第29行M.flavors()和最后一个flavors函数应该怎么修改?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
454 
发表于 2020-9-16 20:13:39 | 显示全部楼层
???这不是没问题吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2020-9-16 20:22:03 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-9-16 20:13
???这不是没问题吗?

Traceback (most recent call last):
  File "9-6.py", line 29, in <module>
    M.flavors()
TypeError: 'list' object is not callable
然而报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
454 
发表于 2020-9-16 20:31:24 | 显示全部楼层
张图南 发表于 2020-9-16 20:22
Traceback (most recent call last):
  File "9-6.py", line 29, in
    M.flavors()

  1. class Restaurant():
  2.     """class of restaurant"""
  3.     def __init__(self,restaurant_name,cuisine_type):
  4.         self.restaurant_name = restaurant_name
  5.         self.cuisine_type = cuisine_type
  6.         
  7.     def describe_restaurant(self):
  8.         print("Restaurant's name is " + self.restaurant_name)
  9.         print("Restaurant's type is " + self.cuisine_type)
  10.         
  11.     def open_restaurant(self):
  12.         print('This restaurant is openning.')
  13.    
  14. class IceCreamStand(Restaurant):
  15.    
  16.     def __init__(self,restaurant_name,cuisine_type):
  17.         
  18.         super().__init__(restaurant_name,cuisine_type)
  19.         self.flavors = ['cheese']
  20.         
  21.     def show_flavors(self):
  22.         print(self.flavors)
  23.    
  24.     def flavors(self,flavors_list):
  25.         self.flavors.append(flavors_list)
  26.         
  27.         
  28. M = IceCreamStand('Mc','western')
  29. M.flavors()
  30. M.show_flavors()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2020-9-16 21:00:41 | 显示全部楼层

还是不行,M.flavors()的括号里放整型、字符串和列表都会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
5 
发表于 2020-9-16 21:26:38 | 显示全部楼层
你改成self.flavors = flavors.append(flavors_list)试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2020-9-16 22:25:56 | 显示全部楼层
bonst 发表于 2020-9-16 21:26
你改成self.flavors = flavors.append(flavors_list)试试

还是报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
454 
发表于 2020-9-17 21:21:29 | 显示全部楼层
张图南 发表于 2020-9-16 21:00
还是不行,M.flavors()的括号里放整型、字符串和列表都会报错

  1. class Restaurant():
  2.     """class of restaurant"""
  3.     def __init__(self,restaurant_name,cuisine_type):
  4.         self.restaurant_name = restaurant_name
  5.         self.cuisine_type = cuisine_type
  6.         
  7.     def describe_restaurant(self):
  8.         print("Restaurant's name is " + self.restaurant_name)
  9.         print("Restaurant's type is " + self.cuisine_type)
  10.         
  11.     def open_restaurant(self):
  12.         print('This restaurant is openning.')
  13.    
  14. class IceCreamStand(Restaurant):
  15.    
  16.     def __init__(self,restaurant_name,cuisine_type):
  17.         
  18.         super().__init__(restaurant_name,cuisine_type)
  19.         self.flavors = ['cheese']
  20.         
  21.     def show_flavors(self):
  22.         print(self.flavors)
  23.    
  24.     def flavors(self,flavors_list):
  25.         self.flavors.extend(flavors_list)
  26.         
  27.         
  28. M = IceCreamStand('Mc','western')
  29. M.flavors()
  30. M.show_flavors()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2020-9-19 23:03:06 | 显示全部楼层

还是报错了,M.flavors()里放啥都报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2020-9-28 01:13

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表