有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在编写以下代码:

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


共 (1) 个答案

  1. # 1 楼答案

    您定义的变量是使用self关键字声明的。可以把它想象成java中的this

    所以当你做self.big = self.data的时候,大就变成了对象的属性。因此,它可以通过对象访问

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