アプリ版:「スタンプのみでお礼する」機能のリリースについて

初心者なんですが パイソンのクラスについて
class AomorikenClass:

   """ """
hirosakisi= AomorikenClass()
hirosakisi.name="弘前市"
print(hirosakisi.name)

だと 弘前市と出てくるが
   
   """ """

をとるとエラーになるのはなぜなんでしょうか?

A 回答 (3件)

> エラーになるのはなぜなんでしょうか?



恐らくindentation block エラー?
単に構文が崩れるから。
classを使った後、「本体がない」状態だと、うまい具合構文を解析出来ないから。
空白部分がキチンとあるよ、って知らしめる為だけにindent + """ """が効いてる状態なわけだ。
だから""" """を削除するとエラーになる。

Pythonの文法上は、「特に何をしたいわけじゃないんだけど、構文上何か置かないとならない」場合、通常passを使う。

class AomorikenClass:
 pass

hirosakisi= AomorikenClass()
hirosakisi.name="弘前市"
print(hirosakisi.name)

こうすれば「何もしたくない」+「構文上何か必要」と言う質問のケースに対応する事が出来る。

なお、Pythonは「オブジェクト指向言語」じゃない。
オブジェクト指向言語は「オブジェクト指向で書く事を強制する」(Javaのように)が、別にPythonは強制しない。
単に「オブジェクト指向でも書ける」言語なだけだ。
    • good
    • 1

具体的に、どんなエラーになってますか?




Python の文法規則では(if,for,class等の) : (コロン)を使う構文では
・ : の直後に改行無しで1文だけ
または
・ : の後に改行し、次の行は(空行を除いて) コロンのある行より1つ以上先頭の空白を増やしたブロック
を必要とします。

そのコードでは   """ """ がある場合のある場合は、ここが「1つ以上字下げを増やしたブロック」に該当するので正規なものになり、
ない場合は、 hirosakisi= AomorikenClass() がclass〜と同じ字下げなので不当なものになります。

# そもそも、なんでこんなコードにしたいのか、空のクラスを使いたいのか、意図がわかりませんが。
    • good
    • 1

Pythonは、オブジェクト指向プログラミング言語の1つです。

オブジェクト指向とは、値やそれを扱うためのソースコードをまとめて「オブジェクト(物)」として扱う考え方です。 オブジェクトを表現するために重要な機能が、「クラス」です。 クラスは、オブジェクトを生成するときのひな型のようなものです。エラーになるのは分かりません。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!