如果 python 是一种支持重载的静态编程语言,将很容易解决。我正在制作一个名为 Complex 的类,它是复数的表示(我知道 python 有它自己的,但我想自己制作一个),其中 a 是实数, b 是虚数 ( Complex(a, b))。它应该支持将 Complex 实例添加到一起 ( Complex(2, 4) + Complex(4, 5) = Complex(6, 9)),以及添加一个整数 ( Complex(2, 3) + 4 = Complex(6, 3))。但是,由于python的性质...
__add__(self, other):
Run Code Online (Sandbox Code Playgroud)
...我必须选择该类将支持哪个,因为它不会在编译时识别类型,也不支持函数的重载。最好的解决方案是什么?我是否必须编写与other参数数据类型相关的 if 语句?
好的,所以我在包内创建了一个 python 脚本。这棵树看起来像这样:
\n\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 funcs\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 stuff.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 resources\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 haarcascade_frontalface_default.xml\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 scripts\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 script.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 setup.py\nRun Code Online (Sandbox Code Playgroud)\n\n因此,在脚本文件中,我使用 openCV 的 cv2 来检测人脸,为此需要cv2.CascadeClassifier位于 /resources 下的 XML 文件的路径。现在因为这是一个脚本,我需要能够从任何地方运行它,所以遗憾的是资源文件的相对路径并不能解决问题。如何从 script.py 中获取 xml 文件的绝对路径?您可以假设脚本和 xml 文件分别相对于彼此定位,就像上面的示例一样。谢谢 :))
PS:如果该解决方案也适用于鸡蛋,那就更好了。非常感激
\n我希望我的程序打印一些东西,然后返回那个东西。我试过这个
(define (print x)
((display x)
x))
Run Code Online (Sandbox Code Playgroud)
不是应该直接说这个过程x首先显示然后返回它,就像它在过程结束时所表达的那样吗?好吧,显然这是错误的,而且我对Scheme 有一些非常基本的了解。所以任何人,帮助我理解这一点。谢谢
python ×2
add ×1
definition ×1
function ×1
overloading ×1
package ×1
path ×1
scheme ×1
syntax ×1