该程序修改类“myclass”_x和_y,但我不会将它作为参数 传递给函数try_block。它如何被修改?我是Python的新手。Python 3中的类是否通过引用传递?
class AddSub:
def _init_(self): #how do default parameters work?
self._x, _y
def set_x(self, num):
self._x = num
def set_y(self, num):
self._y = num
def add(self):
return self._x + self._y
def sub(self):
return self._x - self._y
def try_block():
try:
ch = int(input("type 1 to add, and 2 to subtract: "))
myclass.set_x(int(input("enter an x value: "))) #how does myclass get modifed?
myclass.set_y(int(input("enter a y value: ")))
return ch
except ValueError:
print("Invalid entry.")
ch = try_block()
return ch
myclass = AddSub()
choice = try_block()
if choice == 1:
print(myclass.add())
elif choice == 2:
print(myclass.sub())
** **为什么在全能飞行面条怪物的名字你使用setter方法?在python中这样做**非常不合适**。使用公共字段,以防万一你需要setter逻辑使用*属性*。 – ThiefMaster
其次。放开那个吸气机的老大哥。不要用Python编写Java代码。除非你证明你需要的不仅仅是一个简单的属性访问,否则不要写getter和setter。 – GSP
@ThiefMaster:我还记得当初是初学者的时候:) – pepr