python中静态变量和静态方法_【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)...
在java、c#等高级语言中我们用static来定义静态方法和静态变量,那么在python中如何定义静态方法和静态变量呢。
python提供了@classmethod和@staticmethod来定义静态方法,刚接触的时候不太明白,Stack Overflow提供了一个比较方便理解的解释,Stack Overflow回答。
但是看完还是不太理解,于是自己写了个实例:
class stclass():
d=1
#对象方法
def imethod(self):
print(self)
print("instance method")
#类方法
@classmethod
def cmethod(cls):
print(cls)
print("class method")
#静态方法
@staticmethod
def smethod():
print("static method")
sc = stclass()
sc.imethod()
sc.cmethod()
sc.smethod()
运行结果如下:
然后就可以解释了:
1、实例方法,该实例属于对象,该方法的第一个参数是当前实例,拥有当前类以及实例的所有特性。
2、类方法,该实例属于类,该方法的第一个参数是当前类,可以对类做一些处理,如果一个静态方法和类有关但是和实例无关,那么使用该方法。
3、静态方法,该实例属于类,但该方法没有参数,也就是说该方法不能对类做处理,相当于全局方法。
python中静态变量和静态方法_【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)...相关推荐
- python中静态变量的作用_小白必读文章之全局变量与静态变量
全局变量与静态变量 static 声明的变量在C语言中有两方面的特征: 1.变量被放在程序的全局存储区中,这样在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量的区别. 2.变量用s ...
- java中的静态变量的作用域_详解JAVA中static的作用
1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...
- python定义私有变量的方法_浅谈Python中的私有变量
私有变量表示方法 在变量前加上两个下划线的是私有变量.class Teacher(): def __init__(self,name,level): self.__name=name self.__l ...
- python中静态变量_Python中的静态变量和方法
python中静态变量 Defining static variable and method is a common programming concept and is widely used i ...
- python静态变量命名_为什么Python没有静态变量?
为什么Python没有静态变量? 有一个问题问如何在python中模拟静态变量. 另外,在网上可以找到许多创建静态变量的解决方案. (尽管我还没有看到我喜欢的一个.) 为什么Python不支持方法中的 ...
- java中静态变量和静态方法分别有什么特点?
java中静态变量和静态方法分别有什么特点? 悬赏分:0 - 解决时间:2006-4-10 10:28 提问者: vv_clear - 二级 最佳答案 为什么问了两次?再贴上另一篇 Thinking: ...
- java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序
1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...
- python 类中静态变量_Python中的类或静态变量
python 类中静态变量 Python类/静态变量 (Python Class / Static Variables) Class or Static variables are class-rel ...
- Java中静态变量与静态方法的继承
看下面的代码: public class Demo {public static void main(String[] args) {// 子类SonB继承父类Father,子类可以获取父类的所有属性 ...
- python局部静态变量_python如何设置静态变量
众所周知,Python语言并不支持静态变量,比如下面这样一个应用场景: void foo() { static int count = 0; count ++; } 在Python中无法自然实现这个功 ...
最新文章
- POJO、VO、PO、FormBean区别:
- R语言使用回归方法解决方差分析问题
- 赋值运算符||位运算符||三元运算符
- java三目运算符判断boonlean,java三元运算符
- 天气预报API接口 : 城市对应码(中国天气网)
- python书籍推荐:Python Cookbook第三版中文
- 读书笔记_Effective_C++_条款二十四: 若所有参数皆需类型转换,请为此采用non-member函数...
- Linux 下构建域名服务器
- oracle表中多个字段同时和另一个表中关联解决办法
- (转)在FlashBuilder里的ActionScript工程中使用Flash CS5中的类 fl.controls库
- Promise对象和运算符
- TSC打印机标签纸出纸位置调整方法
- dwm1000 用c语言控制,DWM1000 测距原理简单分析(示例代码)
- 【JS逆向破解】爬虫抓取哦oh漫画实例Java/Python实现
- android 印章,android 印章 控件
- Github 标星 3w+,热榜第一,使用 Python实现所有算法!
- SpringBoot版本GA,SNAPSHOT,PRE的的含义
- thinkPHP安装教程
- Mac 上怎么双开微信
- Echarts实现图表下钻
热门文章
- java并发编程_Java并发编程之 synchronized
- matlab建模实例运筹学,matlab数学建模实例与编程教程
- 如何打造一个TB级微服务海量日志监控平台
- 120000字,你们要的Java 并发编程图文小册整理出来了,免费送给大家!
- 2021年要关注这5个开源Kubernetes项目
- 注意!我们熟知的“摩尔定律”被废了...
- Containers vs Serverless:怎么选择?
- 百万并发下的Nginx,技术人不得不知的那些事
- 使用Consul做服务发现的若干姿势
- 极客时间VIP年卡,任意专栏免费看,谁要?