1
3
我不认为 双重调度 或 多种方法 这与人们对另一个人的回答所持的反对意见特别相关,也没有多大关系。 毫不奇怪,为了使您正在做的事情更面向对象,您需要向其中引入一些对象(以及相应的类)。将每个值设为类的实例将允许(实际上,实际上是强制)停止检查其类型。下面对示例代码的修改显示了一种非常简单的方法:
如果在
使用对象的另一个好处是不需要修改
|
2
5
你可以用 Double Dispatch 或 Multimethods 。 |
3
3
实际上,它被称为 Duck typing style (“如果它看起来像鸭子,嘎嘎叫得像鸭子,那么它一定是鸭子。”)而且是Python语言推荐使用这种编程风格。 用鸭子打字,打个电话来 EAFP (请求宽恕比允许更容易)
你的意思是更多的蟒蛇,基本上,在你的情况下,更多的蟒蛇是这样的:
在你的魔术师节目中(我不知道是你的剧本还是…),因为 在任何情况下,您的程序都会得到一个字符串,所以只需尝试将其转换为 脚本接受;
我不知道你所有的代码是什么,但是你可以按照上面的例子,它更像是蟒蛇,记住每个规则都有例外,所以你的情况可能是例外。 你最好检查一下类型。 希望这能帮你解决问题。 |
4
1
与如何设计一个小函数相比,这更像是一个大问题中的工程。有许多不同的方法来实现它,但它们或多或少地分解为相同的一般思想过程。在已知val类型的后面,它应该指定如何将其转换为命令行arg。如果是我,我可能会让val成为一个类,它有一个to命令行函数,可以做正确的事情。还可以将特定于类型的myfunc函数赋给变量,然后在需要时调用该函数。 编辑:解释最后一个版本
或多或少地,在类中包装val所做的相同的事情只是分解成一个值和函数,因为您可能不想在类中包装val。 |
Schadre · C-plus编码错误 2 年前 |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |