面向对象——对象的如何使用

对象 在编程中先定义类,才能声明类的对象。class OldBoyStudent:school = "oldBoy "创建对象 语法:在类名后加括号,与调用函数

对象

在编程中先定义类,才能声明类的对象。

class OldBoyStudent:
    school = "oldBoy"

创建对象

语法:在类名后加括号,与调用函数写法相同。

s1 = OldBoyStudent()

对对象的属性进行增删该查

print(s1.school)
#oldBoy

s1.age = 1
print(s1.age)
print(s1.__dict__)#存在类中公共属性的,不会再次存储
#1
#{'age': 1}

s1.school = 'nice'
print(s1.school)
print(s1.__dict__)#修改成为对象独有的属性
#nice
#{'school': 'nice'}

删除

#删除对象的属性,只能删对象独有的属相,不能删除类的属性
s1.name = 2222
del s1.name
print(s1.__dict__)
#{}

对于对象查找属性的顺序:先对象自身的对象,后对象类的属性。

__init__对象初始化函数

其中self指的是声明时的对象,init函数相当于为其共有属性填写个性化的

__init__称之为初始化函数 他会在创建对象时自动执行,就是为对象的属性赋初始值。

创建对象时,

1.创建一个空对象

2。执行__init__函数,并且自动传入这个对象

class Dog:
    def __init__(self,name,age,color,gender):
        print('dog__init__函数生成')#定义对象时执行
        self.name = name#对象私有属性,并非类的对象
        self.age = age
        self.color = color
        self.gender = gender

#对象声明
d1 = Dog('lulu',2,'yellow','female')
print(d1.__dict__)

#dog__init__函数生成
#{'name': 'lulu', 'age': 2, 'color': 'yellow', 'gender': 'female'}

使用场景

1.需要为每个对象定制不同的属性值

2.__init__在创建对象后自动执行

3.第一个self参数指的是这个这个对象本身不需要手动传值。