python中若干关于类的问题
文章目录
- 前言
- 类的构造
- 类的方法
前言
本文介绍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中若干关于类的问题相关推荐
- python创建类的实例方法-Python中动态创建类实例的方法
简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...
- Python中的元类是什么?
元类是什么,我们将它们用于什么? #1楼 请注意,此答案适用于2008年编写的Python 2.x,元类在3.x中略有不同. 元类是使"类"工作的秘诀. 新样式对象的默认元类称为& ...
- python叫什么-python中什么叫类
python中什么叫类? 可以视为种类或者类型的同义词.所有的对象都属于某一个类,称为类的实例. 例如:鸟就是"鸟类"的实例.这就是一个有很多子类的一般(抽象)类:看到的鸟可能属于 ...
- python简介怎么写-python中如何写类
类的定义 Python中,定义类是通过class关键字,例如我们定义一个存储学生信息的类: class Student(object): pass class后面紧接着是类名,即Student,类名通 ...
- python中的定制类(转载)
python中的定制类(转载)<?xml version="1.0" encoding="UTF-8"?> 看到类似__slots__这种形如__x ...
- Python中的元类及元类实现的单例模式
https://www.cnblogs.com/tkqasn/p/6524879.html 在看一些框架源代码的过程中碰到很多元类的实例,看起来很吃力很晦涩:在看python cookbook中关于元 ...
- Python中的property类和@property装饰器
Python中的property类和@property装饰器 在Python的类中,为了避免使用者直接在类的外部操作属性和方法,我们可以将属性和方法设置成私有属性和私有方法. 如果我们需要访问私有属性 ...
- python定义类的程序_python扫码签到程序python中如何定义类
什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下: < ...
- python中如何调用类_python中如何调用类的方法
类的方法的调用: 与普通的函数调用类似 1.类的内部调用:self.<方法名>(参数列表). 2.在类的外部调用:<实例名>.<方法名>(参数列表). 注意:以上两 ...
最新文章
- Linux终端:speedtest_cli检测你的实时带宽速度
- python数据笔记分析_利用 Python 进行数据分析学习笔记(一)
- React路上遇到的Bug
- Python 函数参数的分类及使用方法
- python免费入门_python入门 2018最新最全学习资料免费获取啦
- 软核、固核、硬核的区别【转】
- Java反射-继承关系
- 帆软报表(finereport)JS实现cpt中详细单元格刷新
- PHP 字符串编码处理 (附各语言的字符集编码范围)
- 2. 随机变量与概率分布
- 页面body元素#65279导致顶部空白一行解决方法
- 中国地图流动图(一)
- ActiveMQ 反序列化漏洞(CVE-2015-5254)
- 【论文翻译】InsetGAN :基于多个stylegan2-ada生成器拼接的全身人像生成(2203.InsetGAN for Full-Body Image Generation)
- 《Python编程:从入门到实践》最高温度, 最低温度可视化
- 程序员必知的8个Java开源IDE工具!你最钟意哪个?
- PHP项目实战之商品的增删改查
- 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危害病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统
- python urlencode函数 adb打开,Python urlencode和unquote函数使用实例解析
- vue npm install --save-dev css-loader出现的错误
热门文章
- Fabrice Bellard:一个人抵得上一个百人团队
- 区块链论文: Bitcoin-NG: A Scalable Blockchain Protocol
- Intel SGX Remote Attestation实例代码安装和执行,笔记
- 深度学习1:生成模型的输入数据集和可视化
- 独家 | OpenCV1.12 对极几何和立体视觉简介(附链接)
- 大脑模拟NLP,高德纳奖得主Papadimitriou:神经元集合演算用于句子解析
- AI一键去纹身,几秒钟让你看见明星「真面目」
- 企业数智化转型与分析流程自动化(APA)
- 在线可玩 | 给AI一张高清照片,分分钟还你细节满满的3D人体模型,GitHub标星3.6k...
- 熬10天夜,肝出了这个PDF版“软件安装手册”(附下载)