面向对象-1-类和对象、基础语法、初始化、内置方法和属性

1. 基本概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 类和对象

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述

3. 面向对象基础语法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class Cat:

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

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

tom = Cat()

tom.drink()
tom.eat()

在这里插入图片描述
在这里插入图片描述
接上面的程序


print(tom)

address = id(tom)
print('%d' % address)
print('%x' % address)

在这里插入图片描述
在这里插入图片描述
很明显不是。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class Cat:

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

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

tom = Cat()

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

kacy = Cat()

kacy.eat()
kacy.drink()
print(kacy)

在这里插入图片描述
self 是地址。很明显不是我们想要的结果。

class Cat:

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

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

tom = Cat()
tom.name = 'tom'
tom.drink()
tom.eat()
print(tom)

kacy = Cat()
kacy.name = 'kacy'
kacy.eat()
kacy.drink()
print(kacy)

在这里插入图片描述

4. 初始化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class Cat:

    def __init__(self,new_name):
        self.name = new_name

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

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

tom = Cat('tom')
tom.drink()
tom.eat()
print(tom)

kacy = Cat('kacy')
kacy.eat()
kacy.drink()
print(kacy)

在这里插入图片描述

5. 内置方法和属性

在这里插入图片描述

class Cat:

    def __init__(self,new_name):
        self.name = new_name
        print('%s 我来了' % self.name)

    def __del__(self):
        print('%s 我去了' % self.name)


tom = Cat('tom')
print('=' * 10)

在这里插入图片描述

class Cat:

    def __init__(self,new_name):
        self.name = new_name
        print('%s 我来了' % self.name)

    def __del__(self):
        print('%s 我去了' % self.name)


tom = Cat('tom')
del tom
print('=' * 10)

在这里插入图片描述
def __del__(self): 这个函数的意义就是在销毁之前再做点什么。
在这里插入图片描述

class Cat:

    def __init__(self,new_name):
        self.name = new_name
        print('%s 我来了' % self.name)

    def __del__(self):
        print('%s 我去了' % self.name)


tom = Cat('tom')
print(tom)

在这里插入图片描述
之前我们也讲过,定义一个对象,打印这个对象,打印的是他的类以及十六进制的地址。但是我们并不想这样。

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 = Cat('tom')
print(tom)

在这里插入图片描述

1

猜你喜欢

转载自blog.csdn.net/sundanping_123/article/details/89217752