python - Python:将参数传递给函数的两种不同方式
问题描述
有人可以帮助我理解为什么这两种myfunc
使用相同参数的不同调用方式不一样吗?初学者在这里。
#!/usr/bin/env python3
def myfunc(ServiceCode,PaginationConfig):
print("ServiceCode: " + ServiceCode)
print("PaginationConfig: " + str(PaginationConfig))
# Method One
iterator = myfunc(ServiceCode='vpc',PaginationConfig={'MaxItems':123,\
'PageSize':123,'StartingToken':'TEST-TOKEN'}) # This works as expected
# Method Two
operation_parameters = {'ServiceCode':'vpc','PaginationConifg':{'MaxItems':123,\
'PageSize':123,'StartingToken':'TEST-TOKEN'}}
iterator = myfunc(**operation_parameters) # This results in "TypeError:\
myfunc() got an unexpected keyword argument 'PaginationConifg'"
解决方案
您的代码按预期工作。拼写有误。请找到第二个函数的工作代码及其输出:
operation_parameters = {'ServiceCode':'vpc','PaginationConfig':{'MaxItems':123,\
'PageSize':123,'StartingToken':'TEST-TOKEN'}}
iterator = myfunc(**operation_parameters)
输出
ServiceCode: vpc
PaginationConfig: {'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'TEST-TOKEN'}
推荐阅读
- reactjs - 如何在 Apollo/GraphQL 和 React 中使用状态和 useQuery?
- python-3.x - 从 anaconda navigator 启动 jupyter notebook 时出错
- python - 两个矩形与 NumPy 的交集
- laravel - Laravel,我可以在中间件中使用 auth('api')->user() 吗?
- google-chrome - 如何将自定义构建的 firefox/chrome 移动到另一个系统?
- python - Python 3.7 如何在我的公司 VPN 中增加 urllib.request.urlopen 中的超时时修复更长的下载时间
- flutter - 颤振 - 从 android 活动中调用方法
- javascript - AutoComplete ReactJS / Redux 不改变搜索值
- xamarin - 使用 Xamarin 的 Android 上的 IncompatibleClassChangeError
- javascript - 在 Algolia React Instantsearch 中异步加载一些数据