小编mar*_*eau的帖子

如何解析ISO 8601格式的日期?

我需要将RFC 3339字符串解析"2008-09-03T20:56:35.450686Z"为Python的datetime类型.

strptime在Python标准库中找到了,但它不是很方便.

做这个的最好方式是什么?

python datetime iso8601 rfc3339 datetime-parsing

583
推荐指数
21
解决办法
36万
查看次数

为什么在__new __()后总是调用__init __()?

我只是想简化我的一个类,并引入了一些与flyweight设计模式相同的功能.

但是,我有点困惑,为什么__init__总是被称为__new__.我没想到这个.任何人都可以告诉我为什么会这样,以及我如何能够实现这个功能呢?(除了将实施放入__new__感觉相当hacky之外.)

这是一个例子:

class A(object):
    _dict = dict()

    def __new__(cls):
        if 'key' in A._dict:
            print "EXISTS"
            return A._dict['key']
        else:
            print "NEW"
            return super(A, cls).__new__(cls)

    def __init__(self):
        print "INIT"
        A._dict['key'] = self
        print ""

a1 = A()
a2 = A()
a3 = A()
Run Code Online (Sandbox Code Playgroud)

输出:

NEW
INIT

EXISTS
INIT

EXISTS
INIT
Run Code Online (Sandbox Code Playgroud)

为什么?

python design-patterns class-design

525
推荐指数
14
解决办法
26万
查看次数

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

如何使用print()打印类的对象?

我正在学习Python中的绳索.当我尝试Foobar使用该print()函数打印类的对象时,我得到如下输出:

<__main__.Foobar instance at 0x7ff2a18c>
Run Code Online (Sandbox Code Playgroud)

有没有办法可以设置及其对象打印行为(或字符串表示)?例如,当我调用类对象时,我想以某种格式打印其数据成员.如何在Python中实现这一点?print()

如果您熟悉C++类,则可以通过为类ostream添加friend ostream& operator << (ostream&, const Foobar&)方法来实现上述标准.

python printing class object

489
推荐指数
11
解决办法
68万
查看次数

re.search和re.match有什么区别?

Python 模块中的函数search()match()函数有什么区别?re

我已经阅读了文档(当前文档),但我似乎永远不会记住它.我不得不查阅并重新学习它.我希望有人会用例子清楚地回答它,以便(也许)它会坚持到底.或者至少我会有一个更好的地方回答我的问题,重新学习它将花费更少的时间.

python regex search match

483
推荐指数
8
解决办法
29万
查看次数

是否有列表的短包含功能?

我看到人们正在使用any收集另一个列表来查看列表中是否存在某个项目,但是有一个快速的方法可以做到吗?:

if list.contains(myItem):
    # do something
Run Code Online (Sandbox Code Playgroud)

python collections search contains list

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

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

我想知道最简单的方法是将string如下列表转换为list:

x = u'[ "A","B","C" , " D"]'
Run Code Online (Sandbox Code Playgroud)

即使用户在逗号和引号内的空格之间放置空格也是如此.我需要处理它:

x = ["A", "B", "C", "D"] 
Run Code Online (Sandbox Code Playgroud)

在Python中.

我知道我可以剥夺的空间与strip()split()使用拆分操作和检查非字母.但是代码变得非常糟糕.有一个我不知道的快速功能吗?

python string

465
推荐指数
11
解决办法
28万
查看次数

我如何使用Python的itertools.groupby()?

我无法找到关于如何实际使用Python itertools.groupby()函数的可理解的解释.我想要做的是这样的:

  • 列出一个列表 - 在这种情况下,是一个客观化lxml元素的孩子
  • 根据某些标准将其划分为不同的组
  • 然后分别迭代这些组中的每一个.

我已经阅读了文档示例,但是我在尝试将它们应用到简单的数字列表之外时遇到了麻烦.

那么,我该如何使用itertools.groupby()?我应该使用另一种技术吗?指向良好的"先决条件"阅读的指针也将受到赞赏.

python iteration

463
推荐指数
13
解决办法
26万
查看次数

如何计算两个给定日期之间的天数?

如果我有两个日期(例如'8/18/2008''9/26/2008'),那么获得这两个日期之间的天数的最佳方法是什么?

python date

463
推荐指数
11
解决办法
46万
查看次数

如何在Python中打破多个循环?

给出以下代码(不起作用):

while True:
    #snip: print out current state
    while True:
        ok = get_input("Is this ok? (y/n)")
        if ok.lower() == "y": break 2 #this doesn't work :(
        if ok.lower() == "n": break
    #do more processing with menus and stuff
Run Code Online (Sandbox Code Playgroud)

有没有办法让这项工作?或者我是否已经做了一次检查以突破输入循环,然后另一个更有限的检查外部循环以在用户满意的情况下将所有内容分开?

Edit-FYI: get_input是我编写的一个简短函数,支持显示提示和默认值以及所有那些幻想和返回__CODE__

python break control-flow

440
推荐指数
15
解决办法
35万
查看次数