LoginSignup
1

More than 3 years have passed since last update.

posted at

updated at

pythonをストレスなく使う!(ExpressionとStatement)

目的

 pythonをストレスなく使う!
そのためには、少しでも、理解のレベルを上げる必要あり。
なんでも、こだわって、、、、理解を深める。
ここで記載しているのは、
ExpressionとStatementの違いです。

参考にしている書籍:
[1]Python Pocket Reference,Fifth Edition
  by Mark Lutz
  Published by O'Reilly Media,Inc

ExpressionとStatement


>>> if a>3:
...     print(b)
...
>>>
>>>
>>> if a=3:
  File "<stdin>", line 1
    if a=3:
        ^
SyntaxError: invalid syntax
>>>

上記で示したのは、C言語とかと違って、a=3は、式(Expression)ではない
ということです。式でないので、SyntaxErrorになっている。

一方、a>3は、式(Expression)である。

pythonでは、代入文は、文であって式ではない。

特に意味のない情報ですが、ちなみに、
書籍[1]によると、
「The Expression Statement(式文)」
というものがある。式文は、式自体で、文となっているものという意味でいいと思います。

(以下、五行ほど、意味不明なので、削除。)
ということは、
Statementに2つあって
- Expressionと
- それ以外。

「The Expression Statement(式文)」の説明としては、
書籍引用

Any expression can appears as a statement(e.g.,on a line by itself).Conversely,statements cannot apper in any other expression context(e.g.,assignment statements have no result,and cannot be nested.)

となっています。

この書籍で示されている「The Expression Statement」の形式は、以下の3つ。
 expression
 function(-----)
 object.method(-----)

まとめ

Expression(式)とStatement(文)は、違います。
この違いを把握するメリットがあるかどうかは、いま、不明。でも、C言語との違いを理解をすることは、C言語習得者が多いはずなので、メリットはあるかも?
曖昧に理解すると、どこかで綻びが出るかもしれないので、、、、「式」と「文」は、区別しましょう。

関連(本人)

pythonをストレスなく使う!(Pythonでは、すべてがオブジェクトとして実装されている)
pythonをストレスなく使う!(Pylintに寄り添う)
英語と日本語、両方使ってPythonを丁寧に学ぶ。

今後

コメントなどあれば、お願いします。:candy:
勉強します、、、、
(参考:Python3.8で代入式が導入されるという記載をみました。)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1