发布于2019-09-02 13:17 阅读(978) 评论(0) 点赞(20) 收藏(0)
class student:
__name = "xiaoming"
__sex = "man"
__age = "15"
def getName(self):
return self.__name
def setName(self,name):
self.__name = name
s = student()
s.setName("xiaohong")
print(s.getName())
可以把它当做C++中类里面的this指针一样理解,就是对象自身的意思,在用某个对象调用该方法时,就将该对象作为第一个参数传递给self。
init()构造方法,创建对象
class student:
def __init__(self):
self.__name = "xiaoming"
self.__sex = "man"
self.__age = 15
def getName(self):
return self.__name
def setName(self,name):
self.__name = name
s = student()
s.setName("xiaohong")
print(s.getName())
del()析构方法
删除实例化的对象
class friend():
def __init__(self):
self.__name = "putao"
self.__location = "jiapali"
def __del__(self):
print("删除对象")
def getName(self):
return __name__
putao = friend()
del putao
print(putao.getName())
class 子类(父类)
class people:
name = 'human'
def sleep(self):
print(self.name, "sleep")
class chinese(people):
def eat(self):
print(self.name, "eat")
c = chinese()
c.sleep() #human sleep
c.eat() #human eat
c.name = "xiaoMing"
c.sleep() #xiaoMing sleep
c.eat() #xiaoMing eat
class 子类(父类A,父类B)
如果有父类有相同方法,A优先调用
子类覆写父类方法,子类方法优先调用
类方法传入类本身作为参数cls
使用注解@classmethod
类方法可以动态配置
class Color():
__color = (0,0,0)
@classmethod
def getColor(cls):
if cls.__name__ == 'Red':
cls.__color = (255,0,0)
elif cls.__name__ == 'Green':
cls.__color = (0,255,0)
return cls.__color
class Red(Color):
pass
class Green(Color):
pass
print(Red.getColor()) # (255, 0, 0)
print(Green.getColor()) # (0, 255, 0)
@staticmethod 注解在类的静态方法上, 静态方法只能用类对象访问
作者:23dh
链接:https://www.pythonheidong.com/blog/article/78970/06e7f60f515daef24cb5/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!