目录

  • 一、绑定方法

    • 1.1 对象的绑定方法
    • 1.2 类的绑定方法
    • 1.3 类的绑定方法用在什么地方?
  • 二、非绑定方法(静态方法)
    • 2.1 非绑定方法用在什么地方?

类中定义的方法大致可以分为两类:绑定方法和非绑定方法。其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法。

一、绑定方法

对象的绑定方法/类的绑定方法

1.1 对象的绑定方法

在类中没有被任何装饰器修饰的方法就是 绑定到对象的方法,这类方法专门为对象定制。

通常说的绑定方法都是对象的绑定方法,因为类创建时默认就是对象的绑定方法。

当对象调用时,不需要传递第一个参数。

1.2 类的绑定方法

类中使用 @classmethod 修饰的方法就是绑定到类的方法。这类方法专门为类定制。通过类名调用绑定到类的方法时,会将类本身当做参数传给类方法的第一个参数

类的绑定方法,也可以由对象来调

class Person:def __init__(self,name,age):print(self)self.name=nameself.age=age@classmethod    # 使用 @classmethod 装饰器,变为类的绑定方法def test(cls):print(cls)print('类的绑定方法')#类实例化产生对象,返回return cls('lqz',19)# 使用类绑定方法
per1=Person.test()# 通过对象调用类绑定方法
per2=Person('xc',18)
per2.test()

1.3 类的绑定方法用在什么地方?

不需要通过对象,只需要通过类就能完成某些事的时候,就把该方法定义为类的绑定方法

二、非绑定方法(静态方法)

在类内部使用 @staticmethod 修饰的方法即为非绑定方法,这类方法和普通定义的函数没有区别,不与类或对象绑定,谁都可以调用,且没有自动传值的效果

静态方法不属于任何人的绑定方法,就是个普通函数。但是别人一样可以使用

class Person:def __init__(self,name, age):self.id=self.get_uuid()self.name = nameself.age = age#当成一个普通函数,只不过是写在类内部的@staticmethoddef static_method():print('我是静态方法,谁都不绑定')@staticmethod# 生成一个唯一的id号def get_uuid():import uuidreturn uuid.uuid4()# 类来调用静态方法
Person.static_method()# 对象来调用静态方法
p=Person('xc',19)
p.static_method()

2.1 非绑定方法用在什么地方?

当这个方法,跟类和对象都没有关系的时候,可以定义成静态方法,一般在类内部使用,类外部也可以使用

就是一个普通函数,想把它拿到类中管理,就可以定义成静态方法

转载于:https://www.cnblogs.com/XuChengNotes/p/11429730.html

093 类和对象的绑定方法和非绑定方法相关推荐

  1. 全面解析python类的绑定方法与非绑定方法(转载+自己的消化与理解)

    参考链接来自: https://www.cnblogs.com/vipchenwei/p/7126772.html#_label1 先说下,这篇文章中,其实有这么个事情: 也就是,该文章有的函数后面没 ...

  2. Python基础教程:绑定方法和非绑定详细用法

    绑定和方法调用 1.首先,方法仅仅是类内部定义的函数.(这意味着方法是类属性而不是实例属性) 2.其次,方法只有在其所属的类拥有实例时,才能被调用.当存在一个实例时,方法才被认为是绑定到那个实例了.没 ...

  3. python:绑定方法和非绑定方法

    类中定义的方法大致可以分为两类:绑定方法和非绑定方法.其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法. 一.绑定方法 1.1 对象的绑定方法 在类中没有被任何装饰器修饰的方法就是 绑定到对象的 ...

  4. 绑定方法和非绑定方法

    绑定方法 绑定方法:绑定给谁就是给谁用 绑定到对象的方法:凡是在类中定义的函数(没有被任何装饰器修饰),都是绑定给对象用的:特点:obj.bar()自动把obj当作第一个参数传入. 绑定到类的方法:在 ...

  5. Day20:绑定方法与非绑定办法、多态和多态性

    一.绑定方法与非绑定方法 类中定义的函数分成两大类: 1.绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法. 为类量身定 ...

  6. python_day7 绑定方法与非绑定方法

    在类中定义函数如果 不加装饰器 则默认 为对象作为绑定方法 如果增加 classmethod 是 以 类 作为绑定方法 增加 classmethod 是 非绑定方法,就是不将函数 绑定 ####### ...

  7. Day7 子类调用父类的方法supper 绑定方法与非绑定方法

    supper:可以利用supper来重用父类的方法,可以不用指名道姓的调用了. 1 class OldboyPeople: 2 school = 'oldboy' 3 def __init__(sel ...

  8. python123怎么绑定慕课_python学习30——绑定方法与非绑定方法

    一 绑定方法与非绑定方法 ​ 类中定义的函数分为两大类:绑定方法和非绑定方法 ​ 其中绑定方法又分为绑定到对象的对象方法和绑定到类的类方法. ​ 在类中正常定义的函数默认是绑定到对象的,而为某个函数加 ...

  9. static方法与非static方法是否可以互相调用

    情况一.static方法调用非static方法 非静态方法只有实例对象才可调用,而静态方法随着类的加载而加载,类的加载在实例对象产生之前,所以静态方法不能调用非静态方法 情况二.非atic方法调用st ...

  10. salesforce lightning零基础学习(三) 表达式的!(绑定表达式)与 #(非绑定表达式)

    在salesforce的classic中,我们使用{!expresion}在前台页面展示信息,在lightning中,上一篇我们也提及了,如果展示attribute的值,可以使用{!v.expresi ...

最新文章

  1. testng提供的Assert类断言使用
  2. html5 2015,2015年有用的16大免费的响应式HTML5框架
  3. 小小智慧树机器人_最萌“警察”来袭!5G警务机器人亮相厦门中山路!
  4. bzoj 3632: 外太空旅行(随机)
  5. openpythonxl_常用模块之openpyxl (python3入门)
  6. 第12章 决策树 学习笔记下 决策树的学习曲线 模型复杂度曲线
  7. Mac 版pr 破解教程,亲测可行。
  8. 如何利用魔棒工具抠图_PS怎么抠图?魔棒工具抠图详细步骤教程-Photoshop教程
  9. 网络安全之认证,数字签名,报文摘要
  10. greenplum的主机名更改导致无法启动问题解决
  11. Java之OutOfMemoryError简单分析
  12. 张大哥笔记-如何利用网络赚钱(20种网络赚钱方法推荐)
  13. 现在计算机怎样读硬盘端口,组装电脑之硬盘识别篇
  14. Praat将连续录制的声音文件切成小单位文件
  15. 高速总线之一:XAUI 接口
  16. SuSE含义以及发音
  17. hc-05蓝牙模块使用问题
  18. Unity 角色血条
  19. 有趣的问题:键盘打字如何显示到屏幕中?
  20. 计算机装固态硬盘会不会卡,装上SSD的电脑还是卡?只要2步即可彻底解决卡顿,电脑运行如飞!...

热门文章

  1. Leetcode376.摆动序列
  2. docker-hub改版之后死活无法生成删除镜像的解决方法
  3. IDEA 常用快捷键 常用插件 1
  4. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_09-freemarker基础-内建函数
  5. android9.0 framewrok.jar push到system/framework不起作用,解决方式
  6. http实时推送技术
  7. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_7 获取Servlet原生的API
  8. 阶段3 2.Spring_03.Spring的 IOC 和 DI_13 课程知识梳理
  9. Django在Window下的部署
  10. memcached编译安装和简单操作