原文中以定义Dog类且创建my_dog实例来引入类的讲解和实战。代码如下:
类属于一种面向对象的编程方法,定义类时,是一大类对象都有的通用行为和特征。基于类创建对象时,每个对象都自动具备这种通用行为,这种方式可以减少一些不必要的重复工作,使代码已于编写和读取。未开发工作提供很大便利性。
大大的代码,只是将实例名称变化了下:
有代码及运行结果可知:
1、类的定义用class字符串+类的自定义名称(用首字母大写的方式便于区别其他函数和方法);
2、文档字符串用于对类的功能做说明;
3、方法__inti__():(类中的函数称为方法)是一个特殊方法,用于将一般通用的类行为和特征描述通过形参的方式包含于类的属性中;用于对类的对象作初始化;
A、前后必须是双下划线以便跟其他方法名称的定义作区别;
B、必须包含形参self,并且在第一位;
4、通过self.描述性形参的方式给类中的属性赋值;
5、类中的所有方法必须包含形参self;
6、可通过引用类并赋值于实例名称的方式创建实例;在创建实例时,只需提供描述性实参,self会自动传递,不需要为其单独赋值。
7、引用类中的方法时可像ptyhon中的一般方法:句点方式调用类中的方法。
如果有两条狗,名字不同,但都是我的狗,是否可以同时创建两个实例,并同时表示呢?用同一个实例名创建两个实例,发现并不能实现,因为创建实例用一个实例名时相当于变量赋值覆盖了前一个。打印的永远是后一个实例的信息。必须用不同的实例名去表示,或者创建实例的列表或字典,用循环去实现。
创建多个实例的例子:用不同实例名分别表示不同的实例。