Python面向对象学习笔记-1

1.基础知识

类是对象的抽象化,对象是类的具体化。Python作为一门弱类型语言,虽然与Java的面向对象有相似,但不能完全照搬。

2.面向对象实现方法

2.1实现类 

python中实现方法分为经典类和新式类,父类或者以上有object 就是新式类 否则是经典类。

在多继承时,经典类进行的是深度优先搜索,而新式类则是广度优先。

新式类实现方法:

语法:

class 类名(object):

        代码 ......

class A(object):
    pass
    

旧式类实现方法:

语法:

class 类名():

        代码 ......

class A():  # 经典类
    pass

class B(A):  # 经典类
    pass

 创建类时遵循驼峰式命名的规范 类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage。

2.2创建对象

  • 语法

 对象名 =类名()

class A(object):
    pass

a = A()

3.基础魔法方法

 在Python中, __xx__() 的函数叫做魔法⽅法,指的是具有特殊功能的函数。

3.1 __init__()

        __init__() 被称为构造函数,主要用于创建对象并将对象的数据初始化,在创建对象时自动调用。但在__init__()调用之前,还调用了__new()__方法。

工作原理:
1. __new__:创建对象的时候首先自动调用__new__,它的作用就是创建实例,然后将该实例返回
2. __init__:当实例创建完毕之后被调用的,然后通过__init__给实例设置初始值
3. __new__先被调用,__init__后被调用,__new__的返回值(实例)将传递给__init__的第一个参数self,然后__init__给这个实例设置一些参数,__init__不需要返回值。
摘自:(16条消息) Python中面向对象(学习笔记)_南枝向暖北枝寒-CSDN博客

class Animal(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age


"""
self是一个关键字,代表对象本身。
"""
dog = Animal('旺财', 1)

3.2__str__() 

        当使⽤print输出对象的时候,默认打印对象的内存地址。如果类定义了 __str__ ⽅法,那么就会打印从 在这个⽅法中 return 的数据。

        还有一个魔法方法__repr__()也是显示信息。但是__repr__()是面向开发者,而__str__()是面向用户的。

class Animal(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f'使用str:我是{self.name},今年{self.age}岁'

    def __repr__(self):
        return f'使用repr'

dog = Animal('旺财', 1)

        

 如果将对象放在容器中进行输出,调用的是__repr__ 方法。

3.3__del()__

        __del()__是析构器,当一个实例被销毁时自动调用的方法。

class Animal(object):
    def __init__(self):
        print('调用了__init__()方法')

    def __del__(self):
        print('调用了__del__()方法')

animal = Animal()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值