PYTHON基础-面向对象编程(OOP)基础语法

dir内置函数

查看对象方法列表: 标识符/数据.+TAB
查看对象属性和方法: dir(标识符/数据)
在这里插入图片描述

定义简单类

定义只包含方法的类

方法的定义和函数基本一样,区别在于第一个参数必须是Self
在这里插入图片描述

创建对象

在这里插入图片描述

引用概念的强调

在这里插入图片描述

class Cat:
    """这是一个猫类"""

    def eat(self):
        print("小猫爱吃鱼")

    def drink(self):
        print("小猫爱喝水")


#创建猫对象
tom = Cat()

tom.eat()
tom.drink()

print(tom)

addr = id(tom)
print("%d" % addr)
print("%x" % addr)

在这里插入图片描述

同一个猫类,两个不同的猫对象

class Cat:
    """这是一个猫类"""

    def eat(self):
        print("小猫爱吃鱼")

    def drink(self):
        print("小猫爱喝水")


# 创建猫对象
tom = Cat()

tom.eat()
tom.drink()
print(tom)

# 再创建一个猫对象
lazy_cat = Cat()

lazy_cat.eat()
lazy_cat.drink()
print(lazy_cat)

lazy_cat2 = lazy_cat
print(lazy_cat2)

在这里插入图片描述

方法中的self参数

对象属性应该封装在类的内部,不推荐在类外给对象添加属性
因为一般在类外创建先调用对象方法,再设置对象属性会直接报错
在这里插入图片描述


```python
class Cat:
    """这是一个猫类"""

    def eat(self):
        # 哪一个对象调用得到方法,self就是哪一个对象的引用
        print("%s 爱吃鱼" % self.name)

    def drink(self):
        print("%s 爱喝水" % self.name)


# 创建猫对象
tom = Cat()

tom.eat()
tom.drink()
# 可以使用 .属性名,利用赋值语句就可以了
tom.name = "Tom"

print(tom)

在这里插入图片描述

初始化方法

在这里插入图片描述

在初始化方法内部定义属性

在这里插入图片描述

class Cat:

    def __init__(self):

        print("这是一个初始化方法")

        # self.属性名 = 属性的初始值
        self.name = "Tom"


# 使用类名()创建对象的时候你,会自动调用初始化方法 _init_
tom = Cat()

print(tom.name)

在这里插入图片描述

初始化的同时设置初始值

在这里插入图片描述

class Cat:

    def __init__(self, new_name):

        print("这是一个初始化方法")

        # self.属性名 = 属性的初始值
        self.name = new_name

    def eat(self):
        print("%s 爱吃鱼" % self.name)


# 使用类名()创建对象的时候你,会自动调用初始化方法 _init_
tom = Cat("Tom")
tom.eat()

lazy_cat = Cat("大懒猫")
lazy_cat.eat()

在这里插入图片描述

其它内置方法和属性

在这里插入图片描述

_del_方法

在这里插入图片描述

class Cat:
    def __init__(self, new_name):

        self.name = new_name

        print("%s 来了" % self.name)

    def __del__(self):

        print("%s 去了" % self.name)

# tom是一个全局变量
tom = Cat("Tom")
print(tom.name)

# del 关键字可以删除一个对象
del tom

print("-" * 50)

在这里插入图片描述

_str_方法

在这里插入图片描述

class Cat:
    def __init__(self, new_name):

        self.name = new_name

        print("%s 来了" % self.name)

    def __del__(self):

        print("%s 去了" % self.name)

    def __str__(self):

        # 必须返回一个字符串
        return "我是小猫【%s】" % self.name

# tom是一个全局变量
tom = Cat("Tom")
print(tom)

在这里插入图片描述








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值