CDA LEVELII考试内容记录学习--PART 1--c. Python 基础(三)--Python 类

CDA LEVELII考试中的学习经历记录–部分内容
目录链接:
https://blog.csdn.net/weixin_41744624/article/details/101125379
更新中~~
————————————————————————————————————

三、Python 类

7.python 类

是一个独立存放变量(属性/方法)的空间,使用运算符’ . '来调用类的属性和方法

class Person: #定义一个名字为Person的类。
    pass   
esp = Person()#实例化一个类。esp是Person类的一个实例名

类与实例之间的关系

类是一类事务的抽象,不是真是存在的,他描绘了事务的共性。如:人,桌子,动物等

实例是某事务的个体,是具体到某一个事务的表现,是真实存在的。

实例也是一个独立存放变量的空间。每一个实例都是独立的变量空间,不同实例之间的变量空间是互相不可见的

class Person: #定义一个Peson的类
    pass
tom = person()  #实例化Person类,tom是Person类的一个实例,是一个真实存在实例,特指tom本人。
Jack= person()  #实例化Person类,jack是Person类的一个实例,是一个真实存在实例,特指jack本人。
tom.name = 'python' #后来封装在类中的属性
jack.age = 18 #后来封装在类中的属性
print(tom.name)  #正常调用
print(jack.age) #正常调用
print(tom.age) #报错,在类里面找不到属性,实例中也找不到。
print(jack.name) #报错,在类里面找不到属性,实例中也找不到。
print(Person.sex) #报错,在类里面找不到属性,不会去实例中找。

私有属性

在python中有两种私有属性,分别是,在属性前面加一个 _ 和两个 _(下划线)

一个下划线时外部可以访问,两个下划线时外部不可以访问,(相对而言)

class Person:
    _age = 19
    __sex = '男'
tom = Person()
tom._age #可以调用。
tom.__sex #报错,不可直接访问__sex属性。可以dir(tom),查看tom的方法,里面会有访问__sex的方法。访问方法

python 中,和_的使用更多时一种规范/约定,没有真正限制的目的。定义在类中的私有属性,也可以被子类继承。

方法

方法是封装在类里的特殊函数

class Person:
    def eat(self): #在类里定义 eat 方法
        print('在吃东西')
tom = Person() #实例化一个类
tom.eat #实例调用eat方法

类的初始化与析构

python有很多实例化的时候就直接添加属性的方法,他们会在特定时间被触发执行,init就是其中之一,他会在实例化后自动调用,以完成实例化的初始化。

class Person:
    def __init__(self,name,age):#初始化方法
        self.name = name
        self.age = age
    def eat(self):
        print(self.name+'在吃东西')
tom = Person('jack',18) #实例化时候需要传入参数 
tom.eat #调用eat方法

__ init__的参数传递过程:

| 实例化产生一个类的实例 |>>>>| python自动调用实例.__ init__(参数) |>>>>| 转换为 类.__
init__(实例,参数) |

析构

前面讨论了实例化的时候的一些操作,那么当实例被销毁了,是否可以做什么。
通常在实例被销毁的时候,会执行怎么样的任务。

__ del__就是一个析构函数,当使用 del 删除对象时,会调用本身析构函数,提醒开发者,对象被销毁了,方便调试,进行一些清理工作。

class Person:
    def __init__(self,name):#初始化方法
        self.name = name
    def __del__(self):#析构方法(销毁方法)
        print(self.name,'被销毁了。。。')
tom = Person('jack')
del tom#打印出被销毁

python中,当没有一个变量指向一个对象时,python会自动销毁这个对象,以便收回内存空间。
del 关键字,可以删除一个变量的指向

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值