绑定知识拓展
作业一:总结 # 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会自传值,你实要给出它传那就把对象名写进去吧。、