# 自由方法只能通过类对象来调用,如果用实例对象调用,传入的第一个参数就是实例对象本身 class test(object): old = "类变量,外部可访问。" # 自由方法 def freedom1(): # 参数中没有self 或 cls,也没有任何装饰器 print("该方法是 无参数的 自由方法,",end="") # 自由方法 def freedom(a): # 参数中没有self 或 cls,也没有任何装饰器 print("该方法是「", a ,"」自由方法,",end="") # print(old) # 会报错,因为此自由方法未定义变量old print(test.old) # 访问类变量的方法同静态方法,通过类名访问 t = test() # 通过实例访问 自由方法|私有方法 t.freedom() # 实例对象 t 相当于1个参数,不用再传参数,否则会判断为传入了2个参数而报错 # t.freedom1() # 会报错,方法无参数,但是通过实例对象访问会传入一个参数 # t.freedom("实例") # 这里会报错:TypeError freedom() takes 1 positional argument but 2 were given # 通过类对象访问 方法 test.freedom1() test.freedom("类") """ 输出>>>>> 该方法是「 <__main__.test object at 0x7fd522239a60> 」自由方法,类变量,外部可访问。 该方法是 无参数的 自由方法,该方法是「 类 」自由方法,类变量,外部可访问。 """
标签:Python,freedom,自由,说明,访问,参数,test,方法 From: https://www.cnblogs.com/songshutai/p/16839316.html