1. ホーム
  2. python

[解決済み] Pythonのリテラルとは何ですか?[重複しています]。

2022-03-15 15:19:33

質問

Pythonのリテラルとは一体何なのでしょうか?私はgoogleやpythonドキュメントでその答えを探しましたが、googleは文字列リテラルを参照するだけで、pythonドキュメントはリテラルが何であるかを明示していません。私はこのページに出会いました。 http://www.dalkescientific.com/writings/NBN/python_intro/literals.html という質問に対して、以下のような回答がありました。

オブジェクトはデータ構造とも呼ばれます。Pythonにはいくつかの組み込みオブジェクトが用意されています。いくつかは非常に頻繁に使用されるため、Pythonはリテラルと呼ばれるこれらのオブジェクトを素早く作成する方法を備えています。リテラルには、文字列、Unicode文字列、整数、float、long、リスト、タプル、辞書型があります。

これで良いのでしょうか?リテラルはpythonの組み込みオブジェクトの別称に過ぎないと考えていいのでしょうか。説明で取り上げられなかったリテラルは他にもあるのでしょうか?私は、バイナリ・リテラルというものがあり、ブーリアンもリテラルとみなされるという印象を持っていました。

どのように解決するのですか?

リテラルとは、パーサーがオブジェクトを直接書き込むための構文として認識するものです。Python 2でのいくつかの例です。

  • 0 , 1 , 2 , 3 ( int リテラル)
    • -1 , -2 などは、リテラルそのものではなく、単項の - 演算子です。
  • 5j , 3.14j (非負の純虚数 complex リテラル)
    • その他の複雑な値、例えば 2+3j , 2-3j および -5j は式です。 様々な演算子が含まれる。
  • 3.5 , -2.7 ( float リテラル)
  • "" , "hello" ( str リテラル)
  • u"" , u"hello" ( unicode リテラル)
  • None (I 考える は、キーワードや単純な名前ではなく、リテラルとみなされます)。

その他、ディスプレイと呼ばれるリテラルのような表現があり、様々なコンテナを作成するのに使用される。これらは、非リテラル表現を含むことができるので、真のリテラルではありません(例. [x, y] ).

  • [] , [1,2] ( list の表示)
  • () , (1,) , (1,2) ( tuple の表示)
  • {} , {'a': 2} ( dict の表示)
  • {1,2,3} ( set ディスプレイは Python 2.7 で導入されました)

空集合にはリテラルもディスプレイもありません。 {} は はすでに dict を表示します。Python 2 は真のブールリテラルを持ちません。 TrueFalse は、単にブール型オブジェクトの組み込み名です。タプルは技術的にはコンマによって生成され、括弧は式を曖昧にする必要がある場合にのみ必要です。 () .

Python 3での違いについては、phihagさんの回答を参照してください。