python 实例方法 类方法_Python实例方法 静态方法 类方法
@staticmethod和@classmethod的区别
class 类
@staticmethod
@classmethod
首先创建一个类,如果想要调用Student类中的方法get_score(),就需要先创建类的实例,然后再用类的对象再去调用方法
In [3]: class Student():
...: def __init__(self, name, score):
...: self.name = name
...: self.score = score
...: def get_score(self):
...: print('%s get %s ' % (self.name, self.score))
...:
...:
In [4]: student = Student('treehl', 100)
In [5]: student.get_score()
treehl get 100
@staticmethod和@classmethod一个是静态方法,另一个是类的方法,两个装饰器的作用都可以使类不必再创建实例,直接用类来调用方法(类名.方法())
它们使用上的区别
@staticmethod不需要传递self,也不需要cls参数,就跟使用函数一样(类名.方法()或类名.属性名)
@classmethod也不需要像实例方法一样要传递self,但它需要cls参数(cls.类名()或cls.方法()或cls.属性())
要理解这些,首先需要理解类属性和实例属性的区别
In [6]: class A():
...: bar = 1
...: def foo(self):
...: print 'foo'
...: @staticmethod
...: def static_foo():
...: print 'static_foo'
...: print A.bar
...: @classmethod
...: def class_foo(cls):
...: print 'class_foo'
...: print cls.bar
...: cls().foo()
...:
In [7]: A.static_foo()
static_foo
1
In [8]: A.class_foo()
class_foo
1
foo
python 实例方法 类方法_Python实例方法 静态方法 类方法相关推荐
- python写一个类方法_Python基础|类方法的强制重写与禁止重写
在Python中,类的继承与函数的重写,是我们再熟悉不过的知识点.但如何实现,方法的强制重写与禁止重写,这大概是很多初学者的一个知识盲区吧? 01 强制重写 需求:父类一个方法,强制子类去重写. 实现 ...
- python动态添加类方法_Python 动态添加类方法
习题: 1. Shape基类,要求所有子类都必须提供面积的计算,子类有三角形.矩形.圆. 2. 上题圆类的数据可序列化 第一种方法:使用Mixin多继承组合的方式,混入其它类的属性和方法 第二种方法: ...
- python 静态方法 类方法 的作用_Python实例方法、类方法、静态方法的区别与作用详解...
本文实例讲述了Python实例方法.类方法.静态方法的区别与作用.分享给大家供大家参考,具体如下: Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调 ...
- python静态变量和静态方法_python的静态成员变量、实例成员变量、静态方法、类方法、实例方法...
标签: 静态成员变量(类变量)和普通成员变量(实例变量) 静态成员变量只能通过类名.变量名获得,实例成员变量,通过该实例引用.变量名获得. 在实例对静态成员变量赋值时,实例 python是动态类型的语 ...
- python实例方法、类方法、静态方法的区别_Python 实例方法、类方法、静态方法的区别与作用...
Python 实例方法.类方法.静态方法的区别与作用 一.总结 一句话总结: 实例方法:第一个参数必须是实例对象,该参数名一般约定为"self",通过它来传递实例的属性和方法(也可 ...
- python静态方法可以被继承吗_python 类的继承 实例方法.静态方法.类方法的代码解析...
这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 dt={} class ...
- python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...
1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过"类名()& ...
- python通过对象不能调用类方法和静态方法_Python实例方法、类方法和静态方法
Python类的组成主要包含两个部分,类的属性和类的方法.类的属性是对数据的封装,这些数据是用来描述类所抽象的事物的特征:类的方法是用来表示对象的特定行为.Python的类的方法又可以进一步细分为三种 ...
- python 类可以调用实例变量_Python实例方法、类方法、静态方法区别详解
1.关于参数的区别 实例方法:定义实例方法是最少有一个形参 ---> 实例对象,通常用 self 类方法:定义类方法的时候最少有一个形参 ---> 类对象,通常用 cls 静态方法:定义静 ...
最新文章
- Windows下Redis如何永久更改密码
- vue create()获取ref_vue-next+typescript 初体验
- B端可视化:图表设计
- Python paho-mqtt消息队列
- mysql命令大全_Keeplived+mysql双master高可用如何实现?
- Markdown语法--整理
- nginx ---- 配置成系统服务
- Ubuntu gedit中文乱码-转
- HDU 1022 Train Problem I
- kubernetes Serverless、CaaS、FaaS是什么
- cximage函数总结
- 开发老铁们,就参考这个图灵畅销新书书单加购!
- 误删数据?如何快速恢复Oracle数据库
- HOG+ADABOOST方式训练头肩检测模型
- 不良事件总结怎么写_2017年第一季度不良事件总结分析
- 健康小贴士:喝酒时别点哪些菜_新闻中心_新浪网
- 宣州谢脁楼饯别校书叔云
- win10自带输入法突然变成了繁体,輸入法怎麼成繁體了?
- 无频闪护眼灯哪个好?盘点四款无频闪的护眼台灯
- PHP学习-3 端口开放
热门文章
- switch开关 ~ 学习记录
- nmon安装为什么重启mysql_Centos7部署nmon监控工具
- 【数据结构和算法笔记】队列(Queue)详解:c实现
- 网页自动切换html css js,HTML页面自动清理js、css文件的缓存(自动添加版本号)_HTML/Xhtml_网页制作...
- jQuery 学习-DOM篇(二):jQuery 在 DOM 内部插入元素
- oracle设置缓冲区大小设置,描述Oracle优化库高速缓冲区
- 形象解释 undefined 和 null 之间的区别
- 2022牛客寒假算法基础集训营1 签到题7题
- 无线信号拓展与覆盖的解决方案
- NYOJ64 - 鸡兔同笼