小编8st*_*ve8的帖子

如何避免在实例之间共享类数据?

我想要的是这种行为:

class a:
    list = []

x = a()
y = a()

x.list.append(1)
y.list.append(2)
x.list.append(3)
y.list.append(4)

print(x.list) # prints [1, 3]
print(y.list) # prints [2, 4]
Run Code Online (Sandbox Code Playgroud)

当然,我打印时真正发生的是:

print(x.list) # prints [1, 2, 3, 4]
print(y.list) # prints [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

显然,他们正在课堂上分享数据a.如何获得单独的实例来实现我想要的行为?

python class

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

使用Python 3在wsgi中使用openID

我之前从未做过身份验证,但希望能够通过openID跟踪和验证用户身份.我看到了一些允许使用WSGI进行openID身份验证的模块,但是所有模块都是旧的,没有提到python3,所以我猜它们不起作用.

我想知道如何在WSGI和python3中处理/验证openID.一个简单的实现将不胜感激.

python openid mod-wsgi wsgi python-3.x

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

Python中的Unicode utf-8/utf-16编码

在python中:

u'\u3053\n'
Run Code Online (Sandbox Code Playgroud)

是utf-16吗?

我并不是真的知道所有unicode /编码的东西,但这种类型的东西出现在我的数据集中,就像我有a=u'\u3053\n'.

print 给出异常并且解码给出异常.

a.encode("utf-16") > '\xff\xfeS0\n\x00'
a.encode("utf-8") > '\xe3\x81\x93\n'

print a.encode("utf-8") > ?üô
print a.encode("utf-16") >  ?S0
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

python unicode encoding decoding

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

PowerShell与Python中的Unicode?Windows中的替代shell?

我想要一个在Windows上支持Unicode的shell.它出货的PowerShell似乎没有.

PowerShell V2(Windows 7 x64):

PS C:\> powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\> python
Python 2.6.2 (r262:71605, Apr 14 2009, 22:46:50) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> unicode_char=unichr(0xf12)
>>> unicode_char
u'\u0f12'
>>> print unicode_char
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\python26\lib\encodings\cp437.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u0f12' in position …
Run Code Online (Sandbox Code Playgroud)

python windows unicode powershell

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

使用exec()和python 3.2

通常,如果我用这段代码运行这些脚本:

x=5
exec("x+=1")
output=str(x)
Run Code Online (Sandbox Code Playgroud)

如果我在python控制台中执行上述操作,则输出的值为"6"但是如果它在函数内部运行,则exec不会更改x的值.

为什么会发生这种情况,我怎样才能在功能中获得与在控制台中相同的行为?

python python-3.x

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