类——class
搞了好几天,不停地在网上找资料,终于搞懂类了。
类这个东西,其实我们一直在接触,Python里面自定义好的数据类型,str——字符串类,int——数字类,list——列表类......都是类的一种。
而我们可以自己创造一个类,并且给它弄点参数进去,这样以后就方面我们直接创造出自己想要的东西,不用一次一次的写。
首先,要了解一个东西——type——这个是用来查看你输入的数据是什么数据类型的东西。使用方法如下:
![13ddfc637a33610cf5fea0ce4bdb4439.png](https://img-blog.csdnimg.cn/img_convert/13ddfc637a33610cf5fea0ce4bdb4439.png)
就是说在type后面的括号里加入数据,就可以返回数据类型。而我们看到的数据类型前面就有个class,这就说明了这是python里早就写好了的类,而我们学习的类就是自己来创造一个类。
class boy:
pass
dio = boy()
这里就是我自己写了一个类,运用——pass——占位符来使它可以运行,占位符号的作用就是保持程序结构的完整性。
在这里就出现了一个东西,——实例化——,“dio = boy()”这句话就代表了实例化,实例化就像它的字面意思一样,我创建了一个类,但是没有东西是属于这个类的,而实例化就是“创建”一个属于这个类的东西,这样就得到了叫做“对象(object)”的东西。
![e7ead9c58bd499eeacc15644f0cac131.png](https://img-blog.csdnimg.cn/img_convert/e7ead9c58bd499eeacc15644f0cac131.png)
当出现如上图所示的东西的时候,代表实例化成功,“dio”已经被实例化成一个对象(object)了。
![14a0a206d8bc5817081957bf68bb9ff3.png](https://img-blog.csdnimg.cn/img_convert/14a0a206d8bc5817081957bf68bb9ff3.png)
class men:
def __init__(self,name,age,height):
self.name = name
self.age = age
self.height = height
dio = men('dio','19','1.75m')
胡歌 = men('胡歌','36','1.85m')
小李子 = men('小李子','44','1.82m')
上面这个代码就是一个简单的类,其中 __init__,是必须要记住的(其中横线是两条下划线,前后都是),这个东西叫做初始化函数,就是每个类都会有的东西,而且它总是在第一个,而其中的self是一个参数,代表着你在实例化的时候实例本身,又因为它代表着实例本身,所以这个参数是必须有的,但是你又不用给它传参,因为你在实例化的时候就已经把参数给了它。#个人理解,欢迎指正。
![f2a154facba7cb1197de7f208d29554a.png](https://img-blog.csdnimg.cn/img_convert/f2a154facba7cb1197de7f208d29554a.png)
可以看到我给我的类的三个参数,可以通过一个英文句号以后按一下tab键后显示出来。
![fd2e8e64c5c2b43bdc3b20cd980b4916.png](https://img-blog.csdnimg.cn/img_convert/fd2e8e64c5c2b43bdc3b20cd980b4916.png)
class men:
def __init__(self,name,age,height):
self.name = name
self.age = age
self.height = height
def shuai(self):
print("这个dio今年19岁,他身高1.75m"
"他把胡歌和小李子实例化了。"
"哈哈哈")
dio = men('dio','19','1.75m')
胡歌 = men('胡歌','36','1.85m')
小李子 = men('小李子','44','1.82m')
print(f"{胡歌.name},{胡歌.age},{胡歌.height},{小李子.name},{小李子.age},{小李子.height}")
dio.shuai()
还可以在这里面继续放入函数,这个函数也可以通过tab键显示出来,只不过要注意这个函数括号里要加上self,因为在这个类里,你所做的,都是对于类的对象的。
![1231cc4f25cdffb32b92c3deb6fb0884.png](https://img-blog.csdnimg.cn/img_convert/1231cc4f25cdffb32b92c3deb6fb0884.png)
小结: 在学习类时,一开始也是懵懵懂懂,在结合书上的内容和网上的资料,还有各种讲解视频后,我终于是想开了,这篇先写到这里,后面会继续深入其他相关的东西。如果有不足的地方请大家指出,如果觉得有帮助的话点个赞同关注吧。