python - 一个旨在接受 2 个参数但不接受的函数
问题描述
嘿,我有一个非常简单且可能很愚蠢的问题要问,我正在尝试编写一个函数,该函数将接受两个参数,一个潜在的键和字典名称,如果键不在字典中,它应该返回类似于“x”的东西是无效键。这是我到目前为止所拥有的:
test_dictionary = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
def show_value():
i = ()
if i in test_dictionary:
pass
else:
print((i)('is not a valid key'))
show_value(1, test_dictionary)
现在,当我运行此代码时,它说 show_value 接受 0 个位置参数,但给出了两个,但是当我尝试输入 2 个参数时,它说“元组”对象不可调用。对此的任何帮助将不胜感激
解决方案
问题:
函数定义与函数调用不匹配。如果您传递两个参数,则接收端也应该有两个。
i = ()
创建一个元组(如果您已通过它,则不需要并替换i
值)。使用(i)(..)
,您试图调用一个元组对象,这是不可能的。
工作代码:
test_dictionary = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
def show_value(i, dictionary):
if i in test_dictionary:
print(f'{i} found')
else:
print(f'{i} not found')
show_value(6, test_dictionary)
推荐阅读
- wordpress - 如何在 wordpress 中阻止恶意 GET 请求
- bash - 如何将 SIMD bash 命令转换为 GPU 可处理命令?
- javascript - 使用 HTML 部分进行无限加载
- javascript - 如何为带有 JS 和 NodeJS 服务器的标准 html 页面正确配置 app.yaml?
- java - Spring Boot 使用 ClientDetailsUserDetailsService 加载 ClientDetails
- angular - 如何将 Ionic 框架与自定义 webpack 配置集成到现有的 Angular 应用程序中?
- laravel - 如果用户使用 Laravel 不活跃,则抛出错误消息
- batch-file - 如何使用批处理文件将变量作为剪贴板发送
- javascript - Firebase 实时数据库 - 如何构建初始负载和侦听器
- angular - 如何在角度7中过滤数组的数组