python成员变量,成员函数的总结
先贴代码:
# encoding = UTF-8
class Test(object):value1 = 100 #静态成员变量def __init__(self): #构造函数self.value1 = 100 #成员变量value1,此处的value1和静态的value1不是同一个变量self.value2 = 200 #成员变量value2def getValue(self): #类函数print(self.value1) print(self.value2) def setValue(self): #类函数self.value1 = 1self.value2 = 2 def classfun(cls): #类方法print(Test.value1)print(cls.value1) #可以使用参数cls来访问静态成员变量,也可以使用 "类名.静态成员变量"访问#print(cls.value2) error // 在类方法中和C++一样, 不能使用非静态成员变量@staticmethoddef staticfun(): #类静态方法print(Test.value1) #print(Test.value2) error // 在类的静态成员函数中和C++一样, 不能使用非静态成员变量 if __name__ == "__main__":obj1 = Test()obj1.getValue()obj1.classfun()obj1.staticfun()print("-1")Test.value1 = 333print("-2")Test.classfun()print("-3")Test.staticfun()print("-4")obj2 = Test()print("-5")obj2.setValue()print("-6")obj2.getValue()print("-7")obj1.getValue()Test.staticfun()
测试结果:
100
200
100
100
-1
-2
333
-3
333
-4
-5
-6
1
2
-7
100
200
333
总结:
1 在python中,在类方法和类的静态成员函数中,不能访问非静态的成员函数。
2 在类的非静态成员函数中, 可以使用 类名.静态成员变量 访问类的静态成员变量,注意:
此时,如果在类的成员函数中,使用self.value3 (和静态成员变量名同名),那么这个value3也不是静态成员变量的那个value3
3 如果要访问类的静态成员变量必须使用 类名.变量名 的方式访问
4 类方法使用 @classmethod 说明
类的静态成员变量使用 @staticmethod 说明
5 类方法和静态成员函数十分相似。如果某个方法需要被其他实例共享,同时又要使用当前实例的属性,则定义该方法为类方法
6 建议使用self作为参数名,便于程序的阅读和统一,而对于类方法,约定使用cls作为参数名。其实,两者在形式上都可以用。
python成员变量,成员函数的总结相关推荐
- c2064 项不会计算为接受0个参数的函数_getMask()讨论:Abaqus Part对象的成员变量常用函数...
最近工作之余,想制作一个自动对多cell的Part进行skin并建立相应set的小插件.我的目的是对该Part中各个cell分别进行skin,以便于将来赋予不同的属性.这样可以有效的减少输出结果文件的 ...
- 如何在MFC线程中使用控件的成员变量和函数
比如说,在ListBox里我添加了一个CString类型的成员变量m_str,我想用m_str.GetCount或m_str.GetText之类的方法,但这些在线程中就不能用了. 使用控件的成员变量和 ...
- C++57个入门知识点_40 常成员函数(用于定义不可修改类内部成员变量的函数,一般用来修饰Get函数;常成员函数this指针:const T* const;常成员函数内部变量修改方法:强转/关键字)
前面我们已经学习了C++中重要的知识点,特别是虚函数可能会有些懵逼,但是需要我们在实践中不断的理解和尝试,写代码是进步最快的方式,接下来将会介绍一些简单但很重要的知识点,本篇介绍常成员函数. 总结: ...
- Python文本变量与函数的解析执行,增强自动化测试数据驱动
关注我,每天分享软件测试技术干货.面试经验,想要领取测试资料.进入软件测试学习交流群的可以直接私信我哦~~ 我们在使用Python进行自动化测试或者测试脚本开发时,通常会在代码中融入数据驱动设计,以便 ...
- python 私有变量和函数
使用下划线 一个单下划线 (_)开头的变量或函数是一个私有变量或函数,表示该变量或函数应该在类的内部访问,而不应在类的外部直接访问.这不是强制的,可以在外部访问单下划线开头的变量和函数,但是规范上这样 ...
- python中变量和函数的区别_关于python中带下划线的变量和函数 的意义
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...
- python中变量和函数的区别_python中带下划线的变量和函数的意义
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...
- 【C++】对象实例化/成员函数/成员变量的内存管理
文章目录 1. 对象实例化的内存管理 总结 2.C++成员函数在内存中的存储方式 3.C++类的实例化对象的大小之sizeof() 实例一: 实例二: 实例三: 实例四: 实例五: 实例六: 实例七: ...
- C++成员变量指针和成员函数指针【The semantics of funcitons】
原文:https://blog.csdn.net/laojiu_/article/details/68946915 (原文有笔误) 1. #include <cstdio> #includ ...
- C++ const成员变量和成员函数
const成员变量 const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字.初始化 const 成员变量只有一种方法,就是通过构造函数的初始化列表. co ...
最新文章
- 一份火爆全网的刷题笔记分享!offer 到手!
- matlab里数组的赋值,arrays – MATLAB结构赋值数组
- 4KB/2MB/1GB 4级/5级分页模式下的线性地址翻译以及CR3
- vue 子页面调用父页面的参数_Flutter子组件调用父组件方法修改父组件参数
- 随想录(用好红黑树)
- 开奖及送书|《Vue.js权威指南》
- LeetCode:10.regular-expression-matching(正则式表达)
- 两种include方式及filter中的dispatcher解析
- 最新友盟6.1.1集成遇到的坑,自定义分享界面实现(跳转控制器做分享)
- 2.啊哈!算法 --- 一大波数正在靠近——栈、队列、链表
- ARGOX 力象 OS-214Plus 条码打印机 B/S 打印
- 金蝶K3销售价格控制模块探讨
- 配电站房可视化巡检智能监控系统
- 计算机cad标题栏快捷键,CAD标题快捷键
- 蒟蒻的单调队列orz,真的蒻
- 大数据技术基础实验十三:Kafka实验——订阅推送示例
- Eclipse+Java+Swing+Mysql实现员工工资管理系统
- Android 手电筒的开启方法
- OSG场景漫游(一)
- DELL电脑开机自检提示please run setup program
热门文章
- java中文转Unicode
- Android 爱心万花筒简单实现
- struts2框架单文件、多文件上传实例详解
- AI驱动智能化日志分析 : 通过决策树给日志做聚类分析
- 【网络基础】《TCP/IP详解》学习笔记2
- 机器学习技法总结(六)Decision Tree Hypothesis
- Python 中非常狗的一个坑(在 `a={1:2},`后面多了一个逗号,自动被判为 tuple 类型了)
- C#笔记12 自定义集合和常用集合
- Objective-C(9)内存管理之ARC
- java中反复使用代码_Java代码复用规则