Python面向对象中类和对象的示例分析
导读:本文共2692字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 什么是面向对象编程?我们是不是听过面向过程,拿来放在一起对比就比较好理解了。简单来理解,面向过程就是一切用函数解决一切文件,简单粗暴!面向对象是面向过程编程之后才出现了,没有面向对象编程很多程序还不是照样开发。面向对象,也使用函数,但是多了一个网,这个网把一个或者多个函数,和数据关联在一起,然后称为一类事物,也就是程序中的‘类'(class)定义类,从具... ...
目录
(为您整理了一些要点),点击可以直达。什么是面向对象编程?
我们是不是听过面向过程,拿来放在一起对比就比较好理解了。
简单来理解,面向过程就是一切用函数解决一切文件,简单粗暴!
面向对象是面向过程编程之后才出现了,没有面向对象编程很多程序还不是照样开发。
面向对象,也使用函数,但是多了一个网,这个网把一个或者多个函数,和数据关联在一起,然后称为一类事物,也就是程序中的‘类'(class)
定义类,从具体代码来感受吧!
面向对象编程,首先提出的第一个概念就是‘class',类:
#这就是一个class的定义代码:classhello_class():pass
然后通过class_name()
这样调用来生产对象。
代码稍微升级一下,我们看看:
classhello_class():pass#输出类信息print(hello_class)print(type(hello_class))#创建类的实例对象print(hello_class())print(type(hello_class()))
稍微补充一下:
print函数输出类对象的结果:通常是<'class全名‘ object at id序列号>
下面是运行结果:
这里我们加入新知识点:类实例对象 , 通常直接说,实例。
实例是class产生的对象,所有某个hello_class对象的类型(通过type函数获取)都必定是hello_class。
多个类和对象的观察
看完一个类,我们再看看两个类的对比,结果也是一致的。
下面是两个类的定义和生成对象的代码展示:
#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/11/1511:58下午#@Author:LeiXueWei#@CSDN/Juejin/Wechat:雷学委#@XueWeiTag:CodingDemo#@File:__init__.py.py#@Project:helloclassstudent(object):“”“学委补充一下:__init___函数为类的初始化函数,在创建类对象实例的时候这个函数会被调用。”“”def__init__(self):print("hello,Iamstudent")classprogrammer(object):def__init__(self):print("hello,Iamprogrammer")classstudent(object):def__init__(self):print("hello,Iamstudent")classprogrammer(object):def__init__(self):print("hello,Iamprogrammer")s1=studentprint(s1)p1=programmerprint(p1)s11=studentprint(s11)p11=programmerprint(p11)print("*"*16)#创建对象s2=student()print(s2)p2=programmer()print(p2)#创建对象s3=student()print(s3)p3=programmer()print(p3)
稍微解释一下:
s1 和 p1 这两个变量打印输出结果是‘class'类型的。
s11 和 p11 这两个变量打印输出结果是‘class'类型的,但是s1跟s11,p1跟p11 是不变的。
s2 和 p2 这两个变量打印输出结果是'object'类型的。
s3 和 p3 这两个变量打印输出结果是'object'类型的。
下面是运行结果:
初始化函数被调用了打印了对象信息。
到这里,大家应该都能知道class和object区别了吧
类: 描述了函数和属性的固定关系
(类实例)对象: 基于这种固定关系的一个活生生的个体,它的id是变化的。
补充一下类的属性(数据部分)
学委定义了一个student类,并创建了两个学生对象。
直接复制运行下面的代码:
#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/11/1511:58下午#@Author:LeiXueWei#@CSDN/Juejin/Wechat:雷学委#@XueWeiTag:CodingDemo#@File:__init__.py.py#@Project:helloclassstudent(object):def__init__(self,name):self.name=namedefget_name(self):returnself.namedefset_name(self,name):self.name=namedefstudy(self):print(f"{self.name}:好好学习,天天向上!")s1=student("小白")print(s1)print(s1.get_name())print(s1.study())s2=student("学委的学生粉丝:哈哈哈")print(s2)print(s2.get_name())print(s2.study())
我们看到他们的id总是不同的(运行几次看看)。
然后每个学生都有一个name属性(携带姓名数据),和三个函数属性(分别用来获取姓名,改名,学习)。
然后我们调用了每个学生的study函数,输出了各自的学习状态。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Python面向对象中类和对象的示例分析的详细内容,希望对您有所帮助,信息来源于网络。