小编jul*_*ria的帖子

比<__ main __.在0x1624710处的MyClass实例更漂亮的东西

这是我的课(尽可能简单):

class MyClass():
    def __init__(self, id):
        self.id = id

    def __str__(self):
        return "MyClass #%d" % self.id
Run Code Online (Sandbox Code Playgroud)

当我打印MyClass的一个对象时,我得到了这个美丽的字符串:MyClass #id.但是,当我只是在翻译中"显示"时,我仍然感到讨厌<__main__...>.有没有办法改变这种行为?

>>> c = MyClass(5)
>>> print c
MyClass #5
>>> c
<__main__.MyClass instance at 0x1624710>
Run Code Online (Sandbox Code Playgroud)

python class

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

添加到列表与增量

鉴于在Python中:

element = element + [0]
Run Code Online (Sandbox Code Playgroud)

应该等于:

element += [0]
Run Code Online (Sandbox Code Playgroud)

为什么要修改列表而另一个没有?这是一个例子:

>>> a = [[0, 0], [0,0]]
>>> for element in a:
...     element = element + [0]
... 
>>> a
[[0, 0], [0, 0]]
Run Code Online (Sandbox Code Playgroud)

a未被修改.但如果我增加:

>>> a = [[0, 0], [0,0]]
>>> for element in a:
...     element += [0]
...
>>> a
[[0, 0, 0], [0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)

a被修改.

谢谢,弗兰克

python

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

在itertools.products中命名iterables的一部分

我一直在阅读itertools,这似乎是一个非常强大的模块.我特别感兴趣,itertools.product()它似乎给了我可迭代输入的所有组合.

但是,我想知道每个输出中的哪些输入可迭代来自.例如,一个简单的标准示例是:

itertools.product([1, 2, 3], [1, 2])
Run Code Online (Sandbox Code Playgroud)

如果用户提供[1,2,3],[1,2]的输入,我将不知道他们进入了哪个顺序,因此得到的结果是

(1, 2)
Run Code Online (Sandbox Code Playgroud)

没有多大帮助,因为我不知道他们会走哪条路.是否有某种方式提供输入,如:

itertools.product(foo = [1, 2, 3], bar = [1, 2])
Run Code Online (Sandbox Code Playgroud)

然后得到如下输出:

output['foo'] = 1
output['bar'] = 2
Run Code Online (Sandbox Code Playgroud)

要么

output.foo = 1
output.bar = 2
Run Code Online (Sandbox Code Playgroud)

python python-itertools

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

Django无效的块标记:'endfor',预期'endblock'

TemplateSyntaxErrorDjango 可能是什么原因造成的?

Invalid block tag: 'endfor', expected 'endblock'
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的模板非常简单:

{% extends 'base.html' %}
{% block content %}
    <div id='beerslist'>
        {$ for beer in beers %}
        {{ beer }}
        {% endfor %}
    </div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

查看回溯列表后,'beer'变量存在并返回一个数组.如何修复此语法错误?

python django render syntax-error django-templates

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

导入500GB文本文件的最快方法,只需要所需的部分

我有大约500GB的文本文件在几个月内分开.在这些文本文件中,前43行只是连接信息(不需要).接下来的75行是观察的描述符.接下来是4行(不需要),然后是下一次观察,即75行.

事情是我想要的是这75行(描述符在每个观察的相同位置),其特征如下:

ID: 5523
Date: 20052012
Mixed: <Null>
.
.
Run Code Online (Sandbox Code Playgroud)

我希望将5523;20052012;;..每个观察结果更改为csv格式.所以我最终得到了更小的文本文件.由于描述符是相同的,我知道第一个位置例如是ID.

一旦我完成文本文件,我将打开下一个并附加它(或者创建一个新文件更快?).

我所做的是非常低效,我一直打开文件.加载它.逐行删除这些观察结果.如果它对测试样品采取了相当大的一点,那么它显然不是最好的方法.

任何建议都会很棒.

python text replace

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

如何在特定索引中嵌入Instagram轮播?

我正在使用https://api.instagram.com/oembed嵌入Instagram轮播(例如https://www.instagram.com/p/BvRwa1tArMo)。

我想知道是否有办法选择轮播图片的索引。例如,在这种情况下,我希望嵌入显示第二张图片,而不是第一张图片。

我的简化代码是:

$.get(
  'https://api.instagram.com/oembed?url=https://www.instagram.com/p/BvRwa1tArMo&hidecaption=1&omitscript=1',
  function (data) {
    $('#ig-post').html(data.html);
  }
);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://www.instagram.com/embed.js"></script>
<div id="ig-post"></div>
Run Code Online (Sandbox Code Playgroud)

(由于某种原因,它在这里无法完全正常工作,但在jsfiddle中可以使用:https://jsfiddle.net/43veku7t/ )

javascript embed carousel instagram

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

从observableArray中获取仅修改过的行的最佳方法(当有批量编辑选项时)

我有一个ObservableArray使用批量编辑选项(MVC3)绑定到HTML表的集合,每次用户点击提交时我只想从集合中发送修改后的行而不是发送整个viewmodel列表,请告知是否有任何最佳方法来跟踪或仅过滤修改后的行.

knockout-mapping-plugin knockout.js

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

Python yield和return语句?和Scrapy产生请求

yieldreturn用示例解释有什么区别?当我们在生成器中有yield任何值或请求时,实际发生了什么?

我没有从任何其他函数或程序调用生成器。

我的循环是:

for index in range(3):
  yield Request(url,callback=parse)
Run Code Online (Sandbox Code Playgroud)

这是在特定网址上发出请求,并在请求后调用回调函数。这段代码在做什么?

代码遵循的顺序是什么?

python scrapy

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

使用Tkinter不会出现窗口

这是我用python启动的文件:

from Tkinter import *

# Esempio di GUI

def main():
    w1 = Tk()
    w1.title("Finestra 1")
    f1 = Frame(w1)
    f1.pack()
    w1.mainloop()

main()
Run Code Online (Sandbox Code Playgroud)

该程序正在执行,但我没有看到任何窗口出现.我必须关闭终端窗口才能停止,我不明白为什么.

python user-interface tkinter

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

从字典中提取重复值

我试图找到一种使用Python Dictionaries在Maya中删除重复着色器的方法.

这是我正在做的事情:

我想将所有maya着色器放入字典作为键,并将相应的纹理文件作为值.然后我希望脚本运行字典并找到共享相同值的任何键,并将它们填充到数组或另一个字典中.

这基本上就是我现在所拥有的:

shaders_dict = {'a': somePath, 'b': somePath,
                'c': differentPath, 'd': differentPath}

duplicate_shaders_dict = {}`
Run Code Online (Sandbox Code Playgroud)

我现在如何通过该字典来编译另一个类似于这样的字典:

duplicate_shaders_dict = {'b':somePath, 'd':differentPath }
Run Code Online (Sandbox Code Playgroud)

而棘手的部分是因为有重复我想要脚本skip the original key所以它也不会被填入复制着色器字典.

python dictionary

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