Tag: python

在Python中是否存在可变名称元组?

任何人都可以修改namedtuple或提供一个替代类,使其适用于可变对象? 主要是为了可读性,我想要类似于namedtuple这样做: from Camelot import namedgroup Point = namedgroup('Point', ['x', 'y']) p = Point(0, 0) px = 10 >>> p Point(x=10, y=0) >>> px *= 10 Point(x=100, y=0) 必须可以腌制所得到的物体。 并且,根据命名元组的特性,当表示时,输出的sorting必须与构造对象时参数列表的顺序相匹配。 回复:感谢所有提交了build议的人。 我相信@intellimath提到的logging类是最好的解决scheme( 在这里也可以看到)。 recordclass 0.4 collections.namedtple的可变变体,支持赋值 recordclass是MIT授权的python库。 它实现了typesmemoryslots和工厂函数logging类,以创build类似logging的类。 memoryslots是元组types,它支持分配操作。 recordclass是一个工厂函数,用于创buildcollection.namedtple的“可变”模拟。 这个库实际上是一个“可变的”替代名称的问题的“概念certificate”。 我也对所有的build议进行了一些testing。 并不是所有这些function都被要求,所以比较并不公平。 这里的testing只是为了指出每个类的可用性。 # Option 1 (p1): @kennes913 # Option 2 (p2): @MadMan2064 # […]

Python:理解类和实例variables

我认为我对类和实例variables有一些误解。 这是一个示例代码: class Animal(object): energy = 10 skills = [] def work(self): print 'I do something' self.energy -= 1 def new_skill(self, skill): self.skills.append(skill) if __name__ == '__main__': a1 = Animal() a2 = Animal() a1.work() print a1.energy # result:9 print a2.energy # result:10 a1.new_skill('bark') a2.new_skill('sleep') print a1.skills # result:['bark', 'sleep'] print a2.skills # result:['bark', 'sleep'] 我认为energy和skill是阶级variables,因为我宣布他们没有任何方法。 […]

python pandas:将一个带有参数的函数应用于一系列

我想应用一个函数的参数在Pythonpandas系列: x = my_series.apply(my_function, more_arguments_1) y = my_series.apply(my_function, more_arguments_2) … 该文档描述了对apply方法的支持,但不接受任何参数。 有不同的方法可以接受参数吗? 另外,我错过了一个简单的解决方法? 更新(2017年10月):请注意,由于这个问题最初被要求pandas apply()已被更新以处理位置和关键字参数,上面的文档链接现在反映了这一点,并显示了如何包含任一types的参数。

如何正确地sorting一个数字string里面?

可能重复: Python是否有一个内置的string自然sorting函数? 我有一个包含数字的string列表,我找不到sorting它们的好方法。 例如,我得到这样的东西: something1 something12 something17 something2 something25 something29 用sort()方法。 我知道我可能需要以某种方式提取数字,然后对列表进行sorting,但是我不知道如何以最简单的方式进行sorting。

如何在Python中使用glob.glob模块search子文件夹?

我想打开一个文件夹中的一系列子文件夹,并find一些文本文件,并打印文本文件的一些行。 我正在使用这个: configfiles = glob.glob('C:/Users/sam/Desktop/file1/*.txt') 但是这也不能访问子文件夹。 有谁知道我可以如何使用相同的命令来访问子文件夹?

冒号(:)在Python列表索引

我是Python新手。 我看到:在列表索引中使用,尤其是当它与函数调用相关联时。 Python 2.7文档build议将lists.append翻译为a[len(a):] = [x] 。 为什么需要用冒号后缀len(a) ? 我明白:用于识别字典中的键。

Python类方法装饰W /自我参数?

如何将一个类字段作为parameter passing给一个类方法的装饰器? 我想要做的是这样的: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() 它抱怨自我不存在self.url传递给装饰者。 有没有解决的办法?

用于维护表格数据的内存数据结构?

我的情况如下:我有一个在我的程序中广泛使用的数据表(less数几个字段,不到一百行)。 我也需要这个数据是持久的,所以我把它保存为CSV并在启动时加载它。 我select不使用数据库,因为每一个选项(甚至是SQLite)对我的卑微的要求是一个矫枉过正的(也是 – 我想能够以一种简单的方式离线编辑值,没有什么比记事本简单)。 假设我的数据如下所示(在文件中逗号分隔,没有标题,这只是一个例子): Row | Name | Year | Priority ———————————— 1 | Cat | 1998 | 1 2 | Fish | 1998 | 2 3 | Dog | 1999 | 1 4 | Aardvark | 2000 | 1 5 | Wallaby | 2000 | 1 6 | Zebra | 2001 | […]

使matplotlibgraphics看起来像R默认?

有没有办法使matplotlib行为相同的R,或几乎像R,在绘图默认方面? 例如,R和matplotlib完全不同。 以下直方图 有“浮动轴”与外向蜱,这样就没有内部蜱(不像matplotlib )和轴不会越过“靠近”的原点。 另外,直方图可以“溢出”到未被勾号标记的值 – 例如,x轴在3处结束,但直方图稍微超出了它。 matplotlib所有直方图如何自动实现? 相关问题:散点图和线图在R中有不同的默认轴设置,例如: 没有内部的蜱再次和蜱向外面。 而且,在原点之后(y轴和x轴在轴的左下方交叉)稍微开始滴答,滴答在轴结束之前略微结束。 这样,最低x轴刻度和最低y轴刻度的标签不能真正交叉,因为它们之间有一个空间,这使得情节非常优雅干净的外观。 请注意,在蜱标签和蜱本身之间也有相当多的空间。 此外,默认情况下,未标记的x轴或y轴上没有刻度,表示左侧的y轴与右侧标记的y轴平行,没有刻度,x轴也是一样,再次从地块中消除混乱。 有没有办法让matplotlib看起来像这样? 一般来说,默认情况下,默认的R图是多less? 我非常喜欢matplotlib但是我认为R默认/开箱即可的绘图行为确实已经得到了正确的结果,而且它的默认设置很less会导致重叠的刻度标签,杂乱的或压扁的数据,所以我希望默认值是尽可能地多。

如何从IDLE交互式shell运行python脚本?

如何从IDLE交互式shell中运行python脚本? 以下引发错误: >>> python helloworld.py SyntaxError: invalid syntax