python面向对象day2

1.私有成员

"""
学习目标: 掌握私有成员

1. 概念:
    私有成员(属性,方法), 只能在 本类  内部使用

    作用:
        1. 起到对成员属性的保护作用,不能在类外修改
        2. 提高类的封装性,将用户不需要用的功能都设置成私有的,简化用户的使用(关心公有的)
            ATM 机
2. 语法:
      只需要在成员(属性,方法)名前面加 两个下划线, 这样的成员就是私有成员

3. 了解 原理
        在类外部使用的时候, 其实python解释器将私有成员名进行修改了: _类名__私有成员名
        如何查看: dir(对象)  列出对象上的属性
"""


class Student:
    def __init__(self, name, age):
        self.name = name
        self.__age = age  # 名前面加 两个下划线 就是私有成员

    def show(self):
        # 展示个人信息
        print("我是{},今年{}岁".format(self.name, self.__age))  # 私有成员能在本类内部访问


# 创建学生 张飞
zhangfei = Student(name="张飞", age=28)
zhangfei.show()
print(zhangfei.name)
# print(zhangfei.__age) # 私有成员不能在本类外部访问
print(dir(zhangfei)) # 查看对象上的所有属性

2.__del__方法

"""
了解 __del__ 方法

1. 概念:
    当我们的对象 在内存中被销毁(释放)的时候 自动调用对象上的 __del__ 方法

    注意: __方法__ : 这类方法被称为魔术方法, 都是自动调用

    作用:
        1. 清理对象占用的第三方资源(打开的数据库连接,打开的文件)
        2. 明确知道对象的销毁时机

2 明确知道对象的销毁时机
    a. 脚本执行结束, 程序占用内存的所有数据都会释放,包括对象
        原因: python高级语言,自带垃圾回收机制
    b. 当对象空间没有被任何的变量所指向(引用), 这个时候对象被当作垃圾进行释放
        两种方式:
            del 对象变量
            或者
            对象变量 = None
"""


# 定义一个学生类
class Student:
    def __init__(self):
        print("创建对象成功!")

    def __del__(self): # 对象被销毁自动调用
        print("对象被消耗~~")


# 创建对象
stu1 = Student()
stu2 = stu1
del stu1
del stu2  # 如果对象的所有引用被删除,对象就会被当作垃圾销毁释放
print(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值