小编oro*_*aki的帖子

Python - 通过不在模块级别导入来优化?

在如Django的框架,我会想象,如果一个页面上的用户的土地(运行被称为"some_page"视图功能),你必须在模块的前8吨的进口不相关的这种看法,你在这些进口上浪费周期.我的问题是:

  1. 是否有足够的资源来对高流量网站产生影响?
  2. 它是这样一个不好的做法,在函数中导入此目的,它应该说影响是可以避免?

注意:这可以被认为是过早优化,但我对这个论点不感兴趣.让我们假设,实际理论的缘故,认定这是一起交通负荷已完成的网站,需要在每一个可能的方式进行优化,以及应用程序代码,以及DB已经由50博士的数据库管理员和开发人员经过充分的优化,这些进口是唯一剩下的东西.

python optimization premature-optimization python-import

4
推荐指数
2
解决办法
1393
查看次数

Python - 关于哈希和"无"的问题

为什么Nonehash to -1042159082(我发现它等于Gigabyte中的字节数否定)?

我意识到这并没有真正影响我的代码,但我很好奇.

哈希用于字典键查找,所以我决定尝试:

>>> D = {-1042159082: 'Hello', None: 'Hi'}
>>> D[None]
'Hi'
>>> D[-1042159082]
'Hello'
>>>
Run Code Online (Sandbox Code Playgroud)

我理解这是因为Python看到两个相同的哈希,然后检查类型以查看它是什么.是对的吗?

>>> {False: 'Hello', 0: 'Hi'}
{False: 'Hi'}
>>> {0: 'Hi', False: 'Hello'}
{0: 'Hello'}
Run Code Online (Sandbox Code Playgroud)

这很奇怪.更重要的是保留第一个键,保留第二个键.

这是巫术,还是有人能帮助我理解?

python

4
推荐指数
1
解决办法
321
查看次数

使用Python的datetime模块,我可以获得UTC-11当前所在的年份吗?

我想得到UTC-11时区(进入新的一年的最后一个时区)目前的年份,但我不知道如何做到这一点.

我可以访问该pytz库,以及Django的新timezone模块,我正在使用时区感知的UTC日期时间对象.

python django timezone datetime utc

4
推荐指数
1
解决办法
996
查看次数

quantze()和str.format()之间有什么区别?

我并不是说技术上的区别是什么,而是更快/更符合逻辑或Pythonic等方式:

    def __quantized_price(self):
        TWOPLACES = Decimal(10) ** -2
        return self.price.quantize(TWOPLACES)
Run Code Online (Sandbox Code Playgroud)

要么

    def __formatted_price(self):
        TWOPLACES = Decimal(10) ** -2
        return '{0:.2f}'.format(self.price)
Run Code Online (Sandbox Code Playgroud)

它们似乎完全一样,所以我只是想知道为什么它们会在什么时候创建量化

python string django quantization

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

Python:为什么这个doc测试失败了?

doctest中的这段代码在单独运行时起作用,但在这个doctest中,它在10个地方失败了.我无法弄清楚它为什么会这样.以下是整个模块:

class requireparams(object):
    """
    >>> @requireparams(['name', 'pass', 'code'])
    >>> def complex_function(params):
    >>>     print(params['name'])
    >>>     print(params['pass'])
    >>>     print(params['code'])
    >>> 
    >>> params = {
    >>>     'name': 'John Doe',
    >>>     'pass': 'OpenSesame',
    >>>     #'code': '1134',
    >>> }
    >>> 
    >>> complex_function(params)
    Traceback (most recent call last):
        ...
    ValueError: Missing from "params" argument: code
    """
    def __init__(self, required):
        self.required = set(required)

    def __call__(self, params):
        def wrapper(params):
            missing = self.required.difference(params)
            if missing:
                raise ValueError('Missing from "params" argument: %s' % ', '.join(sorted(missing)))
        return wrapper

if __name__ == …
Run Code Online (Sandbox Code Playgroud)

python doctest docstring

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

Django:如何组织这个大型模型/经理/设计混乱?

总结一下,在我进入不好的例子之前,等等:我正在尝试创建一个应用程序,我不必在所有模型中编写代码来限制当前登录帐户的选择(我没有使用身份验证或帐户或登录的内置功能).

也就是说,我希望有做这样的事情:

class Ticket(models.Model):
        account = models.ForeignKey(Account)
        client = models.ForeignKey(Client)  # A client will be owned by one account.
        content = models.CharField(max_length=255)

class TicketForm(forms.ModelForm):
        class Meta:
                model = Ticket
                exclude = ('account',)  #First sign of bad design?

        def __init__(self, *args, **kwargs):
                super(OrderForm, self).__init__(*args, **kwargs)
                if self.initial.get('account'):
                        # Here's where it gets ugly IMHO. This seems almost
                        # as bad as hard coding data. It's not DRY either.
                        self.fields['client'].queryset = Client.objects.filter(account=self.initial.get('account'))
Run Code Online (Sandbox Code Playgroud)

我的想法是Account(models.Model)使用以下自定义管理器创建一个模型,并使用所有模型的多表继承对其进行子类化.它给了我一个巨大的脑痛.我还需要account每个型号的外键吗?我可以访问某个模型实例的父类帐户吗?

class TicketManager(models.Manager):
    def …
Run Code Online (Sandbox Code Playgroud)

django django-models django-managers

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

JavaScript:window.spam是一个很好的做法吗?

我注意到人们提到的" 只需在JS代码的顶部定义一个变量,它就变成了全局 ",以回应诸如" 如何从函数内部创建全局变量? "之类的问题.大多数答案首先说不可能实现这一点.当然可以这样做:

<script type="text/javascript">
    window.spam = 'Hello World';
</script>
Run Code Online (Sandbox Code Playgroud)

然后,在您的代码中,您可以说:

<script type="text/javascript">
    alert(spam);
</script>
Run Code Online (Sandbox Code Playgroud)

这在IE6 +,Firefox,Chrome,Safari等中运行得非常好.那么为什么没有人这样做呢?

在我来说,我希望人们访问一个名为全局变量fooBar在他们的代码,并在我的AJAX库的任何地方,我希望变量在幕后自动更新,这样,当他们说$.do_some_magic(),他们可以肯定的是fooBar将反映所做的更改$.do_some_magic(),而不不得不考虑一下.我不希望他们必须在代码中创建高位变量,我也不想在库代码中创建高位变量.我想我只是讨厌在顶部定义全局变量而不愿意,除非有充分的理由不这样做.在那儿?

javascript global-variables

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

Python:为什么右移>>向下舍入,应该在哪里使用?

我从来没有使用过>><<操作符,不是因为我从来不需要它们,而是因为我不知道我是否可以使用它们,或者我应该使用它们.

100 >> 3输出12而不是12.5.为什么是这样.也许学习哪里最好使用右移会隐含地回答,但我很好奇.

python operators

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

如何使用SVN来区分整个存储库(最好使用Tortoise SVN)

我想知道是否有办法创建您已检出的存储库的差异并将其保存到diff文件,以便您可以将其作为完整补丁贡献给项目.我正在使用Tortoise SVN,但如果它必须在命令行,那也没关系.

svn diff tortoisesvn repository

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

C++入门(Python的范式转换)

我想学习C++,以便我可以为服务器相关的东西开发C++ Python模块.

我是一个纯粹的动态语言开发人员(Python,PHP,Ruby等).我想学习一门快速的语言,如果我要这样做,我宁愿学习像C++这样快速的语言.在我开始之前,我明白突然使用静态类型,不同的语法和编译代码将是相当的范式转换.有没有任何建议,C++开发人员也有动态语言经验可以帮助我帮助我更快地实现这一转变?

c++ paradigms

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