我刚刚在一些开源Python中遇到过这个成语,我对我的饮料感到窒息.
而不是:
if isUp:
return "Up"
else:
return "Down"
Run Code Online (Sandbox Code Playgroud)
甚至:
return "Up" if isUp else "Down"
Run Code Online (Sandbox Code Playgroud)
代码阅读:
return isUp and "Up" or "Down"
Run Code Online (Sandbox Code Playgroud)
我可以看到这是相同的结果,但这是Python中的典型成语吗?如果是这样,它是否会快速运行?或者它只是一次性需要代码审查?
我在Microsoft Access中寻找一种方法来创建一个临时表,其行为类似于Oracle,因为它的内容在mdb关闭后消失了.
据我所知,这是不可能的,但我愿意接受纠正.
如果不可能,我仍然在寻找一种使用临时表的方法,但是如果(例如)mdb未正确关闭,请确保临时表和/或其内容不会使mdb混乱.
displayno是X11 显示名称的一部分.
我已经看到几个定义解释它是一个从0开始的数字,但我没有看到任何文件解释是否有最大显示数字.
什么是最高显示数量?它在哪里定义?
这个问题的背景是我试图理解PyVirtualDisplay的显示数量分配算法.我还没有理解/tmp/.X*lock文件的作用,但看起来分配例程会选择总是增加显示数字,建议在反复调用的某个阶段,它可能达到极限并且会翻倒,特别是如果它很小.
我正在将一些代码从Python 2迁移到Python 3,并且我得到了不同的行为.查看"改变了什么"的列表并未指出任何相关的差异,但可能我错过了一个重要的差异.
我尽可能地简化了我的代码以获得这个"最小错误程序":
def decorator(Type):
""" This is a class decorator. It replaces a class with a subclass which
*should be* equivalent.
The result works on Python 2.7 but not on Python 3.4. """
class FactorySubclass(Type):
""" This subclasses from the provided type, and overrides the __new__
and __init__ methods, but replaces them with exact equivalents,
so I can't see how this has any effect. """
def __new__(cls, *args, **kwargs):
# Simplified this code to do basically nothing.
# …Run Code Online (Sandbox Code Playgroud) 我正在查看一个开源包 (MoviePy),它根据安装的包调整其功能。
例如,要调整图像大小,它将使用 OpenCV、PIL/pillow、SciPy 提供的功能。如果没有可用的,它将优雅地回退到不支持调整大小。
该setup.py函数在tests_require参数中标识了这些可选依赖项中的一些,因此可以运行测试。
但是,还有一层(尚未)处理的复杂性。某些可选软件包并非适用于所有支持的平台版本。(我认为一个例子是他们使用的 OpenCV 版本不适用于 Windows 的 Python 3.3,但如果这是错误的,请不要挂断电话。我正在寻找通用解决方案。)
解决方案似乎是使用环境标记来指定应根据哪个 Python 版本和哪个操作系统安装哪些软件包的哪些版本。我可以用一个requirements.txt文件来做到这一点。我想我可以用 Conda 做到这一点(使用不同的格式 - 冒号而不是分号)。但是我如何在 setup.py 中做到这一点?
我迄今为止的实验都失败了。
示例:将环境标记放在包版本之后,并使用分号:
requires = [
'decorator>=4.0.2,<5.0',
'imageio>=2.1.2,<3.0',
'tqdm>=4.11.2,<5.0',
'numpy',
]
optional_reqs = [
"scipy>=0.19.0,<1.0; python_version!='3.3'",
"opencv-python>=3.0,<4.0; python_version!='2.7'",
"scikit-image>=0.13.0,<1.0; python_version>='3.4'",
"scikit-learn; python_version>='3.4'",
"matplotlib>=2.0.0,<3.0; python_version>='3.4'",
]
doc_reqs = [
'pygame>=1.9.3,<2.0',
'numpydoc>=0.6.0,<1.0',
'sphinx_rtd_theme>=0.1.10b0,<1.0',
'Sphinx>=1.5.2,<2.0',
] + optional_reqs
test_reqs = [
'pytest>=2.8.0,<3.0',
'nose',
'sklearn',
'pytest-cov',
'coveralls',
] + optional_reqs
extra_reqs = {
"optional": optional_reqs, …Run Code Online (Sandbox Code Playgroud) 我在实验室中看到了这段代码片段,它实际上是在MSVC2008和G ++中编译的.
void LinkList< class T >::Insert(T n)
{
if (this == NULL)
// some code here
}
Run Code Online (Sandbox Code Playgroud)
据我所知,this不能为null,因为如果没有实例化,你不能在c ++中调用类函数.这是一个有效的代码吗?如果是这样,背后的原因是什么?它有用吗?
我正在尝试制作一个接受这个的正则表达式:
对于第一部分,我已经设法做到:
^[a-zA-Z0-9\\_]{3,}$
Run Code Online (Sandbox Code Playgroud)
但我不知道如何排除之前列出的单词.
例如,这意味着:
使用此正则表达式:
^(?!static|my|admin|www).*$
Run Code Online (Sandbox Code Playgroud)
效果不好:它排除了statice(以及未经授权的单词之后的所有内容).
你知道哪个正则表达式符合我的需要吗?
我正在考虑实施体育评级/排名系统(即根据他们在体育比赛中的表现给予每个球员或球队评分).
我一直在研究各种算法,例如:
我没有选择我将使用的算法 - 它可能是Glicko变体之一.但是,如果有现有的图书馆来实施它们,那么一个强大的因素就是它; 写一个数学图书馆需要我很长时间才能做好,我希望能有一个好的开始.
我不是在寻找GUI,只是库.开源将是完美的,免费的,因为啤酒会很好,但也会考虑商业选择.Python将是理想的,但其他语言将被考虑.
任何人都可以推荐我应该看的任何库吗?
我正在尝试使用SFINAE来区分具有名为"name"的成员的类.我在似乎是标准模式的情况下进行了设置,但它没有工作 - 而不是默默地忽略'失败'替换,编译器会产生错误.
我确信我遇到了一些模板替换规则,如果有人能解释哪一个,我将不胜感激.
这是一个精简的例子.我正在使用gcc:
template <typename U> string test( char(*)[sizeof(U::name)] = 0 ) { return "has name!"; }
template <typename U> string test(...) { return "no name"; }
struct HasName { string name; }
struct NoName {}
cout << "HasName: " << test<HasName>(0) << endl; //fine
cout << "NoName: " << test<NoName>(0) << endl; //compiler errors:
//error: size of array has non-integral type `<type error>'
//error: `name' is not a member of `NoName'
Run Code Online (Sandbox Code Playgroud) python ×3
c++ ×2
coding-style ×1
java ×1
libraries ×1
list ×1
math ×1
ms-access ×1
python-3.4 ×1
python-3.x ×1
regex ×1
setuptools ×1
sfinae ×1
statistics ×1
templates ×1
terminology ×1
words ×1
x11 ×1