关于类中的方法,是否必须要传入self

来源:9-10 类方法

慕仰0517742

2021-07-08

class Student():
    '''测试类中的方法,是否第一个参数必须要填写self'''
    def __init__(self):
        self.name = 'lcs'
        self.age = '35'

    def test():
        print("测试一下,不要self行不行")

    def Print_test(self):
        Student.test()

student1 = Student()

student1.Print_test()

老师你好,这一段代码里,test()方法,没有传入self,也是可以运行的,所以,self,不是必须要传的吧?
按照我的理解,当用通过对象调用方法的时候,Python会自动传入对象本身,但是如果通过类调用方法的时候,并不会自动传入。

所以,可不可以理解为,类方法,不需要用装饰器@classmethod

写回答

1回答

7七月

2021-07-10

self代表方法本身是类的实例方法,如果不传就是个静态方法或者说是普通方法。

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14447 学习 · 4438 问题

查看课程