首页 / PYTHON / python在多维字典中使用函数
python在多维字典中使用函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python在多维字典中使用函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1774字,纯文字阅读大概需要3分钟。
内容图文
![python在多维字典中使用函数](/upload/InfoBanner/zyjiaocheng/767/1e501c6ed5704c4d9aea1a2a680a23d3.jpg)
def func():
something
d = { 'func': func }
d['func']() # callable
d2 = { 'type': { 'func': func } }
d2['type']['func']() # not callable
d3 = { 'type': { 'func': func() } }
d3['type']['func']() # callable
d和d2有什么不同?
为什么d3可以调用而d2不可调用?
这段代码是可执行的,但pycham突出显示d2’func’并说’dict对象不可调用
解决方法:
在python中定义一个函数会使它可调用.完成后它的作用只有在你实际调用它时才会有用(通过使用()–operator).如果没有return语句的定义,该函数将返回None.如下所述:Python — return, return None, and no return at all.
当执行提供的命令时,一旦你尝试调用函数func,它就会变成肚子,因为没有定义.我担心pycharm会做一些无效的突出显示. d和d2是可调用的,但d3不是.由于在分配d3时调用func,因此在此处出错并且d3不存在.
Python 2.7.12 (default, Oct 10 2016, 12:50:22)
[GCC 5.4.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
dlopen("/usr/lib/python2.7/lib-dynload/readline.dll", 2);
import readline # dynamically loaded from /usr/lib/python2.7/lib-dynload/readline.dll
>>>
>>> def func():
... something
...
>>> d = { 'func': func }
>>> d['func']()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in func
NameError: global name 'something' is not defined
>>>
>>> d2 = { 'type': { 'func': func } }
>>> d2['type']['func']()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in func
NameError: global name 'something' is not defined
>>>
>>> d3 = { 'type': { 'func': func() } }
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in func
NameError: global name 'something' is not defined
>>> d3['type']['func']()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'd3' is not defined
内容总结
以上是互联网集市为您收集整理的python在多维字典中使用函数全部内容,希望文章能够帮你解决python在多维字典中使用函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。