python继续找对象的示例分析
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关python继续找对象的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。面向对象三大特征:封装、继承、多态1、封装(提高程序的安全
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
如何移动数据加入我的世界服务器
鸿蒙系统升级连接服务器失败
企业微信登录邮箱服务器配置
网络安全管理和维护工作总结
海尔水质数据库
联运服务器是什么意思
服务器机柜定制
dread hunger服务器前端
数据库如何修改
深圳市黎曼网络技术有限公司
导出数据库表内容吗
中建信息网络安全手册
服务器为什么不能打开
网络安全专业中外合作
图书名字数据库
小学生网络安全教育知识提醒
传奇中的单机服务器
软件开发公司的销售渠道
截取第二个相同的数据库
php 数据库中插入数据
中国知网与万方数据库信息对比
魔域服务器未启动
近期国内网络安全事件
吴忠网络安全平台作业
简析对于网络安全的认识
orbit 专利数据库
计算机网络安全特性
node服务器端session
坎宫骑剑服务器互通吗
网络安全安全培训