问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python class详解

发布网友 发布时间:2024-09-07 00:25

我来回答

1个回答

热心网友 时间:2024-10-20 05:54

1. 类(Class):

2. 对象(object):类的实例化为对象

类变量和实例变量

区别在于:

类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将其值改变,其他对象得到的就是改变后的结果;而实例变量属于对象私有,某一个对象将其值改变,不影响其他对象;

调用属性调用方法

注意:类里面的变量称之为属性,类里面的函数称之为方法

self的解释:

方法里面的self代表的是当前类的实例化后的对象

self不是只能叫self,其他的也可以,但规范来说都使用self,在此代码中,a就是实例化的对象,那么参数传递后,就相当于demo(a)将实例a中的数值传入demo方法中。

return 方法的返回值

和函数一样,代码遇到return下面就不在执行,会将值返回给调用处

没有return的方法,打印调用处的值为 None

用def语句创建函数时,可以用return语句指定应该返回的值,该返回值可以是任意类型。需要注意的是,return语句在同一函数中可以出现多次,但只要有一个得到执行,就会直接结束函数的执行。

函数中,使用return语句的语法格式如下

二、创建一个类

类的初始化:这里需要较多的知识,所以直接转载了我看过最好的关于这方面的文章,引自 Python 中类和实例的通俗讲解_Four_Infinite的博客-CSDN博客。注意,类的名称一般用大写字母开头,这是惯例。当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦。既然大家都是靠右走的,你就别非要在路中间睡觉了。接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数。

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()函数。

这里主要解释了为什么会有_init__()这个方法,它的目的就是把创建的类这个对象类型是什么样的具体说明。

在上面的代码中,建立的类Person,构造函数定义了这个类的基本结构:name,lang,website。注意观察:info=Person(“qiwsir”,”python”,”qiwsir.github.io”),这句话就是将类Person实例化了。也就是在内存中创建了一个对象,这个对象的类型是Person类型,这个Person类型是什么样子的呢?就是init()所构造的那样。在实例化时,必须通过参数传入具体的数据:name=”qiwsir”,lang=”python”,website=”qiwsir.github.io”。这样在内存中就存在了一个对象,这个对象的类型是Person,然后通过赋值语句,与变量info建立引用关系。

我这里的理解是在info对应着self, info.name就相当于self.name,而这里info.name=qiwsir,是将info.name赋值成了qiwsir,但是class里面的self.name值还是name

类的调用

热心网友 时间:2024-10-20 05:53

1. 类(Class):

2. 对象(object):类的实例化为对象

类变量和实例变量

区别在于:

类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将其值改变,其他对象得到的就是改变后的结果;而实例变量属于对象私有,某一个对象将其值改变,不影响其他对象;

调用属性调用方法

注意:类里面的变量称之为属性,类里面的函数称之为方法

self的解释:

方法里面的self代表的是当前类的实例化后的对象

self不是只能叫self,其他的也可以,但规范来说都使用self,在此代码中,a就是实例化的对象,那么参数传递后,就相当于demo(a)将实例a中的数值传入demo方法中。

return 方法的返回值

和函数一样,代码遇到return下面就不在执行,会将值返回给调用处

没有return的方法,打印调用处的值为 None

用def语句创建函数时,可以用return语句指定应该返回的值,该返回值可以是任意类型。需要注意的是,return语句在同一函数中可以出现多次,但只要有一个得到执行,就会直接结束函数的执行。

函数中,使用return语句的语法格式如下

二、创建一个类

类的初始化:这里需要较多的知识,所以直接转载了我看过最好的关于这方面的文章,引自 Python 中类和实例的通俗讲解_Four_Infinite的博客-CSDN博客。注意,类的名称一般用大写字母开头,这是惯例。当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦。既然大家都是靠右走的,你就别非要在路中间睡觉了。接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数。

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()函数。

这里主要解释了为什么会有_init__()这个方法,它的目的就是把创建的类这个对象类型是什么样的具体说明。

在上面的代码中,建立的类Person,构造函数定义了这个类的基本结构:name,lang,website。注意观察:info=Person(“qiwsir”,”python”,”qiwsir.github.io”),这句话就是将类Person实例化了。也就是在内存中创建了一个对象,这个对象的类型是Person类型,这个Person类型是什么样子的呢?就是init()所构造的那样。在实例化时,必须通过参数传入具体的数据:name=”qiwsir”,lang=”python”,website=”qiwsir.github.io”。这样在内存中就存在了一个对象,这个对象的类型是Person,然后通过赋值语句,与变量info建立引用关系。

我这里的理解是在info对应着self, info.name就相当于self.name,而这里info.name=qiwsir,是将info.name赋值成了qiwsir,但是class里面的self.name值还是name

类的调用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这是个成本会计题,马上要考这道原题了,求大虾帮忙 财务管理类问题,求大虾帮忙,小弟感激不尽。具体问题看问题补充。_百度... 光影魔术手怎么换底色 光影魔术手换底色教程 ...米的绳子围绕一棵树干饶了6圈,还余下1.16米,这棵树干上的直径大约是... ...还余下1.16米,这棵树的树干的直径大约是多少米?求算式! ibm x3500 M5 服务器 运行时风扇声音好大,吵死了,可以下掉一个吗... IBMX3500 M5,最近老是出现自动关机的情况,需要把服务器电源拔掉半分钟... 治疗萎缩性胃炎的方法 怎么治萎缩胃炎 JYF-40FS06电饭煲190块买的是假的吗 python中class类的用法(python中class) 隆尧县县情概况 华为手环B2怎么与手机配对连接? 钱要用在有用的地方 电脑一起看电影的软件 三合面窝头的比例是多少 有什么可以两人一起看的软件吗? 有阜阳到广州东的火车票吗 磨粒流加工 阜阳-广州的火车票明天有吗 病中书事李煜诗 医保缴费怎么补交费 你如何看待李煜在成为阶下囚前后的词作成就? 合同到期不续约需要提前说吗 为什么脸上老爱出油 脸上出油不止怎么办 有哪些方法可以减少脸部出油的情况? E牌摩托车驾照过期四年了,档案会不会注销?能否再审? 最近听说,在梧州办的摩托车驾照去到广东不能用,请问有这么一回事吗... 末不能弃,末不惹起什么意思? 中药补气血要怎么调理呢 三十多岁女人喝中药补气血不足管用吗 阴性植物常见的喜阴植物 惊蛰余小晚被谁毁了清白 西藏阿印旅游路线攻略图 当年为了看网红卸妆的样子,富豪砸下400万让“迪丽拉”卸妆,结果怎样... 惊蛰余小晚怎么会怀孕 最新!2023浦东新区小学、初中排名及对口小区公布!(收藏篇) 闵行落户年限较短的梯队学校 百年育才能做艺术生高考志愿填报吗? 论述题 在德育实践中,选择和运用德育手段,方法需要着重考虑哪些方面 幼儿园毕业祝福语感谢老师100句文案摘抄 包粽子的意义 粽子的话语 包粽子活动目的 粽子的来历简短介绍 鸡肉对于身体健康有哪些好处? 鸡肉对身体有哪些好处? 形容对一个男人彻底心凉失望句子 什么样的网线传输的是数字信号?