文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python_对象(实例)

2023-01-31 07:31

关注

1.实例化过程
对象就是类实例化的结果,我们可以模仿函数的调用方式来进行实例化的过程,如下图所示:
Python_对象(实例)
可以发现,函数是函数名(实参1,实参2,...),而实例化是类名(self,参数1,参数2,...),实例化的过程看下图:
Python_对象(实例)
可以发现在实例化的过程中,先是加载了类中的所有代码块(先后打印了:下面是开门的方法、下面是关门的方法、这个门打开了),再执行了构造函数。
2.对象属性相关
2.1 数据属性
在执行构造函数的过程中自动将数据添加到对应的实例的数据字典中,如下图所示:
Python_对象(实例)
那么如何进项数据属性查询呢?1.我门可以参看使用函数来进行面向对象的设计,可以使用实例名+点(英文.)来直接访问;2.可以使用实例的属性字典,按照字典的操作来访问对应的属性,如下图所示:
Python_对象(实例)
注意:其实方法一是方法二的一个简化操作,执行方法一就是在内部执行方法二。
代码块如下:

class Door():
    "门的类"
    address = "浙江省杭州市"
    def __init__(self,size,color,type):#构造函数
        "初始化门的数据"
        self.size = size
        self.color = color
        self.type = type
    def open(self):
        "门打开的方法"
        print("这个%s门打开了" %self.type)
    def off(self):
        "门关闭的方法"
        print("这个%s门关闭了" %self.type)
door1 = Door(16, 'red', '木门')  # 门的实例化1,实例名命名规范首字母小写
print(door1.__dict__)       #对象的属性字典
#对象的数据属性访问
#方法1.使用实例名+点
print(door1.size)
#方法2.使用实例字典的性质进行访问
print(door1.__dict__['color'])

2.2数据属性的范围
风湿理论在实例过程的中应用,如下图所示:
Python_对象(实例)
从上图可以发现,在查找实例的数据属性的过程是:首先查找实例的属性字典(也就是类中的init构造函数,将其存进属性字典中),如果类的属性字典中没有,则去构造函数inti的上一层(也就是类下的第一层中查找)也就是类的属性字典中查找,如果还没有该属性,则报错,不再望类之后查找。这与函数变量作用域的LEGB原则有所区别。
2.3实例的属性
我们从实例的属性字典中可以发现,实例的属性字典中并没有函数属性,所以根据风湿理论,此时会去类的属性字典中查找。如下图所示:
Python_对象(实例)

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯