绑定知识拓展

作业一:总结 #  1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性 
在类里面定义的函数,第一位置参数为self,在没有添加其它修饰的情况下,只要类实例化生成对象,
那么类里的函数称为此对象的方法。 绑定到对象的方法,当然是提供类实例化的对象来使用 调用方式
class Templete:
    def __init__(self,name):
        self.name = name
        print('我是初始化函数')
    def  getWelcome(self):  #注意啊括号里有第一个位置参数为self
        print("%s  你好"%self.name)

Temp1 = Templete('刘行')
Temp1.getWelcome()   #调用绑定方法

2.什么是绑定到类的方法,如何定义,如何调用,给谁用?有什么特性 
在类定义里,如果定义方法语句的正上头有一个@classmethod
并且函数的第一位置参数是cls,那么该函数就是绑定到类的方法

class Templete:
    函@classmethod   #修饰词
    def message(cls,strinfo):
        print(strinfo)

3.什么是解除绑定的数,如何定义,如何调用,给谁用?有什么特性      
它既不与类绑定,也不与对象绑定,不与任何事物绑定,相当是浪妞
import time
class Templete:
    @staticmethod
    def now():
        """计算当前时间"""
        t = time.localtime()
        obj = Templete(t.tm_year, t.tm_mon, t.tm_mday)
        return obj
调用:t1 = Templete.now().year  #类直接调用
     t1.now().year  #对象调用
特性:没有自动传值功能


4.什么是property,如何定义,如何使用,给谁用,什么情况下应该将一个属性定义成property,有什么好处? 
当需要有部分功能隐藏里,就可以定义成property属性,,本质上是一个函数,只是在定义时直接被修改成 属性,
调用 :对象名.属性名,注:这里的属性名就是刚才我们定义@property紧挨它

的那个函数 特性:方便修改,扩展
class People(objec):
    def __init__(self,name,age,sex):
        self.__sex = sex
        self.name = name
        self.age = age
    @property
    def getsex(self):
        return self.__sex

    @getsex.setter
    def getsex(self,value):
        self.__sex = value

p1 = People('hi',20,'male')
print("当前用户是:%s  年龄:%d"%(p1.name,p1.sex))




@cl饰, 并且函数的第一位置参数是cls,那么该函数就是绑定到类的方法


方法() 特性: 当然self会自传值,你实要给出它传那就把对象名写进去吧。、
原文地址:https://www.cnblogs.com/hongyongshang/p/6750325.html