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