网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

Python面向对象深化(上)

时间:2023-05-11 17:51

人气:

作者:admin

标签: 代码 

导读:前言 哈喽, 大家好, 我是了不起! 欢迎大家来观看了不起的冒险之旅. 为了方便起见, 文中以小知为名. 讲述了不起在Python异世界的冒险之旅. 天空之城是座高耸云端的城堡. 位于西海岸附近...

前言

哈喽, 大家好, 我是了不起!

欢迎大家来观看了不起的冒险之旅. 为了方便起见, 文中以小知为名. 讲述了不起在Python异世界的冒险之旅.

天空之城是座高耸云端的城堡. 位于西海岸附近, 在城堡的最顶端可以眺望到天空之海. 直到格兰之森那场大火的发生,使得围绕在它周围的魔法阵力量减弱,人们才终于重新看到天空之城的真实模样. 当时,关于天界的传闻甚至比天上的繁星还多,但是却没有一个人能够证明它真实存在。


实例对象和类对象创建过程内存分析

我们以下面代码为例,分析整个创建过程:

classStudent:

company="sxd"#类属性

count=0#类属性

def__init__(self,name,score):

self.name=name#实例属性

self.score=score

Student.count=Student.count+1

defsay_score(self):#实例方法

print("我的公司是:",Student.company)

print(self.name,"的分数是:",self.score)

s1=Student("时间静止",18)#s1是实例对象,自动调用__init__()方法

s2=Student("不是简史",81)

s1.say_score()

print('一共创建{0}个Student对象'.format(Student.count))

print("s1的引用:",id(s1))

print("s2的引用:",id(s2))

print("Student的引用:",id(Student))

pYYBAGRcuk6AAcKEAAFo1aKJyGU270.png

默认的类方法

init构造方法和__new__ 方法

初始化对象, 我们需要定义构造函数__init__()方法 构造方法用于执行“实例对象的初始化工作”, 即对象创建后, 初始化当前对象的相关属性, 无返回值 如果将对象比作一座房子, 则构造方法(__init__)是负责初始化(装修) , 不是建对象(房子)

__init__()的要点如下(约等于Java的构造方法):

  1. 名称固定, 必须为: __init__()
  2. 第一个参数固定, 必须为: self.self指的就是刚刚创建好的实例对象
  3. 构造函数通常用来初始化实例对象的实例属性 通过“类名(参数列表)”来调用构造函数. 调用后, 将创建好的对象返回给相应的变量. 比如: s1 = Student("时间静止", 80)
  4. __init__()方法: 初始化创建好的对象,初始化指的是: "给实例属性赋值"
  5. 如果我们不定义__init__方法, 系统会提供一个默认的__init__方法. 如果我们定义了带参的__init__方法, 系统不创建默认的__init__方法
  6. __new__()方法: 用于创建对象, 但我们一般无需重定义该方法

注意:

  • Python中的 self 相当于C++中的 self指针 , JAVA和C#中的 this 关键字
  • Python中, self 必须为构造函数的第一个参数, 名字可以任意修改, 但一般都叫做 self.他的作用是指向当前对象的本身/当前对象的引用

__del__方法(析构函数)和垃圾回收机制

__del__()称为“析构方法”, 用于实现对象被销毁时所需的操作. 比如: 释放对象占用的资源, 例如: 打开的文件资源、网络连接等

注意:

  1. Python实现自动的垃圾回收, 当对象没有被引用时(引用计数为0), 由垃圾回收器调用__del__()
  2. 我们也可以通过 del语句 删除对象, 从而保证调用__del__()
  3. 系统会自动提供__del__方法 , 一般不需要自定义析构方法.

实操代码

classPerson:

def__del__(self):

print("销毁对象:{0}".format(self))

p1=Person()

p2=Person()

delp2

print("程序结束")

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信