在此python代码中查找静态,实例和局部变量

这是在InfyTQ模拟测试中询问的python代码的问题。

class classOne:
  __var_one = 1001

  def __init__(self,var_two):
     self.__var_two = var_two
     self.__var_five = 5

  def method_one(self):
     var_four = 50
     self.__var_five = ClassOne.__var_one + self.__var_two + var_four

现在,我想问一下self.__var_five函数的变量method_one是否应该被认为是新的实例变量?因为已经有一个self.__var_fivein__init__函数。

另外,我从下面的代码中学到了全局,局部,静态和实例变量的概念。这是对的吗?

#global, local, static, instance variable.
#global variable are defined at the top of program or defined using keyword:global

global global_var1 = 0
global_var2 = 1

def local_variable:
    #local variable are defined inside of a function.
    local_var1 = 2

class static_instance:
    #static/classs variable are defined inside of a class.
    static_var1 = 3

    def __init__(self):
        #all variables defined in the function of a class starting with self.
        self.instance_var1 = 4

    def static(self):
        self.instance_var2 = 5

        local_var2 = 6         #local variable as it is in a function.

    static_var2 = 6
巴尔玛

它是相同的实例变量(在Python中称为属性)。method_one只是在更新其价值。

您对第二个代码块的大多数理解都是正确的。但是,当方法执行以下操作时:

self.static_var1 = 4

它创建一个名为的实例属性static_var1这与在方法外部声明的class属性无关,该属性在所有未重新分配的实例之间共享。但是由于您在__init__()方法中进行分配,因此所有实例都具有自己的属性。访问静态值的唯一方法是使用static_instance.static_var1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 全局和局部变量:代码是如何工作的?

来自分类Dev

Python类中的全局变量和局部变量

来自分类Dev

可重入代码和局部变量

来自分类Dev

python:glob,循环和局部变量

来自分类Java

Java静态变量和局部变量

来自分类Java

实例变量和局部变量的默认值

来自分类Dev

实例变量和局部变量之间混淆

来自分类Dev

全局和局部变量

来自分类Dev

如何在python中的字符串中插入全局变量和局部变量

来自分类Dev

Python混合全局变量和局部变量?

来自分类Dev

R中的全局变量和局部变量

来自分类Dev

C ++中的全局变量和局部变量

来自分类Dev

GO和局部变量中的闭包

来自分类Dev

非公共静态成员变量和局部变量不需要接口编程?

来自分类Dev

Java内存模型和局部变量

来自分类Dev

匿名函数和局部变量

来自分类Dev

全局和局部变量分配

来自分类Java

内部类和局部变量

来自分类Dev

Java递归和局部变量

来自分类Dev

JavaScript方法和局部变量

来自分类Dev

ReactJS状态和局部变量

来自分类Dev

全局和局部变量JavaScript

来自分类Dev

更改全局和局部变量

来自分类Dev

Python局部变量是静态确定的吗?

来自分类Java

静态类中的重复局部变量

来自分类Dev

Go中的静态局部变量

来自分类Dev

C ++ 11中的静态局部变量?

来自分类Dev

静态局部变量中的竞争条件

来自分类Dev

静态内部类中的局部变量