python方法、类方法和静态方法的区别
class A:
def f1():
pass
def f2(self):
pass
@classmethod
def f3(cls):
pass
@staticmethod
def f4():
pass print(type(A.f1), type(A.f2), type(A.f3), type(A.f4))
<class 'function'> <class 'function'> <class 'method'> <class 'function'>
可以看出,使用类A去调用时,f1/f2/f4是函数,f3是方法。
a = A()
print(type(a.f1), type(a.f2), type(a.f3), type(a.f4))
使用对象a去调用时,f1/f2/f3是方法,f4是函数
<class 'method'> <class 'method'> <class 'method'> <class 'function'>
python方法、类方法和静态方法的区别的更多相关文章
- Python 实例方法、类方法、静态方法的区别与作用
Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文. 首先,这三种方法都定义在类中.下面我先简单说一下怎么定义 ...
- python中的实例方法、类方法、静态方法的区别
Python 除了拥有实例方法外,还拥有静态方法和类方法,跟Java相比需要理解这个类方法的含义. class Foo(object): def test(self)://定义了实例方法 print( ...
- python 浅析类方法与静态方法
类方法,静态方法的定义 Python 是双面向的,既可以面向函数编程,也可以面向对象编程,所谓面向函数就是单独一个. py 文件,里面没有类,全是一些函数,调用的时候导入模块,通过模块名.函数名()即 ...
- python 用类方法和静态方法实现是追加写文件内容,和读指定行号的内容
用类方法和静态方法实现:一个是追加写文件一行内容,一个是读指定行号的内容 #coding=utf-8 class handle_file(object): def __init__(s ...
- python--类中的对象方法、类方法、静态方法的区别
1.对象方法:顾名思义,是对类实例化后的对象有效的,由对象调用 2.类方法:第一个参数是cls(当前类),是对当前类做的额外的处理,类方法需要用类去调用,而不是实例对象调用 3.静态方法:没有参数!没 ...
- python 面向对象 类方法,静态方法,property
property 内置装饰器函数 只在面向对象使用 把方法当初属性使用(方法不加参数) 例子: class Rectangle: def __init__(self,long,wide,color): ...
- python类的实例方法\静态方法\类方法区别解析(附代码)
前言 搞了好久python,一直搞得不太清楚这几种类的方法,今天花时间好好测试一下,算是弄懂点皮毛吧. 三种方法的不同 先剽窃个图看一下 可以看到,实例是三种方法都可以调用的,而类只可以调用两种.所以 ...
- 关于python的类方法、实例方法和静态方法区别
python的类方法需要在方法前面加装饰器:@classmethod ,静态方法是在方法前面加装饰器:@staticmethod. 类方法.类属性是属于类自身,属于类自身的命名空间,和实例方法.实例属 ...
- python中,类方法和静态方法区别。
面相对象程序设计中,类方法和静态方法是经常用到的两个术语. 逻辑上讲:类方法是只能由类名调用:静态方法可以由类名或对象名进行调用. 在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆. ...
- python中的类方法、静态方法、对象方法
注:以下都是以公有为前提,私有方法只能在类内部调用,不需多讲. 1.对象方法 这种方法都有一个默认参数:self 这代表实例的这个对象 def __init__(self): print(" ...
随机推荐
- webgl 系列 —— 绘制一个点(版本2、版本3、版本4、版本5)
绘制一个点 我们初步认识了 webgl,本篇主要围绕绘制一个点的示例,逐步实现下面功能: 点的位置从 js 传入着色器 点的大小由 js 传入着色器 通过鼠标点击绘点 通过鼠标点击绘点,并改变点的颜色 ...
- No.2.1
字体图标( 目的:使用字体图标技巧实现网页中简洁的图标效果) 字体图标展示的是图标,本质是字体,处理简单的.颜色单一的图片 优点:灵活性:灵活的修改样式,例如:尺寸,颜色等 轻量级:体积小,渲染快,降 ...
- div溢出横向滚动
需求:div在一行内需要溢出滚动 方案: 1:父类元素需要设置 overflow-x: auto; //横向方向溢出元素 white-space: nowrap; //溢出的元素不换行 2:子元素需 ...
- java学习日记20230301-API文档
JAVA API java application programming interinterface 应用程序编程接口,是java提供的基本编程接口 在线文档:https://www.matoo ...
- JSON字符串需Aes加密,加密为Hex
JSON字符串需Aes加密,加密为Hex 前端加密 后端加密 package com.iktapp.api.utils; import org.apache.commons.codec.Decoder ...
- Java面向对象之什么是面向对象?
面向过程 & 面向对象 面向过程思想 1.步骤清晰简单,第一步做什么,第二步做什么...... 2.面对过程适合处理一些较为简单的问题 面向对象思想 1.物以类聚,分类的思想模式,思考问题首先 ...
- Veeva_001常见问题总结
1.时间互动轴:其他代表与该医生的互动记录 2.Call的拜访流程 : 用户在Ipad端先制定计划拜访(已计划:青色)后,需手动同步到服务器上: 进入拜访详细,选择联系人和产品及相关拜访信息等,并'保 ...
- CentOS 7.9 环境下添加拥有 sudo 权限的用户
# 以root权限执行以下操作 # 添加用户 useradd vbird # 为用户设置密码 passwd vbird # Changing password for user vbird. # Ne ...
- 关于easyocr、paddleocr、cnocr之比较
关于easyocr.paddleocr.cnocr之比较 EasyOCR 是一个使用 Java 语言实现的 OCR 识别引擎(基于Tesseract).借助几个简单的API,即能使用Java语言完成图 ...
- [746] Interlude Update 3
[746] Interlude Update 3 Client 00 SendProtocolVersion 01 MoveBackwardToLocation 02 Say 03 RequestEn ...