目录
3、python类属性,实例属性,类方法,实例方法,静态方法的区别:
一、编程界的两大阵营
老师用了非常形象的话去讲的这得面型过程和面型对象分别是什么。
面向过程就相当于我们做西红柿炒鸡蛋的过程,我们想要吃西红柿炒鸡蛋,但是在那之前我们必须要把他给做出来:
而且把每一步省略掉都吃不成这道菜,因此面向过程更注重过程。
而面向对象的话,我们还是拿想吃西红柿炒蛋来说,但是这一次这道菜不需要我们来做,而是打开美团,下单即可,我们要做的就是关注哪家店进哪家店好吃即可。因此面向对象注重的是事件的参与者,而不是过程。
二、类与对象
1、类
类是多个类似食物组成的群体的统称。能够帮助我们快速理解和判断事物的性质。
比如说手机包括各种品牌的手机,而且他们都能接电话、打电话、发短信。。。于是“手机”就可以成为“类”。
2、数据类型
不同的数据类型属于不同的类,可以使用内置函数type()去查看数据类型。
比如说vivo x20,vivo x60都是vivo手机,而这里这个vivo就可以称作“类型”。
3、对象
对象就是在类型里更小的东西。比如vivo x20就是vivo手机里的一个对象。
还比如100,99,450这三个数字都是int类之下包含的相似的不同个例,这个个例的专业术语也就称为对象。
注意:
在Python中,“一切皆对象”:
三、类的创建
1、创建语法
创建类的语法为:
语法声明用class;
student是类名,类名需要注意:类名由一个或多个单词组成,每个单词的首字母大写,其余小写。这是一种规范,不遵守也可以,但显得不专业。
剩下的东西在pass里面(此处省略了)。
通过上图我们可以惊奇的发现,我只定义了一个空类,但是当我想输出它的地址、类型和值的时候竟然也能输出出来,这就更能体现出“Python中一切皆对象”这句话了。
2、类的组成要素
然后要明确类是由什么组成的。
类是由类的属性、实例方法、静态方法和类方法组成的。
3、python类属性,实例属性,类方法,实例方法,静态方法的区别:
原文链接:https://blog.csdn.net/tcy23456/article/details/104483616
实例方法,类方法,静态方法都属于类,区别在于调用方式不同;
(1)实例方法:
实例对象调用,至少有一个参数self(表示实例对象),执行实例方法时,
自动将该调用方法的对象赋值给self(self其实是引用调用的实例对象)
(2)类方法(@classmethod装饰):
类和实例对象都可以调用;至少有一个参数cls(表示类);
自动将调用该方法的对象赋值给cls(cls其实是引用当前类)
(3)静态方法(@staticmethod装饰)
类和实例对象都可以调用,没有默认参数;其实它存在和外部定义函数没有区别;
(4)属性
类属性是共有的,而实例属性是实例独有的,如果想要修改属性就会有对应的方法(类方法和实例方法)。
四、对象的创建
1、如何创建
对象的创建又称类的实例化
语法是:实例名=类名()
有了实例(类对象),就可以调用类中的内容。
实例对象与类对象之间的关系如上图所示,实例对象有一个类指针指向类对象,因此通过实例对象就可以顺利调用它指向的类的内容。
2、如何使用
创建的类和对象:
使用类中的方法进行输出:
使用实例方法进行输出时,有两种方法,如第25和 26行所示。25行所示的方法是通过对象名调用实例方法来进行输出;26行的方法是通过类名调用实例方法来进行输出的,注意后者需要在实例方法里面加入对象名。
使用静态方法进行输出时,也是两种方法,格式和使用实例方法输出一样,但是它通过类名调用实例方法来进行输出时,静态方法里面不需要加对象名。因为它在定义的时候就没有。
使用类方法进行输出时,也是两种方法,格式和使用静态方法输出一样。虽然在定义类方法时,括号里面有一个cls的对象,但是后期通过类名调用实例方法来进行输出时,括号里面不用加对象名。
使用实例属性进行输出时,直接用点来调用想输出的属性即可。