jackjia 发表于 2020-6-11 18:10:41

关于类的 一个自己写的很短的代码,不知道为什么报错


想不通这个错误的问题在哪,为什么说childt 未定义呢?
class ticket:
    dailyt = 100
    weekendt = dailyt * 1.2
    childt = dailyt * 0.5

    def getprice(self):
      self.childt = childt
      self.dailyt = dailyt
      return 2 * self.dailyt + self.childt
      




>>> tt = ticket
>>> tt.childt
50.0
>>> tt.getprice(tt)
Traceback (most recent call last):
File "<pyshell#72>", line 1, in <module>
    tt.getprice(tt)
File "/Users/jiayutong/Desktop/Python 练习/37讲 类 课后作业.py", line 7, in getprice
    self.childt = childt
NameError: name 'childt' is not defined

Twilight6 发表于 2020-6-11 18:12:40

访问类变量要带上类名:
class ticket:
    dailyt = 100
    weekendt = dailyt * 1.2
    childt = dailyt * 0.5

    def getprice(self):
      self.childt = ticket.childt
      self.dailyt = ticket.dailyt
      return 2 * self.dailyt + self.childt

冬雪雪冬 发表于 2020-6-11 19:32:19

也可以这样写
class ticket:
    dailyt = 100
    weekendt = dailyt * 1.2
    childt = dailyt * 0.5

    def getprice(self):
      return 2 * self.dailyt + self.childt

Stubborn 发表于 2020-6-11 20:01:04

你们都是用什么编辑器的,这么爆红都找不到错误的吗?

jackjia 发表于 2020-6-12 12:47:22

Twilight6 发表于 2020-6-11 18:12
访问类变量要带上类名:

一语中的! 新手知识点get!

jackjia 发表于 2020-6-12 12:48:28

Stubborn 发表于 2020-6-11 20:01
你们都是用什么编辑器的,这么爆红都找不到错误的吗?

感谢! 我是直接idel新建一个文档那种编辑器, 你这个是什么

有谁懂 发表于 2020-6-12 13:36:17

本帖最后由 有谁懂 于 2020-6-12 13:37 编辑

jackjia 发表于 2020-6-12 12:48
感谢! 我是直接idel新建一个文档那种编辑器, 你这个是什么

pycharm 或者 vscode等等
个人推荐pycharm
页: [1]
查看完整版本: 关于类的 一个自己写的很短的代码,不知道为什么报错