欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-07 21:45:33
...

1. 基本概念

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

2. 类和对象

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

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

3. 面向对象基础语法

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

class Cat:

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

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

tom = Cat()

tom.drink()
tom.eat()

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


print(tom)

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

面向对象-1-类和对象、基础语法、初始化、内置方法和属性
面向对象-1-类和对象、基础语法、初始化、内置方法和属性
很明显不是。

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

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)

面向对象-1-类和对象、基础语法、初始化、内置方法和属性
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)

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

4. 初始化

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

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)

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

5. 内置方法和属性

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

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)

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

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)

面向对象-1-类和对象、基础语法、初始化、内置方法和属性
def __del__(self): 这个函数的意义就是在销毁之前再做点什么。
面向对象-1-类和对象、基础语法、初始化、内置方法和属性

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)

面向对象-1-类和对象、基础语法、初始化、内置方法和属性
之前我们也讲过,定义一个对象,打印这个对象,打印的是他的类以及十六进制的地址。但是我们并不想这样。

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-类和对象、基础语法、初始化、内置方法和属性

1