python类变量与构造函数的使用
class MyObject(object):
x = 1
def __init__(self):
objectNum = 99
def changeNum(self, anotherNum):
self.objectNum = anotherNum
def showNum(self):
print("self.num = ", self.objectNum)
obj = MyObject()
obj.showNum()
Traceback (most recent call last):
File "class.py", line 24, in <module>
obj.showNum()
File "class.py", line 20, in showNum
print("self.num = ", self.objectNum)
AttributeError: 'MyObject' object has no attribute 'objectNum'
obj = MyObject()
obj.changeNum(10)
obj.showNum()
>>> self.num = 10
class ExampleClass:
def createObjectProperty(self, value):
self.newObjectProperty = value
class MyObject(object):
x = 1
def __init__(self):
self.objectNum = 99
def changeNum(self, anotherNum):
self.objectNum = anotherNum
def showNum(self):
print("self.num = ", self.objectNum)
class MyObject(object):
x = 1
def __init__(self):
self.objectNum = 99
def changeNum(self, anotherNum):
self.objectNum = anotherNum
def showNum(self):
print("self.num = ", self.objectNum) obj = MyObject() print(MyObject.x)
>>> 1
MyObject.x = 100
print(MyObject.x)
>>> 100
t1 = MyObject()
print(t1.x)
>>> 1
t2 = MyObject()
print(t2.x)
>>> 1
MyObject.x = 1000
print(t1.x)
>>> 1000
print(t2.x)
>>> 1000
t1.x = 2000
print(t2.x)
>>>1000
print(t1.x)
>>>2000
print(MyObject.x)
>>>1000
t2 = MyObject()
t1 = MyObject() print(MyObject.x is t1.x)
>>>True
print(MyObject.x is t2.x)
>>>True
print(t2.x is t1.x)
>>>True
---------------------------------------
t2 = MyObject()
t1 = MyObject() t2.x = 10
print(MyObject.x is t1.x)
>>>True
print(MyObject.x is t2.x)
>>>False
print(t2.x is t1.x)
>>>False
--------------------------------------
t2 = MyObject()
t1 = MyObject() MyObject.x = 100
t2.x = 10
print(MyObject.x is t1.x)
>>>True
print(MyObject.x is t2.x)
>>>False
print(t2.x is t1.x)
>>>False
构造函数中定义了类的成员变量,类的成员变量一定是在构造函数中以self.开头的变量!
成员函数中可以调用成员变量和类变量!成员函数的形参在类的实例调用该函数时传递,成员函数的局部变量在该成员函数内部定义。调用成员函数和调用普通函数一样,只是成员函数由该函数对应的类调用,即需要写成xxxx.func()而不是直接使用func()!
python类变量与构造函数的使用的更多相关文章
- python 类变量 在多线程下的共享与释放问题
最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到 内存释放问题,导致越累越大 1.python 类变量 在多线程情况 下的 是共享的 2.python 类变量 在多线程情况 ...
- Python 类变量和成员变量
Python 类变量和成员变量 类与对象的方法 我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分.事实上,它们只是与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提 ...
- Python中的构造函数
Python中的构造函数是__init__函数.在Python中,子类如果定义了构造函数,而没有调用父类的,那么Python不会自动调用,也就是说父类的构造函数不会执行. 比如有test.py的mod ...
- python 类变量 在多线程下的共享与释放问题-乾颐堂
最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到 内存释放问题,导致越累越大 1.python 类变量 在多线程情况 下的 是共享的 2.python 类变量 在多线程情况 ...
- 第7.13节 案例详解:Python类变量
第7.13节 案例详解:Python类变量 上节介绍了类变量的定义和使用方法,并举例进行了说明.本节将通过一个更完整的例子来说明. 一. 定义函数dirp def dirp(iter): ret ...
- 第7.12节 可共享的Python类变量
第7.12节 可共享的Python类变量 一. 引言 在上节已经引入介绍了类变量和实例变量,类体中定义的变量为类变量,默认属于类本身,实例变量是实例方法中定义的self对象的变量,对于每个实例都 ...
- 关于python类变量和实例变量
今天在看python的类和实例的时候,突然发现了一个以前遗漏的点,也就是类变量和实例变量.首先需要理解一下类变量和实例变量的概念. 类全局变量:在类中定义,对类和由类生成的实例生效,如果通过方法对类变 ...
- python中的构造函数和析构函数
python中的特殊方法,其中两个,构造函数和析构函数的作用: 比说“__init__”这个构造函数,具有初始化的作用,也就是当该类被实例化的时候就会执行该函数.那么我们就可以把要先初始化的属性放到这 ...
- Python类变量,实例变量,类方法,实例方法,静态方法的分析
Python作为动态语言,跟静态语言如c/c++有很大区别,其中的一个重要的特性就是Python的变量无需声明直接可用.同样,类的成员变量无需声明,直接可用.目的是为了动态语言跟灵活,在思路想到的时候 ...
随机推荐
- [Sdoi2013]森林(启发式合并+主席树)
对于操作1,显然可以使用主席树维护,然后对于一条链(x,y),假设lca为f,根为rt,则(rt,x)+(rt,y)-(rt,f)-(rt,fa[f])即为所求的链,在主席树上直接查询即可,查询方式类 ...
- [USACO09OCT]谷仓里的回声Barn Echoes(hush、STL)
https://www.luogu.org/problem/P2957 题目描述 The cows enjoy mooing at the barn because their moos echo b ...
- itop4412开发版-安卓系统卸载默认apk使用文档
itop4412开发版的安卓系统默认不是最高权限,可以看见后面最后一个是$符号,如下图 1,所以 想我们需要进入 root 权限,可以看见后面最后一个是#符号,如下图所示.在这个变换中只需 要在超级终 ...
- Exception in thread "main" java.lang.AbstractMethodError
参考https://stackoverflow.com/questions/15758151/class-conflict-when-starting-up-java-project-classmet ...
- 17)C++开始--命名空间
命名空间:就是区分同一个名字,在不同的作用域的变量 代码展示 #include<iostream> namespace spaceA{ ; namespace spaceB{ struct ...
- 吴裕雄--天生自然python机器学习:机器学习简介
除却一些无关紧要的情况,人们很难直接从原始数据本身获得所需信息.例如 ,对于垃圾邮 件的检测,侦测一个单词是否存在并没有太大的作用,然而当某几个特定单词同时出现时,再辅 以考察邮件长度及其他因素,人们 ...
- ubuntu .bashrc文件添加jdk后无法登录的解决方案
1. 快捷键(ctl-alt-f2)进入虚拟终端 2. 执行export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/ ...
- 多因素线性回归|adjusted R^2|膨胀系数|非线性回归|Second-order model with 1 independent variable|Interaction model with 2 independent variables|偏相关|fraction[a]|contribution
多因素线性回归 系数由最小二乘法得到 R^2;adjusted R^2:变量变多之后,r^2自然变大,但是这不是反应客观事实,所以引入了adjusted R^2 使用散点图看独立性,也可以使用软件,c ...
- 转:lightGBM的黑科技--plot函数
本来想研究一下lightGBM的plotting相关的接口,发现网上已经有人做了,而且还挺不错的(lightGBM的黑科技--plot函数),就直接给转过来了 # -*- coding: utf-8 ...
- 线程中调用service方法出错
public class PnFileTGIComputeThread implements Runnable { @Resource private AppUsedService appUsedSe ...