FloorDivやDiv、Add、Subなどが定義されているコードを検索しますが、私が望むような定義はありません。パイソン/ compile.cでPythonどこにコンパイラ/パーサのFloorDivideの定義/ソースコードがありますか?
case DOUBLESLASH:
return FloorDiv;
case '/':
if (STR(n)[1] == '/')
return FloorDiv;
else
return Div;
:パーサ/ Python.asdlで
case BINARY_FLOOR_DIVIDE:
case BINARY_TRUE_DIVIDE:
return -1;
case INPLACE_FLOOR_DIVIDE:
case INPLACE_TRUE_DIVIDE:
return -1;
:パイソン/ ast.cで
operator = Add | Sub | Mult | MatMult | Div | Mod | Pow | LShift
| RShift | BitOr | BitXor | BitAnd | FloorDiv
文法/文法:
arith_expr: term (('+'|'-') term)*
term: factor (('*'|'@'|'/'|'%'|'//') factor)*
http://eli.thegreenplace.net/2010/06/30/python-internals-adding-a-new-statement-to-python/私が何をしたい論文の場所を見つけるために私を助けなく。
ありがとうございます!それは完璧な答えです! –
Cpythonが文字列を連結するちょっとした質問です。 –
Objects/unicodeobject.c(PyUnicode_Append)とPython/ceval.c(unicode_concatenate)の組み合わせのようです。何らかの理由で(おそらくパフォーマンス)、Unicode型は '__add__'や' __iadd__'を定義しませんが、これらは明示的にcevalで扱われます。 –