Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果涉及方法内变量的范围,python与java是否不同?_Java_Python - Fatal编程技术网

如果涉及方法内变量的范围,python与java是否不同?

如果涉及方法内变量的范围,python与java是否不同?,java,python,Java,Python,我正在编写以下代码: class NewList(): def __init__(self,initial_state): self.data = initial_state def append(self,new_item): self.data = self.data + [new_item] self.big = self.data def deppend(self,new_item): self

我正在编写以下代码:

class NewList():

    def __init__(self,initial_state):
        self.data = initial_state

    def append(self,new_item):
        self.data = self.data + [new_item]
        self.big = self.data

    def deppend(self,new_item):
        self.data = self.data + [new_item]
        self.big = self.big + [new_item]


    my_list = NewList([1,2,3,4,5])
    print(my_list.data)
    my_list.append(6)
    print(my_list.data)
    print(my_list.big)
    my_list.deppend(7)
    print(my_list.data)
    print(my_list.big)

我不认为在一个方法中声明的变量,比如数据、大等等,可以在Java中的另一个方法中使用。但是,在python中,我们可以很容易地使用它们。python方法中声明的变量是否具有全局作用域而不是具有局部作用域的java???

您定义的变量是使用
self
关键字声明的。在java中将其视为
这个

因此,当您执行
self.big=self.data
时,大将成为对象的属性。因此,它可以通过对象访问


obj.attribute
self.attribute
基本相同。在python中,您可以随时创建新属性。

在python中,成员变量根本不“声明”。这个词没有意义。请注意,
self.big
self.data
是属性,而不是局部变量。您认为
self
是什么意思?