【发布时间】:2019-05-01 20:47:25
【问题描述】:
我读过对象的行为是对象执行的动作(在现实生活中),但在编程中,上下文不是 对对象执行的操作/动作,如方法。
例如,在下面的代码中,我们有一个显示员工全名的方法。在这种情况下,动作是由对象执行的,还是对对象执行的动作?当我们将其与狗对象的行为(如吠叫、睡觉等)进行比较时,如何显示全名是对象的行为。感谢您的帮助
class employee:
raise_value=1.05
def __init__(self,first,last,pay):
self.first=first
self.last=last
self.pay=pay
def emp_fullname(self):
return "Full name is {} {}".format(self.first,self.last)
def set_raise(self):
self.new_sal=float(self.pay)*employee.raise_value
return 'My new salary is {}'.format(self.new_sal)
e1=employee("Chyanit","Singh","60000")
e2=employee("Parag","Singh","40000")
e1.emp_fullname()
【问题讨论】:
-
这里没有代码可以显示全名。您的
employee类有一个返回字符串的函数。它实际上更像是一个属性,因为它实际上并没有做任何事情。 -
另请注意,您可以将
emp_fullname等方法标记为@property,这可能会更接近您的预期 -
我认为语言在这里可能很棘手。如果方法属于对象,则可以说这些操作是由对象执行的,而如果它们是外部方法或函数,则可以说它们作用于对象。当然,在第一种情况下,对象也可以作用于自身。
-
对象的类型决定了对象在python中支持的操作是什么意思,能举个例子说明一下吗