千家信息网

python继续找对象的示例分析

发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章将为大家详细讲解有关python继续找对象的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。面向对象三大特征:封装、继承、多态1、封装(提高程序的安全
千家信息网最后更新 2025年11月15日python继续找对象的示例分析

这篇文章将为大家详细讲解有关python继续找对象的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    面向对象三大特征:封装、继承、多态

    1、封装(提高程序的安全性)

    class Car:    def __init__(self,brand):        self.brand=brand    def start(self):        print('自行车已被蹬跑')car=Car('自行车')car.start()print(car.brand)

    运行结果

    自行车已被蹬跑
    自行车

    一开始它报错说没有定义name,我找老大一会不知道哪错了,原来是第六行

    self.name,那个时候写成,了。

    看在stu里边有哪些方法?就这样写

    在类的外部可以通过_Student(类名)_ _age(不希望被访问的)进行访问

    class Student:    def __init__(self,name,age):        self.name=name        self.__age=age #年龄不希望在类的外部使用,所以加了两个_    def show(self):        print(self.name,self.__age)stu=Student('张三',20)stu.show()#在类的外部使用name和ageprint(stu.name)print(dir(stu))print(stu._Student__age)
    张三 20张三['_Student__age', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name', 'show']20

    2、继承(提高代码的复用性)

    class Person(object):    def __init__(self,name,age):        self.name=name        self.age=age    def info(self):        print(self.name,self.age)class Student(Person):    def __init__(self,name,age,stu_no):        super().__init__(name,age)        self.stu_no=stu_noclass Teacher(Person):    def __init__(self,name,age,teacherofyear):        super(Teacher, self).__init__(name,age)        self.teacherofyear=teacherofyearstu=Student('张三',20,'1001')teacher=Teacher('李四',34,10)stu.info()teacher.info()

    张三 20
    李四 34

    3、方法重写

    此时只能输出学号,不满足需求

    class Person(object):    def __init__(self,name,age):        self.name=name        self.age=age    def info(self):        print(self.name,self.age)class Student(Person):    def __init__(self,name,age,stu_no):        super().__init__(name,age)        self.stu_no=stu_no    def info(self):        print(self.stu_no)class Teacher(Person):    def __init__(self,name,age,teacherofyear):        super(Teacher, self).__init__(name,age)        self.teacherofyear=teacherofyearstu=Student('张三',20,'1001')teacher=Teacher('李四',34,10)stu.info()teacher.info()

    1001
    李四 34

    看下边的重载

    class Person(object):    def __init__(self,name,age):        self.name=name        self.age=age    def info(self):        print(self.name,self.age)class Student(Person):    def __init__(self,name,age,stu_no):        super().__init__(name,age)        self.stu_no=stu_no    def info(self):        super(Student, self).info()        print(self.stu_no)class Teacher(Person):    def __init__(self,name,age,teacherofyear):        super(Teacher, self).__init__(name,age)        self.teacherofyear=teacherofyearstu=Student('张三',20,'1001')teacher=Teacher('李四',34,10)stu.info()print('----------------------------')teacher.info()

    运行结果

    张三 20
    1001
    ----------------------------
    李四 34

    把教龄输出

    class Person(object):    def __init__(self,name,age):        self.name=name        self.age=age    def info(self):        print(self.name,self.age)class Student(Person):    def __init__(self,name,age,stu_no):        super().__init__(name,age)        self.stu_no=stu_no    def info(self):        super(Student, self).info()        print(self.stu_no)class Teacher(Person):    def __init__(self,name,age,teachofyear):        super().__init__(name,age)        self.teachofyear=teachofyear    def info(self):        super().info()        print('教龄',self.teachofyear)stu=Student('张三',20,'1001')teacher=Teacher('李四',34,10)stu.info()print('----------------------------')teacher.info()

    运行结果

    张三 20
    1001
    ----------------------------
    李四 34
    教龄 10

    4、object类

    5、多态(提高程序的可拓展性和可维护性)

    Java就是静态语言,python就是动态语言

    6、特殊方法和特殊属性 特殊方法

    两个特殊的方法----创建

    1初始化init

    2new

    特殊属性

    两个下划线开始,两个下划线结束就是特殊属性

    绑定两个属性

    class A:    passclass B:    passclass C(A,B):    def __init__(self,name,age):        self.name=name        self.age=age#创建C类的对象x=C('Jack',20)#x是C类的一个实例对象print(x.__dict__)
    {'name': 'Jack', 'age': 20}

    pycharm使用的小发现

    点击加号那里,就会释放,点击减号就会缩成这样,这说明了被缩起来的内容都是隶属于这个类的。

    看最左侧出现了箭头,他的意思是重写person类中的方法

    英文

    关于"python继续找对象的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    张三 李四 特殊 方法 对象 两个 属性 自行车 就是 教龄 篇文章 结果 运行 示例 分析 多态 下划线 内容 更多 程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 昆山网络技术支持企业 手机方舟服务器不支持怎么办 电脑版地平线4服务器 利用文献数据库辅助选题能实现的是什么 周鸿祎谈网络安全动物奥特曼 mc基岩版服务器手机电脑 官兵如何守好网络安全 网络安全法 国务院和 梦幻西游花好月圆是限时服务器么 房山网络安全三级认证 最新数据库相关课题 南京互联网智能科技产品选择 csr软件开发 寻甸综合软件开发报价表 数据库的开关应该交给哪种类 专科应届生软件开发招聘 万方数据库中华放射学 串口怎么监视数据库 奉贤区智能软件开发调试 实时抽取时序数据库 丹东市软件开发公司招聘信息 软件开发需求确认书 努比亚手机服务器连接 数据库服务器迁移 网络安全与技术学什么 大同学校触控答题软件开发公司 广州正规的网络技术有限公司 广州直播软件开发项目交流 HCNA网络技术期末考试 数据库管理技术人员能干什么
    0