self的含义,为什么类调用方法时需要传参数?

# coding=utf-8
class A():
    def fun(self):
        print("为什么调用方法的时候不需要写self实参")
a = A()
a.fun(12)  # 如果传入参数编译器会告诉我,我传了2个参数。可见实例调用方法是带参的。
# a = A() 等价于 A().fun() 类的实例化通过self来辨别实例的方法。
# a = A() 等价于 A.fun(self)  可见self代表类的实例
A.fun(1)  # 这也就解释了为什么通过类名调用时,是函数。因为没有实例。

这也就解释了方法和函数的区别。

  方法是实例有的属性和行为。

  函数是封装好的一代代码,它能实现某些功能。

more:

https://www.cnblogs.com/jins-note/p/9581568.html

  

原文地址:https://www.cnblogs.com/pbwzc/p/11113885.html