小编bob*_*485的帖子

将对象类型作为参数传递

我有一些代码希望以比我的直觉想要的更优雅的方式实现。我将尽力描述我正在尝试的事情。

\n\n
class Fruit():\n    pass\n\nclass Apple(Fruit):\n    pass\n\nclass Orange(Fruit):\n    pass\n\ndef create_fruit(fruit_type):\n    test = ???? # code here to create instance of fruit of desired type called test\n
Run Code Online (Sandbox Code Playgroud)\n\n

好的,希望这段代码能有意义。我在模块中有一个函数,它需要一堆参数来创建类的实例。理想情况下,我希望传递一个参数来说明要创建的类的类型(但它们都是同一超类的实例或子类)。每个子类的参数将是相同的(截至目前)。

\n\n

我可能可以很容易地用 if 语句做一些事情并组合在一起(例如,,,,if fruit_type==1i test=Apple(),,f fruit_type == 2test=Orange()\xe2\x80\xa6),但是在尝试提高作为一名Python程序员时,我想知道是否有更好的这样做的方法。我已经简要阅读了装饰器和函数式编程(尽管它对我来说仍然相当抽象,并且需要更多时间来理解),所以也许这也是同样的脉络?

\n

python python-3.x python-3.8

3
推荐指数
1
解决办法
5357
查看次数

Java中的长字面量

因此,通读文档会指出,如果声明一个以L结尾的int常量,它将改为读取long值。这是我的问题:这与将类型命名为很长的名称之间有什么区别吗?例如:

int x = 100L;
VS.
long x = 100;
Run Code Online (Sandbox Code Playgroud)

同样的事情?

java long-integer

2
推荐指数
1
解决办法
1566
查看次数

标签 统计

java ×1

long-integer ×1

python ×1

python-3.8 ×1

python-3.x ×1