导航:首页 > 编程语言 > python的类

python的类

发布时间:2022-01-17 11:30:08

‘壹’ python 类的定义

Python编程中类定义,代码如下:

class<类名>:
<语句>

定义类的专有方法:

__init__构造函数,在生成对象时调用
__del__析构函数,释放对象时使用
__repr__打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用
__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__称方

代码如下:

#类定义
classpeople:
#定义基本属性
name=''
age=0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight=0
#定义构造方法
def__init__(self,n,a,w):
self.name=n
self.age=a
self.__weight=w
defspeak(self):
print("%sisspeaking:Iam%dyearsold"%(self.name,self.age))

p=people('tom',10,30)
p.speak()

‘贰’ python类和函数的区别

可以有类方法(查查什么是class method),不需实例化也可以使用的。

python的类和函数的区别主要在于类可以有变量和各种方法,而函数没有。函数只能被运行,返回或者不返回值都可以。

模块如果没有把类声明为私有,其他模块就可以使用这个类,方法是import这个模块,然后用"模块名.类名"来调用。

‘叁’ python 类定义

self,作用是绑定,表示对类的实例化对象的绑定。比如实例化你这的Node类,n=Node(),如果方法traverse括号内不加self,当n.traverse()在Python执行则会变成n=traverse(n),然后就会报错。所以在Python里必须加self绑定。
你也可以用其他的,比如其他语言里用this,但都得有这么个参数来占位作为绑定。

[],表示列表的特征符。

那么这里的[self]即是让实例化对象n经过traverse得到的结果或者表达式后再将其转为列表。

比如整形数1,2。当我们用中括号把其包围,[1,2],那么其就成了列表。就这么回事。

还可以这样:int(self),tuple(self)等的。

其实很简单,别看到self就被唬住了。

我建议还是多看看面相对象编程那一快

‘肆’ python类的定义与使用是什么

类Class:用来描述具体相同的属性和方法的对象的集合。定义了该集合中每个对象所共有的属性和方法。对象是类的示例。

类定义完成时(正常退出),就创建了一个 类对象。基本上它是对类定义创建的命名空间进行了一个包装;我们在下一节进一步学习类对象的知识。原始的局部作用域(类定义引入之前生效的那个)得到恢复,类对象在这里绑定到类定义头部的类名(例子中是 ClassName )。

基本语法

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

以上内容参考:网络-Python

‘伍’ Python写类

创建类的方法比较简单,如下:

class Person:
注意,类的名称一般用大写字母开头,这是惯例。当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦。既然大家都是靠右走的,你就别非要在路中间睡觉了。
接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数。
复制代码 代码如下:
class Person:
def __init__(self, name, lang, website):
self.name = name
self.lang = lang
self.website = website
上面的类中,首先呈现出来的是一个名为:__init__()的函数,注意,这个函数是以两个下划线开始,然后是init,最后以两个下划线结束。这是一个函数,就跟我们此前学习过的函数一样的函数。但是,这个函数又有点奇特,它的命名是用“__”开始和结束。
请看官在这里要明确一个基本概念,类就是一种对象类型,和跟前面学习过的数值、字符串、列表等等类型一样。比如这里构建的类名字叫做Person,那么就是我们要试图建立一种对象类型,这种类型被称之为Person,就如同有一种对象类型是list一样。
在构建Person类的时候,首先要做的就是对这种类型进行初始化,也就是要说明这种类型的基本结构,一旦这个类型的对象被调用了,第一件事情就是要运行这个类型的基本结构,也就是类Person的基本结构。就好比我们每个人,在头脑中都有关于“人”这样一个对象类型(对应着类),一旦遇到张三(张三是一个具体人),我们首先运行“人”这个类的基本结构:一个鼻子两只眼,鼻子下面一张嘴。如果张三符合这个基本机构,我们不会感到惊诧(不报错),如果张三不符合这个基本结构(比如三只眼睛),我们就会感到惊诧(报错了)。
由于类是我们自己构造的,那么基本结构也是我们自己手动构造的。在类中,基本结构是写在__init__()这个函数里面。故这个函数称为构造函数,担负着对类进行初始化的任务。
还是回到Person这个类,如果按照上面的代码,写好了,是不是__init__()就运行起来了呢?不是!这时候还没有看到张三呢,必须看到张三才能运行。所谓看到张三,看到张三这样一个具体的实实在在的人,此动作,在python中有一个术语,叫做实例化。当类Person实例化后立刻运行__init__()函数。

‘陆’ python定义的类怎么用

python定义的类使用方法:

使用“obj=类名()”语句将类实例化,然后用“obj.函数名”就可以调用类里面定义的各种函数了

示例如下:

将Bili类实例化,然后就可以使用类里的函数

更多Python知识,请关注:Python自学网!!

‘柒’ python中如何定义类

一、类定义:

class <类名>:

<语句>

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性

如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象

类的私有属性:

__private_attrs两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问

在类内部的方法中使用时self.__private_attrs

类的方法

在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数

私有的类方法

__private_method两个下划线开头,声明该方法为私有方法,不能在类地外部调用

在类的内部调用slef.__private_methods

类的专有方法:

__init__构造函数,在生成对象时调用

__del__析构函数,释放对象时使用

__repr__打印,转换

__setitem__按照索引赋值

__getitem__按照索引获取值

__len__获得长度

__cmp__比较运算

__call__函数调用

__add__加运算

__sub__减运算

__mul__乘运算

__div__除运算

__mod__求余运算

__pow__称方

示例:

[python]view plain

‘捌’ python中的类定义

C++的事先规划数据和函数,其中实例数据部分,其实是在构造函数执行时执行,同理,你也可以把你的python的实例数据构造放在python的类构造函数__init__函数的最开始那部分,这样就比较清晰了.其执行也接近C++的类定义。至于其它的类对象成员数据属性也可以集中放置在类的最开始.类实例函数本身就比较清晰,静态函数也可以集中处理。

‘玖’ python类的全局变量

全局变量,是一个相对的概念,对于整个程序而言,有可以在整个程序的任何代码块中都能被访问的变量,被称作全局变量。也有在类中能够被该类的任何代码块都能访问到的变量,也被称作全局变量。所以这里是一个相对的概念。代码定义的fly变量以及构造方法中的long变量都是全局变量,因为在long之前加了一个self的前缀,所有在整个类中,该long变量也是全局变量,至少在该类中的任何地方都可以访问到该变量。全局变量被当做类的一个属性来存储,所以可以说直接通过.的访问方式直接访问,访问如下:
class G():
fly = False #类中的全局变量
def __init__(self):
selg._age = 1 #加一个下划线,是一种不成文的规定,意思是该变量是私有变量
self.long = 2 #普通变量
self.__width = 3 #有两个下划线,是一种“真”私有变量
def run(self):
r = 4 #局部变量
print("I am running!.")

阅读全文

与python的类相关的资料

热点内容
编译安装py 浏览:160
pythonchar转int 浏览:218
基于单片机的多组密码锁设计论文 浏览:106
华为云如何升级云服务器 浏览:211
生活垃圾压缩直运站 浏览:749
加密通道加密数据 浏览:820
次肋梁需要加密吗 浏览:744
安徽蚌端口社保卡号用哪个app 浏览:217
php手册下载哪个好 浏览:163
安卓转苹果为什么转不成功 浏览:226
华为荣耀系统编译 浏览:733
看板块app哪个好用 浏览:666
java即时编译结果怎么保存 浏览:911
java工程师在深圳 浏览:658
手机sql编译软件 浏览:524
外网服务器地址购买 浏览:994
空调压缩机电容价格 浏览:381
小程序选什么云服务器 浏览:656
如何把java编译回中文 浏览:777
天联软件服务器地址是什么 浏览:964