什么是关于Python和CPython (Jython,IronPython)的所有这些大惊小怪,我不明白:
python.org提到CPython是:
Python的"传统"实现(绰号CPython)
CPython是Python的默认字节码解释器,用C语言编写.
老实说,我没有得到这两个解释实际上意味着什么,但我认为,如果我使用CPython,这意味着当我运行示例python代码时,它将它编译为C语言,然后执行它就好像它是C码
那么CPython究竟是什么呢?与python相比它有何不同?我是否应该使用CPython而不是Python,如果有的话,它有什么优势呢?
这里已经有一个很棒的问答,用于在 python 中创建非类型化字典。我正在努力弄清楚如何创建类型字典然后向其中添加内容。
我想做的一个例子是......
return_value = Dict[str,str]
for item in some_other_list:
if item.property1 > 9:
return_value.update(item.name, "d'oh")
return return_value
Run Code Online (Sandbox Code Playgroud)
...但这让我犯了一个错误descriptor 'update' requires a 'dict' object but received a 'str'
我尝试了上述声明的一些其他排列
return_value:Dict[str,str] = None
Run Code Online (Sandbox Code Playgroud)
错误与'NoneType' object has no attribute 'update'. 并尝试
return_value:Dict[str,str] = dict()
Run Code Online (Sandbox Code Playgroud)
或者
return_value:Dict[str,str] = {}
Run Code Online (Sandbox Code Playgroud)
两个错误都与update expected at most 1 arguments, got 2. 我不知道这里需要什么来创建一个空的类型字典,就像在 c# ( var d = new Dictionary<string, string>();) 中一样。如果可能的话,我宁愿不回避类型安全。有人可以指出我遗漏了什么或做错了什么吗?