python中类是什么意思

  介绍

这篇文章主要介绍了python中类是什么意思,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

可以视为种类或者类型的同义词。所有的对象都属于某一个类,称为类的实例。

例如:鸟就是“鸟类“的实例。这就是一个有很多子类的一般(抽象)类:看到的鸟可能属于子类“百灵鸟“。可以将“鸟类“想象成所有鸟的集合,而“百灵鸟类“是其中的一个子集。当一个对象所属的类是另外一个对象所属类的子集时,前者就被称为后者的子类,所以“百灵鸟类“是“鸟类“的子类,“鸟类“是“百灵鸟类“的超类

定义子类只是个定义更多方法的过程。

祝辞祝辞祝辞类人:def setName(自我、名称):   self.name=名字def getName(自我):返回self.name def问候(自我):打印“你好,世界!我# 39;m % s"% self.name   在在在foo=人()在祝辞祝辞酒吧=人()在祝辞祝辞foo.setName (& # 39; nsd # 39;)在祝辞祝辞bar.setName (& # 39; Ysdy& # 39;)在祝辞祝辞foo.greet ()   你好,世界!,我# 39;m Nsds>的在比;bar.greet ()   你好,世界!我# 39;m Ysdy

在调用foo的setName和迎接函数时,foo自动将自己作为第一个参数传入函数中,因此命名为自我。没有自我的话,成员方法就没法访问他们要对其特性进行操作的对象本身了

特性是可以外部访问的:

祝辞祝辞祝辞foo.name& # 39; nsd # 39;在祝辞祝辞bar.name=& # 39;尤达# 39;在祝辞祝辞bar.greet ()   你好,世界!我# 39;m尤达

特性,函数,方法

自我参数事实上正是方法和函数的区别。方法将它们的第一个参数绑定到所属的实例上,因此这个参数可以不必提供。所以可以将特性绑定到一个普通函数上,这样就不会有特殊的自我参数了:

(特性是对象内部的变量,对象的状态由它的特性来描述,对象的方法可以改变它的特性,可以直接从对象外部访问特性)

祝辞祝辞祝辞类类:def方法(自我):打印& # 39;我有一个自我! & # 39;      在在在def函数():打印“我不# 39;t…“在祝辞祝辞s=类()在祝辞祝辞s.method ()   我有一个自我!在祝辞祝辞s.method=function>在祝辞s.method ()   以前我不# 39;t…

变量鸟鸣引用绑定方法的鸟。唱上,还是对自我参数的访问(仍旧绑定到类的相同实例上)

祝辞祝辞祝辞类鸟:   歌=& # 39;Squaawk& # 39;   def唱(自我):打印self.song   在在在鸟鸟=()在祝辞祝辞bird.sing ()   ,Squaawk>的在比;鸟鸣声=bird.sing>在祝辞鸟鸣声()   Squaawk

在名称前加上双下划线,可以让方法或者特性变为私有(从外部无法访问)

祝辞祝辞祝辞类的秘密:def __inaccessible(自我):打印“打赌你停下来# 39;t见我……“   def访问(自我):打印“秘密消息:“   self.__inaccessible ()   在在在s=秘密()在祝辞祝辞s.__inacessible ()      回溯(最近的电话):   文件“& lt; pyshell # 182的在“,1号线,在& lt; module>   s.__inacessible ()   AttributeError: & # 39;秘密# 39;对象没有属性& # 39;__inacessible& # 39;在祝辞祝辞s.accessible ()   机密信息是:   打赌你停下来# 39;t见我…

在类的内部定义中,所有以双下划线开的名字都被“翻译“成前面加上单下划线和类名的形式

祝辞祝辞祝辞Secretive._Secretive__inaccessible

类的命名空间

定义类时,所有位于类语句中的代码都在特殊的命名空间中执行- - -类的命名空间。这个命名空间可由类内所有成员访问。

类的定义其实就是执行代码块

祝辞祝辞祝辞=+=1         在在在m1=在在在在在在1   在在在m1.members=2   在祝辞祝辞2   在在在m2=在在在在在在2   在在在在在在3   在祝辞祝辞2   祝辞祝辞祝辞

新成员值被写到了m1的特性中,屏蔽了类范围内的变量

超类

祝辞祝辞祝辞类过滤器:def init(自我):   自我。阻塞=[]def过滤器(自我,序列):返回[x x序列如果不在self.blocked)   在在在类SPAMFilter(过滤器):def init(自我):   self.blocked=[& # 39;垃圾邮件# 39;】   在在在f=过滤器()在祝辞祝辞f.init()在祝辞祝辞f.filter ([1, 2, 3])   (1、2、3)在祝辞祝辞s=SPAMFilter()在祝辞祝辞s.init()在祝辞祝辞s.filter([& # 39;垃圾邮件# 39;& # 39;垃圾邮件# 39;,& # 39;蛋# 39;,& # 39;名字# 39;,& # 39;ff # 39;])   [& # 39;蛋# 39;& # 39;名字# 39;,& # 39;ff # 39;]

python中类是什么意思