文档章节

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

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

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

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

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

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

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

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


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

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

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

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

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

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

  
 

© 著作权归作者所有

共有 人打赏支持
单蛙
粉丝 14
博文 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学习之面向对象高级编程

数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有很多高级特性,如:多重继承、定制类、元类等概念。 slots 作用:限制实例的属性。 Python允许在定义...

stone_zhu
06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

67:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

1、shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断、循环等语法: 可以自定义函数,目的是减少重复的代码: shell是系统命令的集合...

芬野de博客
32分钟前
1
0
json schema

json schema是用来验证和描述json对象结构的。 在线验证:https://www.jsonschemavalidator.net/ json schema 编辑器,推荐VSCode,写上"$schema": "https://raw.githubusercontent.com/jso......

谷永权
37分钟前
1
0
部署生产级的 Kubernetes 集群,使用kubespray

部署生产级的 Kubernetes 集群,使用kubespray 项目源码,https://github.com/openthings/kubespray 国内部署,https://github.com/zhangguanzhang/Kubernetes-ansible 欢迎加入 kubernetes......

openthings
44分钟前
0
0
73.分发系统介绍 expect脚本远程登录 执行命令 传递参数

20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数 20.27 分发系统介绍: 场景:业务越来越大。用的比如app,后端(也就是服务器)所使用...

王鑫linux
50分钟前
0
0
SpringBoot应用不能访问项目静态页面html问题处理

问题描述:SpringBoot搭建web应用在eclipse中启动能够正常访问页面,打包成jar之后不能访问到页面,没有任何出错提示。 环境:使用的是前后端分离架构,没有使用模板,前端html和静态文件放到...

奋斗小蜗牛
53分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部