AttributeError:“函数”对象没有属性“ func_name”和python 3

波斯湾

我下载了以下代码:

from __future__ import print_function
from time import sleep

def callback_a(i, result):
    print("Items processed: {}. Running result: {}.".format(i, result))

def square(i):
    return i * i

def processor(process, times, report_interval, callback):
    print("Entered processor(): times = {}, report_interval = {}, callback = {}".format(
    times, report_interval, callback.func_name))
    # Can also use callback.__name__ instead of callback.func_name in line above.
    result = 0
    print("Processing data ...")
    for i in range(1, times + 1):
        result += process(i)
        sleep(1)
        if i % report_interval == 0:
            # This is the call to the callback function 
            # that was passed to this function.
            callback(i, result)

processor(square, 20, 5, callback_a)

在python 2下工作正常,但是在python3下出现以下错误:

Traceback (most recent call last):
  File "test/python/cb_demo.py", line 33, in <module>
    processor(square, 20, 5, callback_a)
  File "test/python/cb_demo.py", line 21, in processor
    times, report_interval, callback.func_name))
AttributeError: 'function' object has no attribute 'func_name'

我需要在python3下工作。

爪子

在Python 3中,这种行为是可以预期的,因为它是从Python 2中更改的。根据此处的文档:

https://docs.python.org/3/whatsnew/3.0.html#operators-and-special-methods

已将名为func_X的函数属性重命名为使用该__X__表单,从而在函数属性名称空间中为用户定义的属性释放了这些名称。要机智,func_closure,func_code,func_defaults,func_dict,func_doc,func_globals,FUNC_NAME已更名为__closure____code____defaults____dict____doc____globals____name__,分别。

您会注意到提到的func_name重命名属性之一。您将需要使用__name__

Python 3中的示例代码:

>>> def foo(a):
...  print(a.__name__)
... 
>>> def c():
...  pass
... 
>>> 
>>> foo(c)
c

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

pytest AttributeError:在Python 3中引用固定装置时,“函数对象没有属性”

来自分类Dev

Python 3:AttributeError:“int”对象没有“选择”属性

来自分类Python

Python3 AttributeError:“列表”对象没有属性“清除”

来自分类Dev

AttributeError:“ map”对象没有属性“ index”(Python 3)

来自分类Dev

AttributeError:“ bytes”对象在python 3中没有属性“ encode”

来自分类Dev

AttributeError: 'tuple' 对象在 Python 3 中没有属性 'get'

来自分类Dev

AttributeError:“ filter”对象在Python 3中没有属性“ replace”

来自分类Dev

python3 AttributeError: 'list' 对象没有属性 'dot'

来自分类Dev

python函数作为类属性-AttributeError:对象没有属性

来自分类Dev

Selenium w / Python3-AttributeError:“ str”对象没有属性“ tag_name”

来自分类Dev

Python 3导入错误AttributeError:从C ++调用脚本时,'_ModuleLock_'对象没有属性'name'

来自分类Dev

Python3.x: TypeError: 'StringVar' 对象不可迭代 & AttributeError: 'StringVar' 对象没有属性 'items'

来自分类Dev

Python_MySQL:AttributeError:“函数”对象没有属性“翻译”

来自分类Dev

Python-AttributeError:“函数”对象没有属性“作者”

来自分类Dev

Python-AttributeError:“函数”对象没有属性“等级”

来自分类Dev

Python MySQL AttributeError:“函数”对象没有“执行”属性

来自分类Dev

python3-理解错误AttributeError:'_io.BufferedReader'对象没有属性'readv'

来自分类Linux

Python 3-Google Drive API:AttributeError:“资源”对象没有属性“子级”

来自分类Dev

Python 3:AttributeError:“模块”对象在终端中使用urllib时没有属性“ __path__”

来自分类Dev

Python3 Antlr4 AttributeError:“ CommonToken”对象没有属性“ getLine”

来自分类Dev

如何修复错误“ AttributeError:'模块'对象在python3中没有属性'客户端'?

来自分类Dev

AttributeError:'NoneType'对象没有属性'text'python3 +代理

来自分类Dev

python 3.x-AttributeError:“ user”对象没有属性“ __plusPotion”

来自分类Dev

AttributeError: 'int' 对象没有属性 'replace' python3.x

来自分类Dev

python dbf table.export | AttributeError: 'Db3Table' 对象没有属性 'export'

来自分类Dev

Python 3.x - AttributeError: 'function' 对象没有属性 'Kfold'

来自分类Dev

虚拟环境上的Opencv3和Python 2.7-AttributeError:“模块”对象没有属性“ createLBPHFaceRecognizer”

来自分类Dev

AttributeError:“ str”对象没有属性“ name”

来自分类Dev

AttributeError:'Doctype'对象没有属性'name'

Related 相关文章

  1. 1

    pytest AttributeError:在Python 3中引用固定装置时,“函数对象没有属性”

  2. 2

    Python 3:AttributeError:“int”对象没有“选择”属性

  3. 3

    Python3 AttributeError:“列表”对象没有属性“清除”

  4. 4

    AttributeError:“ map”对象没有属性“ index”(Python 3)

  5. 5

    AttributeError:“ bytes”对象在python 3中没有属性“ encode”

  6. 6

    AttributeError: 'tuple' 对象在 Python 3 中没有属性 'get'

  7. 7

    AttributeError:“ filter”对象在Python 3中没有属性“ replace”

  8. 8

    python3 AttributeError: 'list' 对象没有属性 'dot'

  9. 9

    python函数作为类属性-AttributeError:对象没有属性

  10. 10

    Selenium w / Python3-AttributeError:“ str”对象没有属性“ tag_name”

  11. 11

    Python 3导入错误AttributeError:从C ++调用脚本时,'_ModuleLock_'对象没有属性'name'

  12. 12

    Python3.x: TypeError: 'StringVar' 对象不可迭代 & AttributeError: 'StringVar' 对象没有属性 'items'

  13. 13

    Python_MySQL:AttributeError:“函数”对象没有属性“翻译”

  14. 14

    Python-AttributeError:“函数”对象没有属性“作者”

  15. 15

    Python-AttributeError:“函数”对象没有属性“等级”

  16. 16

    Python MySQL AttributeError:“函数”对象没有“执行”属性

  17. 17

    python3-理解错误AttributeError:'_io.BufferedReader'对象没有属性'readv'

  18. 18

    Python 3-Google Drive API:AttributeError:“资源”对象没有属性“子级”

  19. 19

    Python 3:AttributeError:“模块”对象在终端中使用urllib时没有属性“ __path__”

  20. 20

    Python3 Antlr4 AttributeError:“ CommonToken”对象没有属性“ getLine”

  21. 21

    如何修复错误“ AttributeError:'模块'对象在python3中没有属性'客户端'?

  22. 22

    AttributeError:'NoneType'对象没有属性'text'python3 +代理

  23. 23

    python 3.x-AttributeError:“ user”对象没有属性“ __plusPotion”

  24. 24

    AttributeError: 'int' 对象没有属性 'replace' python3.x

  25. 25

    python dbf table.export | AttributeError: 'Db3Table' 对象没有属性 'export'

  26. 26

    Python 3.x - AttributeError: 'function' 对象没有属性 'Kfold'

  27. 27

    虚拟环境上的Opencv3和Python 2.7-AttributeError:“模块”对象没有属性“ createLBPHFaceRecognizer”

  28. 28

    AttributeError:“ str”对象没有属性“ name”

  29. 29

    AttributeError:'Doctype'对象没有属性'name'

热门标签

归档