小编Odd*_*ing的帖子

这个成语是pythonic吗?(someBool和"True Result"或"False Result")

我刚刚在一些开源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中的典型成语吗?如果是这样,它是否会快速运行?或者它只是一次性需要代码审查?

python coding-style

7
推荐指数
2
解决办法
645
查看次数

创建类似于Oracle的临时表行为的临时表

我在Microsoft Access中寻找一种方法来创建一个临时表,其行为类似于Oracle,因为它的内容在mdb关闭后消失了.

据我所知,这是不可能的,但我愿意接受纠正.

如果不可能,我仍然在寻找一种使用临时表的方法,但是如果(例如)mdb未正确关闭,请确保临时表和/或其内容不会使mdb混乱.

ms-access

7
推荐指数
1
解决办法
8031
查看次数

你怎么称为错误修正,你知道,它不能解决根本原因?

在医学方面,这被称为" 对症治疗 ".在软件开发的背景下它叫什么?

terminology

7
推荐指数
3
解决办法
180
查看次数

X11的显示数字有多高?

displayno是X11 显示名称的一部分.

我已经看到几个定义解释它是一个从0开始的数字,但我没有看到任何文件解释是否有最大显示数字.

什么是最高显示数量?它在哪里定义?


这个问题的背景是我试图理解PyVirtualDisplay的显示数量分配算法.我还没有理解/tmp/.X*lock文件的作用,但看起来分配例程会选择总是增加显示数字,建议在反复调用的某个阶段,它可能达到极限并且会翻倒,特别是如果它很小.

x11

7
推荐指数
1
解决办法
2201
查看次数

TypeError:object()不带参数 - 但仅限于Python 3

我正在将一些代码从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)

python python-3.x python-3.4

7
推荐指数
1
解决办法
6567
查看次数

我可以在 setup.py 的 tests_require 中使用环境标记吗?

我正在查看一个开源包 (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)

python setuptools

7
推荐指数
1
解决办法
747
查看次数

一个用if(this == NULL)测试编译的类函数?

我在实验室中看到了这段代码片段,它实际上是在MSVC2008和G ++中编译的.

void LinkList< class T >::Insert(T n)  
{  
    if (this == NULL)  
    // some code here  
}
Run Code Online (Sandbox Code Playgroud)

据我所知,this不能为null,因为如果没有实例化,你不能在c ++中调用类函数.这是一个有效的代码吗?如果是这样,背后的原因是什么?它有用吗?

c++

6
推荐指数
2
解决办法
1997
查看次数

正则表达式 - 排除名称的单词列表

我正在尝试制作一个接受这个的正则表达式:

  • 只有az,0-9,_ chars,最小长度为3
  • admin,static,my和www被拒绝.

对于第一部分,我已经设法做到:

^[a-zA-Z0-9\\_]{3,}$
Run Code Online (Sandbox Code Playgroud)

但我不知道如何排除之前列出的单词.

例如,这意味着:

  • 静态是不允许的(当然),但是
  • 允许使用statice
  • 允许estatic

使用此正则表达式:

^(?!static|my|admin|www).*$
Run Code Online (Sandbox Code Playgroud)

效果不好:它排除了statice(以及未经授权的单词之后的所有内容).

你知道哪个正则表达式符合我的需要吗?

java regex words list

6
推荐指数
1
解决办法
8464
查看次数

体育评级图书馆

我正在考虑实施体育评级/排名系统(即根据他们在体育比赛中的表现给予每个球员或球队评分).

我一直在研究各种算法,例如:

我没有选择我将使用的算法 - 它可能是Glicko变体之一.但是,如果有现有的图书馆来实施它们,那么一个强大的因素就是它; 写一个数学图书馆需要我很长时间才能做好,我希望能有一个好的开始.

我不是在寻找GUI,只是库.开源将是完美的,免费的,因为啤酒会很好,但也会考虑商业选择.Python将是理想的,但其他语言将被考虑.

任何人都可以推荐我应该看的任何库吗?

math statistics libraries ranking-functions

6
推荐指数
0
解决办法
850
查看次数

SFINAE:有些失败比其他失败更平等?

我正在尝试使用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)

c++ templates sfinae template-specialization

5
推荐指数
1
解决办法
249
查看次数