Python 自由方法使用说明

 

# 自由方法只能通过类对象来调用,如果用实例对象调用,传入的第一个参数就是实例对象本身
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> 」自由方法,类变量,外部可访问。
该方法是 无参数的 自由方法,该方法是「 类 」自由方法,类变量,外部可访问。
"""

 

posted @ 2022-10-29 18:08  yudai  阅读(44)  评论(0编辑  收藏  举报