小编Spo*_*ser的帖子

currying和部分应用有什么区别?

我经常在互联网上看到各种各样的抱怨,其他人的currying例子并不是currying,但实际上只是部分应用.

我没有找到关于部分应用是什么的合理解释,或者它与currying有何不同.似乎存在普遍的混淆,在某些地方将等效的例子描述为currying,在其他地方描述为部分应用.

有人可以向我提供这两个术语的定义,以及它们如何区别的细节吗?

language-agnostic terminology definition currying partial-application

416
推荐指数
10
解决办法
5万
查看次数

获取现有的git分支来跟踪远程分支

使用git时我通常的工作流程是这样的:

  1. 创建一个本地存储库
  2. 在该存储库中做一些工作,添加/更改文件等.
  3. 决定我想要一个存储库的中央远程位置,并创建一个
  4. 将所有提交从我的本地存储库推送到这个新的远程存储库

然而,现在我希望能够pushpull从该远程存储库,而无需指定我推或拉离; 我希望我的本地主人跟踪远程主人.

这样做的正确方法对我来说并不清楚,而且我无法从文档中确定它,即使它不应该只是一个命令.

因为它是每个存储库只执行过一次的事情,所以我通常使用两个简单但是hacky解决方案中的一个:

  1. 用于git clone创建新的本地存储库,并删除旧的存储库.在git克隆之后,新的存储库被设置为跟踪原点.
  2. 手动编辑.git/config以创建主轨道原点.

我想我应该能够运行一个命令,可能是某种形式git remote来设置一个现有的存储库,让主跟踪一个远程主控.谁能告诉我这个命令是什么?

git

80
推荐指数
4
解决办法
6万
查看次数

为python类使用__setattr__和描述符

我正在编写一个使用__setattr____getattr__提供自定义属性访问的python类.

但是,某些属性无法以通用方式处理,因此我希望使用描述符.

出现的问题是,对于描述符,__get__将调用描述符以支持实例__getattr__,但是当分配给属性时,__setattr__将调用以支持描述符__set__.

一个例子:

class MyDesc(object):

    def __init__(self):
        self.val = None

    def __get__(self, instance, owner):
        print "MyDesc.__get__"
        return self.val

    def __set__(self, instance, value):
        print "MyDesc.__set__"
        self.val = value

class MyObj(object):

    foo = MyDesc()

    def __init__(self, bar):
        object.__setattr__(self, 'names', dict(
            bar=bar,
        ))
        object.__setattr__(self, 'new_names', dict())

    def __setattr__(self, name, value):
        print "MyObj.__setattr__ for %s" % name
        self.new_names[name] = value

    def __getattr__(self, name):
        print "MyObj.__getattr__ for %s" % name

        if name …
Run Code Online (Sandbox Code Playgroud)

python setter attributes descriptor

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

渲染轮廓字体的好方法是什么?

我正在用pygame在python中编写游戏,需要将文本渲染到屏幕上.

我想用一个带有轮廓的颜色渲染这个文本,这样我就不必担心文本显示的背景类型了.

pygame.font似乎没有提供直接支持这种事情的支持,我想知道是否有人有任何好的解决方案来实现这一目标?

python fonts pygame

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

Google Webfonts和Anti-aliasing

我喜欢在我的商业作品中使用Google Webfonts,但它们呈现有点过于锯齿状,尽管在Google提供的预览中,它们呈现得非常流畅.

请查看:http: //www.google.com/fonts/specimen/Oxygen

最大的预览看起来非常漂亮和流畅但当我在我的页面上导入并使用它时,它看起来在边缘上变形,非常锯齿状.谷歌是否使用额外的库来实现这种抗锯齿,还是我做错了什么?

html css fonts webfonts

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

在使用setuptools构建鸡蛋时,如何以编程方式检测错误?

如果我有一个构建鸡蛋的脚本,基本上是通过运行

python setup.py bdist_egg --exclude-source-files
Run Code Online (Sandbox Code Playgroud)

对于许多setuptools用于定义如何构建蛋的setup.py文件,是否有一种简单的方法可以确定构建蛋是否有任何错误?

我最近遇到的一种情况是模块中存在语法错误.Setuptools向标准错误发出消息,但继续创建egg,省略了破坏的模块.因为这是批量创建一些鸡蛋的一部分,错误被错过,结果没用.

有没有办法在以编程方式构建一个egg时检测错误,而不仅仅是捕获标准错误并解析它?

python error-handling compiler-errors setuptools

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

您可以在python中轻松创建一个类似列表的对象,该对象使用类似描述符的内容吗?

我正在尝试编写一个抽象一些接口的接口。

底部界面在某些方面与要求不一致:有时是ID,有时是名称。我正在尝试隐藏此类细节。

我想创建一个类似列表的对象,该对象将允许您向其添加名称,但在内部存储与这些名称相关联的ID。

最好,我想对类属性使用类似描述符的东西,除了它们可以处理列表项。也就是说,__get__将对添加到列表中的所有内容调用一个函数(如)以将其转换为我想在内部存储的ID,而__set__在尝试时,另一个函数(如)将返回对象(提供便捷方法),而不是实际的ID。从列表中检索项目。

这样我就可以做这样的事情:

def get_thing_id_from_name(name):
    # assume that this is more complicated
    return other_api.get_id_from_name_or_whatever(name)

class Thing(object)
    def __init__(self, thing_id):
        self.id = thing_id
        self.name = other_api.get_name_somehow(id)

    def __eq__(self, other):
        if isinstance(other, basestring):
            return self.name == other

        if isinstance(other, Thing):
            return self.thing_id == other.thing_id

        return NotImplemented

tl = ThingList()

tl.append('thing_one')
tl.append('thing_two')
tl[1] = 'thing_three'

print tl[0].id
print tl[0] == 'thing_one'
print tl[1] == Thing(3)
Run Code Online (Sandbox Code Playgroud)

该文档建议为行为像可变序列的对象定义17种方法(不包括构造函数)。我认为子类化根本无法list帮助我。感觉我应该能够仅在某个地方定义一个getter和setter来实现这一目标。

UserList 显然已贬值(尽管在python3中?我使用的是2.7)。

有没有一种方法可以实现此目的或类似的方法,而不必重新定义太多功能?

python python-2.7

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

有没有安全的方法来删除 JointJS 论文/图表

我正在编写一个使用 JointJS 来显示图表的应用程序。

但是,我希望能够在页面中动态添加和删除图表。添加新图表相当简单,但是当我删除图表时,删除 DOM 元素并让图表和纸对象被垃圾收集是否安全?

javascript jointjs

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

python计算字符串列表中的单词数

考虑

doc = ["i am a fellow student", "we both are the good student", "a student works hard"]
Run Code Online (Sandbox Code Playgroud)

我有这个作为输入我只想打印整个列表中每个单词出现的次数:

例如 student 出现 3 次所以 预期输出student=3, a=2, etc

我能够打印文档中的唯一单词,但无法打印出现的次数。这是我使用的功能:

def fit(doc):    
    unique_words = set() 
    if isinstance(dataset, (list,)):
        for row in dataset:
            for word in row.split(" "): 
                if len(word) < 2:
                    continue
                unique_words.add(word)
        unique_words = sorted(list(unique_words))
        return (unique_words)
doc=fit(docs)

print(doc)

['am', 'are', 'both', 'fellow', 'good', 'hard', 'student', 'the', 'we', 'works']
Run Code Online (Sandbox Code Playgroud)

我得到这个作为输出我只想要unique_words的出现次数。请问我该怎么做?

python string list count cpu-word

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

是否可以模拟表格单元格之间的间距,使得垂直和水平间距不同?

在CSS中,您可以使用表的border-spacing属性指定表格单元格之间的间距.

然而,这导致列和行之间的间隔均匀,并且我发现更多情况,我正在使用的设计调用行之间的间隙,而不是列,或反之亦然.

如果我有一个坚实的背景,我可以使用与背景颜色相同的颜色来模拟间距.

我还可以创建一个div(例如)每个表格单元格的第一个子节点,并使用填充或边距来获得所需的结果,但这是为了适应该样式而进行的大量额外标记.

鉴于我显示的数据是表格数据,是否有一种明智的方法来使用表格来实现这种风格?

html css css-tables

3
推荐指数
2
解决办法
595
查看次数

使用 BeautifulSoup 进行网页抓取时,我可以接受或忽略 Google 隐私声明吗?

从控制台运行以下代码时,我无法查看 Google 新闻页面的 HTML。我看到的 HTML 是 Google 隐私声明的 HTML(以“在继续之前”开头的 HTML)。

from bs4 import BeautifulSoup
import requests

headers = {'User-Agent': 'Mozilla/5.0'}
r = requests.get("https://www.google.com/news", headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')
print(soup.prettify())
Run Code Online (Sandbox Code Playgroud)

有没有办法完全阻止隐私通知的弹出?

我得到的一个片段:

  <title>
   Before you continue
  </title>
  <meta content="initial-scale=1, maximum-scale=5, width=device-width" name="viewport"/>
  <link href="//www.google.com/favicon.ico" rel="shortcut icon"/>
 </head>
 <body>
  <div class="signin">
   <a class="button" href="https://accounts.google.com/ServiceLogin?hl=en-US&amp;continue=https://news.google.com/topics/CAAqBwgKMKHQ9Qowlc7cAg&amp;gae=cb-">
    Sign in
   </a>
  </div>
  <div class="box">
   <img alt="Google" height="28" src="//www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png" srcset="//www.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_68x28dp.png 2x" width="68"/>
   <div class="productLogoContainer">
    <img alt="" aria-hidden="true" class="image" height="100%" src="https://www.gstatic.com/ac/cb/scene_cookie_wall_search_v2.svg" width="100%"/>
   </div>
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup web-scraping

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

Unix - 如何替换无效字符?

我写一个unix bash shell脚本.

我想用下划线("_")替换文本中的所有无效字符.我的有效字符列表是az,AZ,"_"和0-9.基本上它是字母数字和_.在下面的例子中

#!/bin/bash
hostname=soa.ax-123
Run Code Online (Sandbox Code Playgroud)

我希望将变量hostname值替换为soa_ax_123

任何人都可以帮我写登录,找到并用"_"替换无效字符

先谢谢克里斯

regex bash shell

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

如何在有限上下文随附的django模板中使用csrf_token

Django模板允许您包括其他模板来构成页面。当您要渲染整个页面,但又想使用AJAX重新加载页面的一部分,又不想将所有渲染逻辑都移到javascript中(或更糟糕的是,在javascript中复制它)时,这特别有用。

包括模板如下所示:

{% include "template.html" %}
Run Code Online (Sandbox Code Playgroud)

但是,如果该模板可能被其他视图使用,则您的上下文很可能不仅仅是该模板的上下文的超集。因此,Django也允许您指定模板的上下文。

因为我想避免当模板被包含在另一个模板中而被渲染时以及模板被渲染为视图的主要模板时意外引入不同的行为,所以使用该only选项以避免访问该模板也很有意义。父模板的上下文。

所以我的包含看起来像这样:

{% include "sub_template.html" foo=sub_context.foo bar=sub_context.bar only %}
Run Code Online (Sandbox Code Playgroud)

但是,添加only会导致问题:{% csrf_token %}在该模板中不再起作用,因为我猜想Django所做的一些隐藏的魔术已被排除在外。

Django记录的错误是

UserWarning:在模板中使用了{%csrf_token%},但上下文未提供该值。这通常是由于未使用RequestContext引起的。

父模板渲染用RequestContext,并且当所述子模板呈现为所述主模板,不包括在内,不会发生错误。

解决此问题的最明显方法是不使用onlyto 的选项include,这似乎很可惜。有解决此问题的更好方法吗?

django-templates django-csrf

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