我正在尝试将setter属性作为参数传递给函数。 我的班级有以下属性。
matplotlib.pyplot
我可以将getter作为参数传递给函数,如下所示:
@property
def drawMode(self):
return self._drawMode
@drawMode.setter
def drawMode(self, value):
self._drawMode = value
传递setter的语法是什么?
答案 0 :(得分:0)
如果将属性的名称传递给函数(以及对象本身),则可以执行类似的操作。这允许从对象的类中检索属性对象。获得后,可以直接调用const z = _.uniqBy(_.filter(data.map(e=>e.a), v => _.filter(data.map(e=>e.a), v1 => v1 === v).length > 1))
const dupes = data.filter(itm => z.includes(itm.a))
const flat = _.flatMap(dupes, item =>
_(item.type)
.map(v => ({b: v.b}))
.value()
)
。
def find_starman(board):
row_number = 0
column_number = 0
for star in board:
for j in range(len(board):
for i in range(len(board):
if star[j][i] == '*':
j += 1
i += 1
return [j,i]
答案 1 :(得分:0)
您可以直接传递属性对象,并避免使用魔术字符串。您仍然需要传递实例:
class Class:
def __init__( self ):
self.__value = "old value"
@property
def value( self ):
return self.__value
@value.setter
def value( self, value ):
self.__value = value
def function( instance, property_ ):
print( property_.fget( instance ) )
property_.fset( instance, "new value" )
print( property_.fget( instance ) )
instance = Class()
function( instance, Class.value )
输出:
old value
new value