小编Mat*_*ias的帖子

Python重写__init__

我知道有很多人就这个问题提出问题,但我没有看到我的具体问题.子类化时,您可以覆盖__init__()与覆盖任何其他方法相同的方式.我的问题是为什么在下面的例子中这似乎没有正常工作:

import random
class MyRand(random.Random):
    def __init__(self, myvar1, myvar2, x=None):
        # ( ... my code ...)
        super(MyRand, self).__init__(x)
Run Code Online (Sandbox Code Playgroud)

请记住,Random构造函数具有以下签名:__init__(self, x=None)where x是可选种子.我想在我的子类中保留该功能,但我也想要两个必需的变量,myvar1myvar2.

但是,当您尝试实例化(没有种子)时会出现错误:

MyRand('var1', 'var2')
TypeError: seed expected at most 1 arguments, got 2
Run Code Online (Sandbox Code Playgroud)

这是因为python认为你想要Random的构造函数并传递你的两个参数'var1'和'var2'作为种子.种子(从内部Random的构造函数调用)只需要1个参数,因此您会收到错误.

但是,如果你这样做

MyRand(myvar1='var1', myvar2='var2')
Run Code Online (Sandbox Code Playgroud)

这是有效的,这里python知道你传递它的两个必需变量而不传递可选种子.

但我认为第一种情况也应该奏效.这是怎么回事?

python

11
推荐指数
2
解决办法
2569
查看次数

JFrame catch处理事件

我有一个Java项目。
我有一个附加了处理程序的JFrame像这样

frame.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent evt) {
                this.setEnabled(true);

            }
        });
Run Code Online (Sandbox Code Playgroud)

但是,在该框架上,我还具有一个关闭按钮(以使其更加用户友好),并且该“关闭”按钮调用框架处理方法。现在,当我通过单击右上角的小x按钮关闭框架时,将调用WindowListener。但是,当我调用dispose方法时,该事件不会触发。
我应该调用其他方法关闭它,以便WindowListener触发,或者实现另一个侦听器吗?

java jframe

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

以最快和可扩展的方式从另一个字典创建字典

我几乎没有创建新字典的场景:

  1. 只取列表中键“总计”不为零的那些字典
  2. 从字典中删除键,例如 'total' 和 'rank'
  3. 使用“名称”键值作为键,使用“游戏”键值作为
    新字典中的值列表
  4. 对新字典中的值列表进行排序

我的代码是:

# input dictionary
data =[
           {'name': 'foo', 'rank': 3, 'game': 'football', 'total': 1},
           {'name': 'bar', 'rank': 5, 'game': 'hockey', 'total': 0},
           {'name': 'foo', 'rank': 7, 'game': 'tennis', 'total': 0},
           {'name': 'foo', 'rank': 2, 'game': 'cricket', 'total': 2},
           {'name': 'bar', 'rank': 1, 'game': 'cricket', 'total': 8},
        ]

result_list = []
merged_data = {}
result_data = {}

# Get the list of dict if key 'total' value is not zero
dict_without_total = …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x

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

Python [name] = value意味着什么?

Python新手在这里.我正在阅读基于Django的Taiga项目的部分代码.我无法理解一行代码.

class Response(SimpleTemplateResponse):
    def __init__(self, data=None, status=None,
                 template_name=None, headers=None,
                 exception=False, content_type=None):
        super().__init__(None, status=status)
        self.data = data
        self.template_name = template_name
        self.exception = exception
        self.content_type = content_type

        if headers:
            for name, value in six.iteritems(headers):
                self[name] = value
Run Code Online (Sandbox Code Playgroud)

我不太明白最后一行.self [name] = value.这究竟意味着什么?这会创造一个字吗?如果是,我如何调用此词典或在课堂外引用此词典?如果没有,它会做什么?

python django sequence

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

将列表的字符串转换为列表

我有字符串列表:

['[12 9 15]','[98 12 18]','[56 45 45]']   
Run Code Online (Sandbox Code Playgroud)

我想把它转换成

[[12,9,15],[98,12,18],[56,45,45]]
Run Code Online (Sandbox Code Playgroud)

python string list python-2.7

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

UnicodeDecodeError:“charmap”编解码器无法解码位置 2483 中的字节 0x81:字符映射到 <未定义>

我正在解析 csv 文件,但收到以下错误

import os
import csv
from collections import defaultdict
demo_data = defaultdict(list)

if os.path.exists("infoed_daily _file.csv"):
    f = open("infoed_daily _file.csv", "rt")
    csv_reader = csv.DictReader(f)
    line_no = 0
    for line in csv_reader:
    line_no +=1
    print(line,line_no)

UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 2483: character maps to 
<undefined>
Run Code Online (Sandbox Code Playgroud)

请指教。

谢谢..-Prasanna.K

python

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

ImportError:没有名为django.sessions的模块

我正在尝试运行一个项目

但它给出了以下错误

Traceback (most recent call last):
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__
    return self.application(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 170, in __call__
    self.load_middleware()
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 52, in load_middleware
    mw_instance = mw_class()
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/sessions/middleware.py", line 11, in __init__
    engine = import_module(settings.SESSION_ENGINE)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
 ImportError: No module named django.sessions
 [08/Sep/2015 02:37:00] "GET / HTTP/1.1" 500 59
Run Code Online (Sandbox Code Playgroud)

setting.py文件是:

from mongoengine import connect
connect("authentication_demo")

DEBUG = …
Run Code Online (Sandbox Code Playgroud)

python django

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

如何在Python中将.bmp图像转换为.png

如何将 .bmp 图像转换为 .png

\n\n

这是我代码的一部分,但它不会\xe2\x80\x99t 将图像转换为 png

\n\n
get_cropped_image(impath).save(outpath,'png')\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码正在运行,但图像不会改变\xe2\x80\x99。

\n

python image

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

如何从另一个列表的元素创建列表

请帮助我,我陷入了一些看起来很简单的事情。我只想从另一个列表的元素创建列表。我可以这样做,但无法找出更快的方法,因为我的列表有大约 500 个元素,我不想写 500 次列表名称。例子 :

testing = [ 'john', 'mark', 'joseph', 'cody', 'bill' , 'dick']
new= [testing [0], testing[3], testing[4]]
Run Code Online (Sandbox Code Playgroud)

给了我我想要的,但我怎样才能让它更快。我试过

new = [testing ([0], [3], [4])]
Run Code Online (Sandbox Code Playgroud)

并得到 'list' object is not callable

python list

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

Python语句中的语法无效

我试图运行下面的代码,当我运行python tfidf.py(Python 2.6.9)时,我SyntaxError: invalid syntax在下面的行中得到错误,指向for语句.我究竟做错了什么?

def produceVector(blob, bloblist):
    ##### SYNTAXERROR: invalid syntax in the "for" in the line below #####
    scores = {word: tfidf(word, blob, bloblist) for word in blob.words}
    return scores

def tf(word, blob):
    return blob.words.count(word) / len(blob.words)

def n_containing(word, bloblist):
    return sum(1 for blob in bloblist if word in blob)

def idf(word, bloblist):
    return math.log(len(bloblist) / (1 + n_containing(word, bloblist)))

def tfidf(word, blob, bloblist):
    return tf(word, blob) * idf(word, bloblist)
Run Code Online (Sandbox Code Playgroud)

python for-loop python-2.6

0
推荐指数
1
解决办法
642
查看次数

如何正确更新dict中的dict?(Python)

我有以下代码:

some = {}
stat = {'matches_played': 0, 'won': 0, 'draws': 0, 'loss': 0, 'points': 0}
some = {'Arsenal': stat}
some.update({'Chelsea': stat})
some['Arsenal']['won'] += 1
some['Chelsea']['loss'] += 1
print(some)
Run Code Online (Sandbox Code Playgroud)

结果是:

{'Arsenal': {'matches_played': 0, 'won': 1, 'draws': 0, 'loss': 1, 'points': 0}, 
'Chelsea': {'matches_played': 0, 'won': 1, 'draws': 0, 'loss': 1, 'points': 0}}
Run Code Online (Sandbox Code Playgroud)

但是我需要

{'Arsenal': {'matches_played': 0, 'won': 1, 'draws': 0, 'loss': 0, 'points': 0}, 
'Chelsea': {'matches_played': 0, 'won': 0, 'draws': 0, 'loss': 1, 'points': 0}}
Run Code Online (Sandbox Code Playgroud)

您能解释一下为什么会发生这种情况吗?

python

0
推荐指数
1
解决办法
72
查看次数

Python:我可以断言一个值在另一个值的一定百分比范围内吗

我希望能够检查两个变量是否各自占一定的百分比,例如,如果我有

value1 = 200 
value2 = 210 
Run Code Online (Sandbox Code Playgroud)

我想检查如果值 2 比值 1 大 10% 以上,则会抛出警告错误,这可以在 python 代码中执行吗?

python

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

标签 统计

python ×11

django ×2

list ×2

python-2.7 ×2

for-loop ×1

image ×1

java ×1

jframe ×1

python-2.6 ×1

python-3.x ×1

sequence ×1

string ×1