为什么在这个千年中Python PEP-8应该指定最大行长度为79个字符?
几乎每个阳光下的代码编辑器都可以处理更长的行.如何处理包装应该是内容使用者的选择,而不是内容创建者的责任.
在这个时代,有没有(合法的)充分理由坚持79个角色?
在Python中比较某些对象的两个实例是否相同的最佳方法是什么?我希望能够做类似的事情
例:
class MyClass:
def __init__(self, foo, bar):
self.foo = foo
self.bar = bar
Run Code Online (Sandbox Code Playgroud)
编辑:
进一步澄清这个问题.我想通过属性值进行比较,并制作一个更通用的解决方案
x = MyClass('foo', 'bar')
y = MyClass('foo', 'bar')
Run Code Online (Sandbox Code Playgroud)
MyClass方法看起来应该是这样的吗?
>>> x == y
False
Run Code Online (Sandbox Code Playgroud) 我想int加入一个string.这就是我现在正在做的事情:
num = 40
plot.savefig('hanning40.pdf') #problem line
Run Code Online (Sandbox Code Playgroud)
我必须运行几个不同数字的程序,而不是两个40.所以我想做一个循环但插入这样的变量不起作用:
plot.savefig('hanning', num, '.pdf')
Run Code Online (Sandbox Code Playgroud)
如何将变量插入Python字符串?
我想subprocess.check_output()用ps -A | grep 'process_name'.我尝试了各种解决方案,但到目前为止没有任 有人可以指导我怎么做吗?
假设我有一个字典,其中键映射到整数,如:
d = {'key1': 1,'key2': 14,'key3': 47}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,是否有一种语法简约的方法来返回d-ie 62中的值的总和?
我有一个包含值的.txt文件.
值如下所示:
Value1
Value2
Value3
Value4
Run Code Online (Sandbox Code Playgroud)
我的目标是将值放在列表中.当我这样做时,列表看起来像这样:
['Value1\n', 'Value2\n', ...]
该\n是没有必要的.
这是我的代码:
t = open('filename.txt', 'r+w')
contents = t.readline()
alist = []
for i in contents:
alist.append(i)
Run Code Online (Sandbox Code Playgroud) 我想使用multiprocessing的Pool.map()功能,同时划分出工作.当我使用以下代码时,它工作正常:
import multiprocessing
def f(x):
return x*x
def go():
pool = multiprocessing.Pool(processes=4)
print pool.map(f, range(10))
if __name__== '__main__' :
go()
Run Code Online (Sandbox Code Playgroud)
但是,当我在面向对象的方法中使用它时,它不起作用.它给出的错误信息是:
PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup
__builtin__.instancemethod failed
Run Code Online (Sandbox Code Playgroud)
当以下是我的主程序时会发生这种情况:
import someClass
if __name__== '__main__' :
sc = someClass.someClass()
sc.go()
Run Code Online (Sandbox Code Playgroud)
以下是我的someClass课程:
import multiprocessing
class someClass(object):
def __init__(self):
pass
def f(self, x):
return x*x
def go(self):
pool = multiprocessing.Pool(processes=4)
print pool.map(self.f, range(10))
Run Code Online (Sandbox Code Playgroud)
任何人都知道问题可能是什么,或者一个简单的方法呢?
我是Python的新手,我完全感到困惑,.join()因为我已经阅读过它是连接字符串的首选方法.
我试过了:
strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring().join(strid)
Run Code Online (Sandbox Code Playgroud)
有类似的东西:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
Run Code Online (Sandbox Code Playgroud)
它为什么这样工作?不应该595只是自动附加?
我收到了一些编码的文本,但我不知道使用了什么字符集.有没有办法使用Python确定文本文件的编码?如何检测文本文件的编码/代码页处理C#.
当你想在Python中清除一个列表时,有没有理由做这些比这两行更复杂的事情?
old_list = []
old_list = list()
Run Code Online (Sandbox Code Playgroud)
我问的原因是我刚刚在一些正在运行的代码中看到了这个:
del old_list[ 0:len(old_list) ]
Run Code Online (Sandbox Code Playgroud) python ×10
list ×2
string ×2
dictionary ×1
encoding ×1
equality ×1
hash ×1
linux ×1
pep8 ×1
pickle ×1
pipe ×1
pool ×1
python-2.7 ×1
readline ×1
subprocess ×1
sum ×1
text-files ×1
variables ×1