【Python】类,基础1
发布日期:2021-05-07 23:12:39 浏览次数:20 分类:原创文章

本文共 2237 字,大约阅读时间需要 7 分钟。

"""在程序当中,先定义类才有的对象"""#定义类# 类跟函数的区别是,类在定义阶段函数代码都会执行,函数需要调用# 类的用法就是操作它的属性,分为增删改查,通过.来调用class Luffycity:    school ='luffycity'#数据属性    def learn(self):#函数属性        print("is learning")    def eat(self):#函数属性        print("is sleeping")# 查看类的名称空间print(Luffycity.__dict__)print(Luffycity.__dict__['school'])print(Luffycity.__dict__['learn'])# 查print(Luffycity.school)print(Luffycity.learn)#增Luffycity.country='China'print(Luffycity.country)# 删del Luffycity.country#改Luffycity.school="Luffycity"
#__init__方法用来为对象定制对象自己独有的特征#析构函数直接调用class ZtcityStudent:    school="Ztcity"    def __init__(self,name,age,sex):        self.name=name        self.age=age        self.sex=sex    def learning(self):        print("沉迷于学习,无法自拔")    def start(self):        print("我将无我")# 构建后产生对象stu1=ZtcityStudent("祝祝","女",18)#__init__自动调用相当于,ZtcityStudent.__init__#加上__init__方法后,实例化的步骤#1:先产生一个空对象stu1#2:LuffyStudent.__init__(stu1,"祝祝","女",18)# 查print(stu1.__dict__)print(stu1.name)print(stu1.age)print(stu1.sex)#改stu1.name="shimmer"print(stu1.__dict__)print(stu1.name)print(stu1.sex)print(stu1.age)#删del stu1.nameprint(stu1.__dict__)#增#其实增加与修改是类似的,当存在属性的时候在对进行赋值就是修改,# 添加一个还没有存在的属性的时候就是添加stu1.class_name="python全栈开发"print(stu1.__dict__)stu2=ZtcityStudent("winter",'男',19)print(stu2.__dict__)print(stu2.name)print(stu2.age)print(stu2.sex)
class ZTcity:    school="ZTcity"#类的数据属性    def __init__(self,name,age,sex):        self.name=name        self.age=age        self.sex=sex    def learning(self,x):        print("%s is learning %s"%(self.name,x))#产生对象stu1=ZTcity("shimmer",18,"female")stu2=ZTcity("王二狗",28,"male")stu3=ZTcity("李铁蛋",38,"male")#对象:特征与技能的结合体#类:类是一系列对象相似的特征与相似的技能的结合体# 类的数据属性,是所有对象共有的print(ZTcity.school,id(ZTcity.school))print(stu1.school,id(stu1.school))print(stu2.school,id(stu2.school))print(stu3.school,id(stu3.school))# 类中的函数属性:是绑定给对象使用的,绑定到不同的对象是不同的绑定方法# 对象调用绑定方法时,会把对象本身当作第一个传入,传给self# def learning(self):调用语句如下# print(ZTcity.learning)# ZTcity.learning(stu1)# ZTcity.learning(stu2)# ZTcity.learning(stu3)# stu2.learning()# stu3.learning()print(stu1.learning)# def learning(self,x):调用语句如下stu2.learning(2)stu3.learning(3)# 当内部存在相关属性时就在内部找然后应用,当内部不存在相关属性时就到类里面找,不能到类外面找stu1.x="from stu1"ZTcity.x="from ZTcity class"print(stu1.__dict__)print(stu1.x)
上一篇:【Python】面向对象2:之抽象基类:import abc,metaclass=abc.ABCMeta
下一篇:Python【面向对象】1

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年03月27日 00时49分29秒