Python:如何调用某个参数为真的方法?

L_S
class Mod:
    def __init__(self, prefix='', name=None, **kws):
        self._prefix = prefix
        self.opts = kws
        self._name = name
    def _reprstring(self, long=False):
            out = self._name
            opts = []
            if len(self._prefix) > 0:
                opts.append(f"prefix='{self._prefix}'")
            if long:
                for k, v in self.opts.items():
                      opts.append(f"{k}='{v}'")
            if len(opts) > 0:
                out = f"{out}, {', '.join(opts)}"
            return f"Model({out})"
    @property
    def name(self):
         return self._reprstring(long=False)
    @name.setter
    def name(self, value):
         self._name = value

a=Mod(prefix='my_prefix',name='my_name',age=14,size='unknown')
a.name='olo'
print(a.name)

在上面的代码,是调用的唯一方法_reprstringlong=True通过打字a._reprstring(long=True)这实际上使该if long语句几乎从未使用过。

在做的时候没有办法这样做print(a.name)吗?--> 我试过print(a.name(long=True)),但我收到错误TypeError: 'str' object is not callable这是因为 python 认为我正在尝试调用f"Model({out})"吗?

托德

保留对敏感函数和数据的封装,同时通过实现另一个属性仍然支持用户需要的功能。

...         @property
...         def long_name(self):
...             return self._reprstring(True)
...
>>> a=Mod(prefix='my_prefix',name='my_name',age=14,size='unknown')
>>> a.name='olo'
>>> print(a.long_name)
Model(olo, prefix='my_prefix', age='14', size='unknown')
>>> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何调用参数类型为ILogger的方法

如何调用需要 CLI 参数的 python 方法?

如何反思地调用以null为参数的方法?

如何调用以 hashmap 为参数的用户定义方法?

如何始终防止某个方法被调用

如果在python方法调用中参数为None则使用默认参数

如何验证使用Moq已调用某个方法多次的方法?

Python-Tkinter-如何在命令参数中调用方法

Python:如何拦截方法调用以更改函数参数?

如何使用字典或数组python的参数调用类方法

PHPUnit:期望以数组为参数的方法调用

参数为null的重载方法调用

调用以element为参数的方法

为什么在调用func时不能将最初设置为某个参数的变量突变?

如何在 PowerShell 中将“命名”参数定义为 [ref](这次是真的)

当参数在C ++中为父类类型时,如何调用子类的方法?

如何在方法调用中将数组解压缩为不同的参数

如何在Golang中调用父方法并传递任何将父结构扩展为参数的子代

如何理解我为某个问题编写的 Python 代码

如何将被调用函数中的局部变量更新为python中的函数参数?

如何使用参数调用在python中存储为变量的函数?-类型错误被抛出

如何使用Object ...作为参数调用方法

如何调用从Java中的参数不同的方法?

如何使用属性参数调用方法

如何调用带有参数的方法?

调用方法时如何传递参数(反射)?

您如何调用Word方法并传递参数?

如何从调用方法的函数中修补参数?

如何延迟调用多个参数的方法