zoukankan      html  css  js  c++  java
  • 绑定方法和非绑定方法

    在类内部定义的函数,分为两大类:

        一:绑定方法:绑定给谁,就应该由谁来调用就会把调用者当作第一个参数自动传入。

          绑定到对象的方法:在类定义的没有被任何装饰器(classmate)修饰

                         绑定方法又可以分为:绑定给对象和绑定到类

        二:非绑定方法:没有自动传值

              非绑定方法:不与类和对象绑定

    class People:
        def __init__(self, name):
            self.__name = name
    
    
        def name(self):
            print('welcome %s ' % self.__name)
    
        @classmethod
        def tell(self):
            print('绑定给类')
        @staticmethod
        def look(self,val):
            if not isinstance(val,str):
                print('名字必须是字符串')
                return
            print('yes')
    
    p1=People('zhang')
    
    print(p1.tell)
    People.tell()
    p1.look('zhang','wang')

    分析总结:可以从调用看出,People.tell()在classmate修饰过后,它不需要给定参数,而是自动把类当作参数传入,而非绑定方法是在staticmethod修饰过后可以看出,调用它必须给定定义时的参数位数。

  • 相关阅读:
    一周内签到连续天数求解
    int型动态数组总结
    快速排序总结
    希尔排序总结
    冒泡排序的总结
    桶排序总结
    插入排序的总结
    选择排序的总结
    二分法的五种实现
    安装Yum源
  • 原文地址:https://www.cnblogs.com/z18271397173/p/9133932.html
Copyright © 2011-2022 走看看