类中的方法

'''类中方法'''
'''1、普通方法:类中定义的一些方法,如下,info()这个就属于普通的方法,可以被实例化对象调用'''
# class person(object):
#     def info(self,name,age):
#         self.name = name
#         self.age = age
#         return (self,name,self,age)
# per1 = person()
# print(per1.info('admin','25'))

'''2、特性方法:类中,前面有@property特殊字符的一些方法。如以下getid()是特性方法'''
# 注意特性方法调用时,不可以加()。如下:只可以写成per1.getid,不可以写成per1.getid()
# class person(object):
#     @property
#     def getid(self):
#         print('112233')
# per1 = person()
# per1.getid

'''3、静态方法:类中,前面有@staticmethod特殊字符的一些方法,如以下lianjie()是静态方法。不需要进行实例化,可以直接使用类调用,当然,也可以用实例对象调用'''
# class mysql(object):
#     @staticmethod
#     def lianjie(host,port,username,pwd):
#         print('数据库连接成功')
# mysql.lianjie('10,1,1,1','333','admin','123456')
# getlianjie = mysql()
# getlianjie.lianjie('10,1,1,1','333','admin','123456')

'''3、类方法:类中,前面有@classmethod特殊字符的一些方法,info(cls)是静态方法。不需要进行实例化,可以直接使用类调用,当然,也可以用实例对象调用'''
# class person(object):
#     @classmethod
#     def info(cls):
#         print('类方法输出')
# person.info()
# per1 = person()
# per1.info()

'''总结:
1、有self的方法,只可以被实例对象调用,类本身无法调用。如普通方法和特性方法(@property)
2、没有self的方法,只可以被类本身调用。静态方法(@staticmethod)和类方法(@classmethod),既可以被实例对象调用,也可以被类本身调用,但一般使用类本身调用。
3、类属性:既可以被实例对象调用,也可以被类本身调用
4、方法属性:定义在self函数下,属性没有加self。只能在函数内部使用。不能被实例对象调用,也不可以被类调用。
            定义在self函数下,属性加上self.属性可以被实例对象调用,

可以被类调用的有:类属性,静态方法,类方法,未加self的方法
可以被实例对象调用的有:实例属性、普通方法、特性方法、(类方法、静态方法也可以,但通常不这样用)

 

posted @ 2020-04-07 16:52  米糕xxx  阅读(681)  评论(0)    收藏  举报