文档章节

python的静态成员变量、实例成员变量、静态方法、类方法、实例方法

单蛙
 单蛙
发布于 2015/06/10 15:48
字数 476
阅读 2288
收藏 10
静态成员变量(类变量)和普通成员变量(实例变量)

  静态成员变量只能通过类名.变量名获得,实例成员变量,通过该实例引用.变量名获得。

  在实例对静态成员变量赋值时,实例

  python是动态类型的语言,没有特别的标志区分静态成员变量和普通成员变量

  如果你使用类名.成员变量    那这个成员变量现在就是静态成员变量(类变量)

  如果你使用实例.成员变量    那这个成员变量现在就是普通成员变量(实例变量)

  实例变量的值是什么时候初始化的,实例变量并不是构造对象的时候初始化的,而是在第一次通过对象调用该实例变量的
  时候,从类变量此时的值拷贝过来的,此后便互不影响。


静态方法、类方法、实例方法
 
   实例方法,类中的普通方法,由实例调用

   类方法,被@classmethod装饰的方法,类对象和实例都可以调用类方法

   静态方法,被@staticmethod装饰的方法,类对象和实例都可以调用静态方法,静态方法不会对任何实例造成影响

   实例方法和类方法的区别是,实例方法的第一个参数是self(实例本身),类方法的第一个参数是cls(类对象本省)

   注意:这里的类对象和实例对象的意思是 type(类名)---classobj
                                           type(实例名)-instance

   个人感觉静态的概念在python中真的没多大用 ,因为这是个动态语言。

  
 

© 著作权归作者所有

共有 人打赏支持
单蛙
粉丝 15
博文 47
码字总数 17407
作品 0
海淀
程序员
私信 提问
关于Python的类成员和Javascript的原型

偶然发现两个的设计思路是一致的(个人理解,欢迎指正)。这里简要分析一下: Python的类成员,也就是直接定义在类里的变量(实例成员是用self.x直接声明的),而类方法就是用@classmethod说...

Shawphy
2011/08/30
0
2
Python面向对象编程之我见

面向对象基本概念 面向对象是一种编程范式。范式是指一组方法论。编程范式是一组如何组织代码的方法论。编程范式指的是软件工程中的一种方法学。 一些主流的编程范式: OOP - 面向对象编程 ...

bigstone2012
06/29
0
0
掌握面向对象编程本质,彻底掌握OOP

面向对象基本概念 面向对象是一种编程范式。范式是指一组方法论。编程范式是一组如何组织代码的方法论。编程范式指的是软件工程中的一种方法学。 一些主流的编程范式: OOP - 面向对象编程 ...

bigstone2012
07/26
0
0
SWIG入门4: C/C++初级特性2

1 structure 我看来,structure乃是封装之源。SWIG对于strucure的封装非常自然。自然的意思就是,C语言里怎么用PYTHON就怎么用。水里水里来,火里火里去。不过第一个问题就是,PYTHON作为面向...

costaxu
2012/08/18
0
1
python对象方法、类方法、静态方法

1、我们已经讨论了类/对象可以拥有像函数一样的方法,这些对象方法与函数的区别只是一个额外的self变量 # -- coding:utf-8 -- #!/usr/bin/python # Filename: method.py class Person: grade...

wenguonideshou
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用 React 和 Vue 创建相同的应用,他们有什么差异?

在工作中应用 Vue 之后,我对它有了相当深刻的理解。 不过,俗话说「外国的月亮比较圆」,我好奇「外国的」 React 是怎么样的。 我阅读了 React 文档并观看了一些教程视频,虽然它们很棒,但...

阿K1225
18分钟前
0
0
如何使用Kubernetes的configmap通过环境变量注入到pod里

在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念。 https://kubernetes.io/bl...

JerryWang_SAP
33分钟前
0
0
2天闭门培训|以太坊智能合约从入门到实战(北京)

2天培训 16个课时 探寻技术原理,精通以太坊智能合约开发 以太坊智能合约是现在应用的最广泛的区块链应用开发方式,HiBlock区块链社区针对以太坊智能合约的学习特别推出2天闭门研修班,通过2...

HiBlock
36分钟前
0
0
限定某个目录禁止解析php,限制user_agent,php相关配置

11月20日任务 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php相关配置 1.限定某个目录禁止解析php 核心配置文件内容 <Directory /data/wwwroot/www.123.com/upload> p...

hhpuppy
46分钟前
2
0
Spring的好文章

孤傲苍狼 https://www.cnblogs.com/xdp-gacl/p/4249939.html 跟我学spring http://jinnianshilongnian.iteye.com/blog/1413846 SpringIoc 和Spring Aop 代理模式: 静态代理 动态代理 cglib代......

wangwei2134
58分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部