文章目录

  • 前言
  • 类的构造
  • 类的方法

前言

本文介绍python中若干关于类的难题,这些问题或者概念竟然让人无法理解或者混淆。因而记录下来,若想到新的会继续更新。

类的构造

我们只知道__init__(),但是很多人却不知道__new__()。实际上,后者比前者先执行!

class A(object):def __new__(cls):print("new")return super().__new__(cls)def __init__(self):print("init")

补充知识:cls:class;self:自身。
cls是type的实例,self是cls的实例。所有类都继承自object这个类,类也就是cls,也就是说所有类都是type的实例。其中type也叫做元类,最高级。

回到这个问题,我们可以这么理解它们之间的关系,__new__执行完后,返回一个对象(self),然后交给 __init__完成初始化)。

类的方法

1.类中分为三种方法,1.静态方法2.类方法3.实例方法。

class A(object):a = 'a'@staticmethod#静态方法。def foo1(name):print("hello"+name)def foo2(self, name):#实例方法。print("hello"+name)@classmethod#类方法def foo3(cls, name):print("hello"+name)

可以看到,下面两个方法必须多加一个参数,分别是self和cls,否则运行时报错。

使用时需要注意的是:实例方法必须要构造类的实例之后才可以调用,其他两个可以不用。

然后产生了一个疑问,那么就是这个静态方法和类方法有什么不同,我目前的经验是好像没有什么不同。

python中若干关于类的问题相关推荐

  1. python创建类的实例方法-Python中动态创建类实例的方法

    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...

  2. Python中的元类是什么?

    元类是什么,我们将它们用于什么? #1楼 请注意,此答案适用于2008年编写的Python 2.x,元类在3.x中略有不同. 元类是使"类"工作的秘诀. 新样式对象的默认元类称为& ...

  3. python叫什么-python中什么叫类

    python中什么叫类? 可以视为种类或者类型的同义词.所有的对象都属于某一个类,称为类的实例. 例如:鸟就是"鸟类"的实例.这就是一个有很多子类的一般(抽象)类:看到的鸟可能属于 ...

  4. python简介怎么写-python中如何写类

    类的定义 Python中,定义类是通过class关键字,例如我们定义一个存储学生信息的类: class Student(object): pass class后面紧接着是类名,即Student,类名通 ...

  5. python中的定制类(转载)

    python中的定制类(转载)<?xml version="1.0" encoding="UTF-8"?> 看到类似__slots__这种形如__x ...

  6. Python中的元类及元类实现的单例模式

    https://www.cnblogs.com/tkqasn/p/6524879.html 在看一些框架源代码的过程中碰到很多元类的实例,看起来很吃力很晦涩:在看python cookbook中关于元 ...

  7. Python中的property类和@property装饰器

    Python中的property类和@property装饰器 在Python的类中,为了避免使用者直接在类的外部操作属性和方法,我们可以将属性和方法设置成私有属性和私有方法. 如果我们需要访问私有属性 ...

  8. python定义类的程序_python扫码签到程序python中如何定义类

    什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下: < ...

  9. python中如何调用类_python中如何调用类的方法

    类的方法的调用: 与普通的函数调用类似 1.类的内部调用:self.<方法名>(参数列表). 2.在类的外部调用:<实例名>.<方法名>(参数列表). 注意:以上两 ...

最新文章

  1. Linux终端:speedtest_cli检测你的实时带宽速度
  2. python数据笔记分析_利用 Python 进行数据分析学习笔记(一)
  3. React路上遇到的Bug
  4. Python 函数参数的分类及使用方法
  5. python免费入门_python入门 2018最新最全学习资料免费获取啦
  6. 软核、固核、硬核的区别【转】
  7. Java反射-继承关系
  8. 帆软报表(finereport)JS实现cpt中详细单元格刷新
  9. PHP 字符串编码处理 (附各语言的字符集编码范围)
  10. 2. 随机变量与概率分布
  11. 页面body元素#65279导致顶部空白一行解决方法
  12. 中国地图流动图(一)
  13. ActiveMQ 反序列化漏洞(CVE-2015-5254)
  14. 【论文翻译】InsetGAN :基于多个stylegan2-ada生成器拼接的全身人像生成(2203.InsetGAN for Full-Body Image Generation)
  15. 《Python编程:从入门到实践》最高温度, 最低温度可视化
  16. 程序员必知的8个Java开源IDE工具!你最钟意哪个?
  17. PHP项目实战之商品的增删改查
  18. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危害病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统
  19. python urlencode函数 adb打开,Python urlencode和unquote函数使用实例解析
  20. vue npm install --save-dev css-loader出现的错误

热门文章

  1. Fabrice Bellard:一个人抵得上一个百人团队
  2. 区块链论文: Bitcoin-NG: A Scalable Blockchain Protocol
  3. Intel SGX Remote Attestation实例代码安装和执行,笔记
  4. 深度学习1:生成模型的输入数据集和可视化
  5. 独家 | OpenCV1.12 对极几何和立体视觉简介(附链接)
  6. 大脑模拟NLP,高德纳奖得主Papadimitriou:神经元集合演算用于句子解析
  7. AI一键去纹身,几秒钟让你看见明星「真面目」
  8. 企业数智化转型与分析流程自动化(APA)
  9. 在线可玩 | 给AI一张高清照片,分分钟还你细节满满的3D人体模型,GitHub标星3.6k...
  10. 熬10天夜,肝出了这个PDF版“软件安装手册”(附下载)