草庐IT

some_other_func

全部标签

python - 什么是 func_dict?

如果我在python中创建一个简单的函数,它同时具有__dict__和func_dict作为属性,它们都以空字典开始:>>>deffoo():...return42...>>>foo.__dict__{}>>>foo.func_dict{}如果我向foo添加一个属性,它会同时显示在以下两个中:>>>foo.x=7>>>foo.__dict__{'x':7}>>>foo.func_dict{'x':7}这些属性有什么区别?是否有一个特定的用例? 最佳答案 它们是同一个底层字典的别名。您应该使用__dict__,因为func_dict在

python - Python 中 __func__ 的等价物(来自 C)

我想为python创建某种调试输出,并想将函数名传递给另一个函数进行输出。我发现唯一合理的方法是:deffoobar():print'helloworld'printfoobar.__name__有没有什么东西可以对当前函数做同样的事情来改进该行的复制和粘贴?类似于C语言中的printf("%s",__func__)。 最佳答案 您可以尝试的一件事是创建一个装饰器来执行此操作:deftraceme(func):defnewfunc(*args,**kwargs):ret=func(*args,**kwargs)printfunc._

python - 当我调用 `super(some_cls)` 时会发生什么魔法吗?

调查时thisquestion,我遇到了单参数super的这种奇怪行为:调用super(some_class).__init__()在some_class(或其子类)的方法内部工作,但在任何地方调用时都会抛出异常否则。代码示例:classA():def__init__(self):super(A).__init__()#doesn'tthrowexceptiona=A()super(A).__init__()#throwsexception抛出的异常是Traceback(mostrecentcalllast):File"untitled.py",line8,insuper(A).__i

Python 语言检测 : choose between one language or the other only

我正在使用langdetect来确定一组字符串的语言,我知道这些字符串是英语或法语。有时,langdetect告诉我,对于一个我知道是法语的字符串,语言是罗马尼亚语。如何让langdetect只选择英语或法语,而不是所有其他语言?谢谢! 最佳答案 选项1一个选择是使用包langid代替。然后您可以通过方法调用简单地限制语言:importlangidlangid.set_languages(['fr','en'])#ISO639-1codeslang,score=langid.classify('Thisisafrenchorengl

python - Python 中的 Tarfile : Can I untar more efficiently by extracting only some of the data?

我正在从USGS订购一大堆陆地卫星场景,这些场景作为tar.gz存档。我正在编写一个简单的python脚本来解压缩它们。每个文件包含15张大小为60-120MB的tiff图像,总计刚刚超过2GB。我可以使用以下代码轻松提取整个文件:importtarfilefileName="LT50250232011160-SC20140922132408.tar.gz"tfile=tarfile.open(fileName,'r:gz')tfile.extractall("newfolder/")我实际上只需要这15个tiff中的6个,在标题中标识为“带”。这些是一些较大的文件,因此它们加在一起约

python - 在 Python 中,some_string.lower() 和 str.lower(some_string) 有什么区别

我对Python中的内置方法感到困惑。例如,什么是some_string.lower()和str.lower(some_string)它们有何不同? 最佳答案 str是Python中所有字符串的类名。str.lower是它的方法之一。如果您在其中一个实例上调用lower(例如'ABC'.lower()),您将调用一个绑定(bind)方法,它自动将调用的对象作为第一个参数发送(通常称为self)。如果您在类本身上调用lower(即您使用str.lower()),那么您调用了一个未绑定(bind)方法,它不会自动提供self参数。因此,

python 3 : Most efficient way to create a [func(i) for i in range(N)] list comprehension

假设我有一个函数func(i),它为整数i创建一个对象,而N是某个非负整数。那么创建等于此列表的列表(不是范围)的最快方法是什么mylist=[func(i)foriinrange(N)]不求助于高级方法,例如在C中创建函数?我对上述列表理解的主要关注是我不确定python是否事先知道range(N)的长度来预分配mylist,因此必须逐步重新分配列表。是这种情况还是python足够聪明,可以先将mylist分配给长度N,然后再计算它的元素?如果没有,创建mylist的最佳方法是什么?也许是这个?mylist=[None]*Nforiinrange(N):mylist[i]=func(

python Pandas : groupby one level of MultiIndex but remain other levels instead

假设我有一个DataFrame:importnumpyasnpimportpandasaspddf=pd.DataFrame(np.arange(0,24).reshape((3,8)))df.columns=pd.MultiIndex.from_arrays([['a1','a1','a2','a2','b1','b1','b2','b2'],['4th','5th','4th','5th','4th','5th','4th','5th']])print(df)输出:a1a2b1b24th5th4th5th4th5th4th5th001234567189101112131415216

python multiprocessing - 在使用 Process.start(target=func) 调用的函数中访问进程名称

我正在玩python多处理模块,希望能够显示当前正在执行的进程的名称。如果我创建一个继承自multiprocessing.Process的自定义MyProcess类,我可以按以下方式打印进程的名称frommultiprocessingimportProcessclassMyProcess(Process):def__init__(self):Process.__init__(self)defrun(self):#dosomethingnastyandprintthenameprintself.namep=MyProcess()p.start()但是,如果我使用Process类的构造函数

python - some_string 中的 empty_string - 总是正确的?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyemptystringisoneverystring?我想知道为什么每当我检查空字符串是否在字符串中时Python都会返回True,以及为什么它的索引为零。例如:''in''=>true''.index('')=>0''in'notEmpty'=>true'notEmpty'.index('')=>0我在编写ROT13函数时注意到它,并对其进行测试我发现当我在空字符串上调用它时,它返回'n'('n'是字母表中的index13)。