maomingkun 发表于 2022-11-10 11:32:31

类中的self参数可以不加么?

代码1:
class Student:
    name = "张三"
    age = 18

    def say(self):
      print("Good good study,and day day up!")

代码2:

class Student:
    name = "张三"
    age = 18

    def say():
      print("Good good study,and day day up!")

问题:
>>> s=Student
>>> s.say
<function Student.say at 0x0000000002F5CC10>
>>> s.say()
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
    s.say()
TypeError: say() missing 1 required positional argument: 'self'
>>>
老师的视频中没有加self能过,为什么自己的代码一支报语法错误呢?
如果类中不加self参数,s.say()直接能过
这是什么原因呢?

tommyyu 发表于 2022-11-10 11:44:48

应该是s = Student(),得加上小括号

maomingkun 发表于 2022-11-10 11:50:55

本帖最后由 maomingkun 于 2022-11-10 11:54 编辑

tommyyu 发表于 2022-11-10 11:44
应该是s = Student(),得加上小括号

嗯嗯刚刚又看了几遍视频,明白了{:5_109:}
1.s = Student()是实例化对象
2.s = Student是让s也等于这个类
页: [1]
查看完整版本: 类中的self参数可以不加么?