实例方法、类方法和静态方法区别

2023-05-16

 


class A:
# 实例方法:
  def f1(self):
    return 1
# 类方法:
  @classmethod
  def f2(cls):
    return 2
# 静态方法
  @staticmethod
  def f3():
    return 3
 
a = A()
 
a.f1() # => 1
A.f1(a) # => 1
a.f2() # => 2
A.f2() # => 2
a.f3() # => 3
A.f3() # => 3  
  • 实例方法(也叫成员方法,用于描述对象的固有行为):默认将当前实例对象传递为第一个参数
  • 类方法(类方法在定义时,方法在上面必须添加@classmethod):默认将当前类传递为第一个参数
  • 静态方法(静态方法在定义时,方法在上面必须添加@staticmethod): 没有默认的第一个参数

实例方法调用格式:

  对象名.方法名()

类方法调用格式:

  类名.方法名(参数) 推荐使用方法

  对象名.方法名(实参)不推荐使用

注意:

(1)类方法定义在勒种,不属于某个对象的具体行为,可以被所有对象共同使用的行为

(2)类方法中不允许使用实例变量和实例方法,实例方法中允许使用类变量和类方法,推荐使用类名调用

(3)实例方法中允许使用类变量和类方法

静态方法调用格式:

  类名.方法名(实参) 推荐使用

  对象名.方法名(实参)不推荐使用

转载于:https://www.cnblogs.com/maplethefox/p/11615190.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实例方法、类方法和静态方法区别 的相关文章

  • Ubuntu网络频繁掉线解决方案

    年底了 xff0c 实验室终于给配了个电脑 xff08 Ubuntu系统 xff09 xff0c 博主欣喜若狂啊 xff0c 然而装好后发现无线网频繁掉线 xff0c 重启网络后能正常上网2 3分钟然后又掉线 xff0c 再重启又能上网2
  • 【Linux基础】查看某一端口是否开放(1025为例)

    1 使用lsof 命令来查看端口是否开放 lsof i 1025 如果有显示说明已经开放了 xff0c 如果没有显示说明没有开放 lsof list open files 是一个列出当前系统打开文件的工具 在linux环境下 xff0c 任
  • Sublime Text 3下C/C++开发环境搭建

    Sublime Text 3下C C 43 43 开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text 1 Sublime Text 3安装 Ubuntu Linux Mint的软件管理器中已经能够
  • luogu p2651 添加括号Ⅲ

    题目描述 现在给出一个表达式 xff0c 形如a1 a2 a3 an 如果直接计算 xff0c 就是一个个除过去 xff0c 比如1 2 1 4 61 1 8 然而小A看到一个分数感觉很不舒服 xff0c 希望通过添加一些括号使其变成一个整
  • nigix的使用反向代理-负载均衡(2)

    原文参考 xff1a https blog csdn net zy1471162851 article details 91795712 tip nginx是一款高性能的http 服务器 反向代理服务器及电子邮件 xff08 IMAP PO
  • ubuntu系统下载

    cakao https blog csdn net kwame211 article details 83902851 官方下载地址 xff08 不推荐 xff09 https www ubuntu com download 中科大源 ht
  • Vivado中备份设计好的block design

    参考链接 https blog csdn net dimples song article details 81391615 前言 为了不每次都重新生成block design 避免重复劳动 可以使用直接复制原始工程的design bd块或
  • 完整记录一则Oracle 11.2.0.4单实例打PSU补丁的过程

    本文记录了打PSU的全过程 xff0c 意在体会数据库打PSU补丁的整个过程 1 OPatch替换为最新版本 2 数据库软件应用19121551补丁程序 3 数据库应用补丁 4 验证PSU补丁是否应用成功 1 OPatch替换为最新版本 o
  • 符号函数Sgn

    符号函数 目录 性质 功能 符号函数 定义 即数学上的Sgn 函数返回一个 整型变量 xff0c 指出参数的正负号 语法Sgn number xff0c number 参数是任何有效的数值表达式 返回值如果 number 大于0 xff0c
  • 把linux文件夹压缩成tar.gz的命令

    tar zcvf demo tar gz demo 把demo文件夹压缩成demo tar gz 转载于 https www cnblogs com jiqing9006 p 10893989 html
  • 逻辑回归(Logistic+Regression)经典实例

    机器学习算法完整版见fenghaootong github 房价预测 数据集描述 数据共有81个特征 SalePrice the property s sale price in dollars This is the target var
  • [转]redis服务器与客户端保活参数(tcp-keepalive)设置

    最近使用redis的list做跨进程的消息队列 xff0c 客户端使用的是redis cplusplus client 这个client库还是蛮好用的 xff0c 提供了和redis命令行一致的接口 xff0c 很方便 使用过程中发现下面一
  • debian 安装curl 很简单的一步完成

    在linux中打开网页肯定要用到curl命令 xff0c 但是看网上好多linux安装curl包的博客 xff0c 很麻烦 xff0c 而且运行到最后还出错了 xff0c 最后找到一个apt get 命令 xff0c 一句话搞定了 xff0
  • excel概率密度函数公式_正态分布基本概念及Excel实现

    正态分布 也称为高斯分布 是统计中最常用的连续分布 正态分布在统计中至关重要 xff0c 主要有以下三个原因 xff1a 商业中常见的许多连续变量的分布与正态分布非常相似 正态分布可用于近似各种离散的概率分布 由于正态分布与中心极限定理之间
  • python日期比较_python 时间比较方法总结

    1 xff0c 最近发现 xff0c python的datetime可以直接运用比较运算符进行大小比较 首先定义一组9月份日期数组 from datetime import datetime targets 61 9 1到9 30的日期数据
  • container java_Java容器(container)

    Java容器 container 容器可以管理对象的生命周期 对象与对象之间的依赖关系 xff0c 您可以使用一个配置文件 通常是XML xff0c 在上面定义好对象的名称 如何产生 Prototype 方式或Singleton 方式 哪个
  • matlab安装c盘吗,Matlab安装时的三种错误及其解决办法

    Matlab7 0安装时出现的错误主要分为三种 xff1a 安装前 安装中和安装后 1 安装前 当我们下载好Matlab7 0 http pan baidu com s 1o6BpcsM 安装包并解压后 xff0c 解压缩后里面有一个后缀名
  • 威联通如何备份文件服务器上,威联通NAS HBS 3套件,数据自动备份、同步教程...

    一 什么是 HBS 3 HBS 3 是 Hybrid Backup sync 3 的缩写 xff0c 意为混合型备份与同步中心 xff0c 主要是将数据备份 复原 同步等功能整合到单一 QTS 应用中 xff0c 让您可轻松将 QNAP N
  • 文件远程共享服务器上,远程文件共享服务器

    远程文件共享服务器 内容精选 换一换 文件系统创建完成后 xff0c 用户需在客户端挂载文件共享 xff0c 在本地共享目录和CSG的文件共享建立映射 xff0c 通过操作本地的目录实现对CSG共享目录的操作 xff0c 实现数据实时上云管
  • Jpeg交叉编译

    嵌入式开发 Jpeglib交叉编译 环境 下载源码 交叉编译 相关文件 问题 Jpeglib交叉编译 环境 环境与上一篇相同 上一篇只是简单实现了一个demo 后面需要将完整功能编译成库文件 因为用到libjpeg库 所以先要将jpeg库进

随机推荐