鱼C论坛

 找回密码
 立即注册
查看: 1042|回复: 3

[已解决]第037讲课后作业动动手问题请教

[复制链接]
发表于 2018-3-27 09:12:29 | 显示全部楼层 |阅读模式

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

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

x
在計算票的問題中,請問下方的程式為什麼會出現int對象不能呼叫的錯誤,我跟解答只差在self.price V.S. self.exp。
  1. class Ticket:
  2.     def __init__(self, weekend = False, child = False):
  3.         self.price = 100
  4.         if weekend == True:
  5.             self.inc = 1.2
  6.         else:
  7.             self.inc = 1
  8.         if child == True:
  9.             self.discount = 0.5
  10.         else:
  11.             self.discount = 1




  12.     def price(self, num):
  13.         return self.price * self.inc * self.discount * num

复制代码



错误码如下:
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    adult.price(2)
TypeError: 'int' object is not callable
最佳答案
2018-3-27 09:13:58
类中属性和方法重名了,默认为属性
你的类中有price方法,所以不能将属性也取名为price
你可以修改两者中的一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-27 09:13:58 | 显示全部楼层    本楼为最佳答案   
类中属性和方法重名了,默认为属性
你的类中有price方法,所以不能将属性也取名为price
你可以修改两者中的一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-27 11:11:36 | 显示全部楼层
BngThea 发表于 2018-3-27 09:13
类中属性和方法重名了,默认为属性
你的类中有price方法,所以不能将属性也取名为price
你可以修改两者中 ...

属性-->变量
方法-->函数
我原本认知是分为两个部份看待,属性可看成global var,而方法中的变量是local var,所以在函数中的变量也称为属性吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-27 11:15:46 | 显示全部楼层
soonna 发表于 2018-3-27 11:11
属性-->变量
方法-->函数
我原本认知是分为两个部份看待,属性可看成global var,而方法中的变量是loca ...

当然,在类中使用的变量只要带了作用域说明,比如self. 或者类名.就是在整个类中都有效的属性
其他的值函数中的局部变量则只在该函数中有效
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-19 15:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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