teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

できない例の追加

2021/07/01 06:57

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -4,5 +4,6 @@
4
4
  その手法としては、3[.3.2. 属性値アクセスをカスタマイズする](https://docs.python.org/ja/3/reference/datamodel.html?highlight=__add__#customizing-attribute-access)に書かれているobject.__getattribute__を使っています。
5
5
 
6
6
  数値で始まるカラム名や空白を含むカラム名が使えない理由は、Pythonの字句解析がそういうものを解析できないからです。
7
+ したがって、'+', '-'のような演算記号とか、'('、'='のようなデリミタ、'if'、'for'、'break'のような予約語を属性名として使うことはできません。
7
8
 
8
9
  もともとpandas.DataFrameが持っている属性と同じカラム名が使えないのは、できてしまうと誤動作の原因になるので、それをできないように作ってるあるからです。