• 締切済み

python [ ] 演算子?

pyhonで、文字列・リストのindex(要素)にアクセスするのに[ ]を使うが、これは演算子と考えて良いのか疑問に思った。 pythonは”数学的正確さ”を目指した言語である以上、演算・関数・メソッドのいずれかに含められるはずで、関数・メソッドでない以上演算子であると考えるのが普通だと思うが、いかがでしょうか? indexにアクセスするものとの説明があるが、[ ]がどこに分類されるかの説明が見受けられない。 いかがなものでしょうか?

みんなの回答

noname#161640
noname#161640
回答No.1

[]は、演算子ではなく、デリミッタです。 >pythonは”数学的正確さ”を目指した言語である以上、演算・関数・メソッドのいずれかに含められるはずで なぜそのように思われるのかわからないのですが(なにかの書籍に書いてあったのでしょうか……)、Pythonのトークンとしては、識別子 (identifier)、キーワード(keyword)、リテラル、 演算子 (operator) 、デリミッタ (delimiter) 、空白行といったものがあります。[]はデリミッタの一種で、()や{}、また@などもあります。ちなみに、関数やメソッドは粒度の異なる概念ですのでトークンの要素とはなりません。どっちかというとデータモデルの話になりますね。

PHYOPHYO
質問者

補足

Perlは文学的、Pythonは数学的と何かの本にかいてありました。 それは、構わないのですが、トークンの話は参考になりました。 <<関数やメソッドは粒度の異なる概念ですのでトークンの要素とはなりません。どっちかというとデータモデルの話になりますね。>>で、そのデータモデルでOperator,Demiliterを使うのは、データモデルで考えて ”関数” ”メソッド” ”演算”の ”演算” と考えるのでしょうか? データモデルとして、”関数” ”メソッド” の他になにがかんがえられるのでしょうか? よろしく願います。 

関連するQ&A