小编Sil*_*ost的帖子

如何为对象列表调用相同的方法?

假设这样的代码:

class Base:
    def start(self):
        pass
    def stop(self)
        pass

class A(Base):
    def start(self):
        ... do something for A
    def stop(self)
        .... do something for A

class B(Base):
    def start(self):

    def stop(self):

a1 = A(); a2 = A()
b1 = B(); b2 = B()

all = [a1, b1, b2, a2,.....]
Run Code Online (Sandbox Code Playgroud)

现在我想为列表中的每个对象调用方法start和stop(也许还有其他).除了写一堆像这样的函数之外,还有什么优雅的方法吗?

def start_all(all):
    for item in all:
        item.start()

def stop_all(all):
Run Code Online (Sandbox Code Playgroud)

python

62
推荐指数
6
解决办法
8万
查看次数

Python中"string"和"string"之间有什么区别吗?

在PHP中,用"双引号"括起来的字符串将被解析为要替换的变量,而用"单引号"括起来的字符串则不会.在Python中,这也适用吗?

python string quotes double-quotes

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

如何在python中对字母数字集进行排序

我有一套

set(['booklet', '4 sheets', '48 sheets', '12 sheets'])
Run Code Online (Sandbox Code Playgroud)

排序后我希望它看起来像

4 sheets,
12 sheets,
48 sheets,
booklet
Run Code Online (Sandbox Code Playgroud)

请问任何想法

python sorting

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

获取Python字典的子集

我有一本字典:

{'key1':1, 'key2':2, 'key3':3}
Run Code Online (Sandbox Code Playgroud)

我需要将该字典的子集传递给第三方代码.它只需要一个包含键的字典['key1', 'key2', 'key99'],如果它获得另一个键(例如'key3'),它会在一个令人讨厌的混乱中爆炸.有问题的代码是我无法控制的,所以我离开了我必须清理字典的位置.

将字典限制为一组键的最佳方法是什么?

鉴于上面的示例字典和允许的键,我想:

{'key1':1, 'key2':2}
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

比较python中的时间增量

我有一个变量,<type 'datetime.timedelta'>我想将它与某些值进行比较.

让我们说d产生这个datetime.timedelta0:00:01.782000

我想比较一下:

#if d is greater than 1 minute 
if d>1:00:
  print "elapsed time is greater than 1 minute"
Run Code Online (Sandbox Code Playgroud)

我尝试过转换,datetime.timedelta.strptime()但似乎确实有效.是否有更简单的方法来比较这个值?

python datetime timedelta

59
推荐指数
4
解决办法
8万
查看次数

在Python中使用"is"或"=="进行数字比较是否更好?

使用"is"运算符或"=="运算符来比较Python中的两个数字是否更好?

例子:

>>> a = 1
>>> a is 1
True
>>> a == 1
True
>>> a is 0
False
>>> a == 0
False
Run Code Online (Sandbox Code Playgroud)

python

55
推荐指数
4
解决办法
9万
查看次数

如何使git存储库成为只读?

我有一些通过SSH远程访问的git存储库,我想让它们中的一些只读,以防止更多的推送.有些人有遥控器指向这些存储库.

这些裸存储库已初始化--shared=group,因此将所有文件的文件权限设置为660,足以保持SSH访问,但禁止写入?或者有更简单的方法吗?

干杯.

git readonly

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

使用八进制数时无效的令牌

我是python的初学者,我正在尝试在我的脚本中使用八进制数字,但是当我尝试它时,它会返回我的错误:

>>> a = 010
SyntaxError: invalid token (<pyshell#0>, line 1)
>>> 01
SyntaxError: invalid token (<pyshell#1>, line 1)
Run Code Online (Sandbox Code Playgroud)

我的代码有问题吗?我正在使用Python3(并阅读python 2.2书)

python syntax octal python-3.x

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

__path__对什么有用?

我从来没有注意到__path__今天之前在我的某些软件包上定义的属性.根据文件:

包支持另一个特殊属性__path__.这被初始化为一个列表,其中包含在__init__.py执行该文件中的代码之前保存包的目录的名称.这个变量可以修改; 这样做会影响将来对包中包含的模块和子包的搜索.

虽然通常不需要此功能,但它可用于扩展程序包中的模块集.

有人可以向我解释这究竟是什么意思以及为什么我会想要使用它?

python module path

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

Python搜索列表列表

我有一个两项列表的列表,需要搜索其中的内容.

如果列表是:

list =[ ['a','b'], ['a','c'], ['b','d'] ]
Run Code Online (Sandbox Code Playgroud)

我可以轻松地搜索一对

['a','b'] in list
Run Code Online (Sandbox Code Playgroud)

现在,有没有办法看看我是否有一对在第二个位置存在字符串?我可以做这个:

for i in range (0, len(list)):
    if list[i][1]==search:
       found=1
Run Code Online (Sandbox Code Playgroud)

但是没有for循环是否有更好的方法?我i发现它不需要知道或保持循环.

python list

52
推荐指数
7
解决办法
15万
查看次数