- ベストアンサー
Pythonやphpで変数を学びましたが、 定数
Pythonやphpで変数を学びましたが、 定数はどういう物を言うのでしょうか? 例をあげてほしいです
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> ただ大文字にするだけでは定数にならないんですね? > defineとして、大文字で書いて定数になるということですか? PHPではdefine関数を使って定数を定義する必要があります。 定数は大文字で無ければいけない訳ではありませんが、一般的なコーティング規約では定数名は大文字で記述するとしている場合が多いので、多くの人は定数名を大文字で書きます。 > そして一度定義すると、変更は一切できないということですか? PHPでは定数を変更することは出来ません。
その他の回答 (5)
- wormhole
- ベストアンサー率28% (1626/5665)
>定数は大文字ということだけわかりました いや、わかってないでしょ https://techacademy.jp/magazine/39679 には、そんな事書かれてないですよ・・・ 「pythonは言語仕様として定数はないので『変数名を全て大文字で書いた変数は、定数として扱いましょう。』というお約束をすることが多いです」とは書かれてますけど。
お礼
Pythonの場合は大文字なんですか?
- t_ohta
- ベストアンサー率38% (5292/13827)
> 例えば > $OKOZUKAI = '1000円'と大文字で書くと定数なんでしたっけ?その後の行で > $OKOZUKAI = '5000円' > と再代入で上書きされることはないんですか? 私はPHPがメインなのでPHPで説明すると define('OKOZUKAI', '1000円'); で定数が定義できます。 この定数を使って echo OKOZUKAI; ってプログラムを書くと「1000円」と出力されます。 定数の OKOZUKAI と変数の $OKOZUKAI は別物として扱われます。 define('OKOZUKAI', '1000円'); $OKOZUKAI = '2000円'; echo OKOZUKAI; <<「1000円」と出力 echo $OKOZUKAI; <<「2000円」と出力 一旦定義した定数は書き換えようとするとエラーになります。 define('OKOZUKAI', '1000円'); define('OKOZUKAI', '2000円'); <<ここでエラーが出る define('OKOZUKAI', '1000円'); OKOZUKAI = '2000円'; <<これもエラー
お礼
ただ大文字にするだけでは定数にならないんですね? defineとして、大文字で書いて定数になるということですか? そして一度定義すると、変更は一切できないということですか?
- t_ohta
- ベストアンサー率38% (5292/13827)
> 例えば > okozukai = '1500円' > という変数があった場合、このokozukaiがどこかで変わることはないですよね? okozukai = '1500円' ・・・・ okozukai = '2000円' とプログラムすれば変わります。 個人で趣味で一人作っているウチは定数の有り難みが判らないかもしれませんが、開発規模が大きくなって複数の人がソースコードを弄るようになると思いもよらないところで変数の中身を書き換えられてしまうことがあります。 例えば変数名に安易な名前を付けると、別の人が同じ変数名で別の値を持たせるプログラムを書いてしまったり、条件分岐の判定式を「$a == 'ABC'」と書かなければいけないところを「$a = 'ABC'」と代入式に書いてしまい値が入れ替わるなんてミスはありがちです。
お礼
例えば $OKOZUKAI = '1000円'と大文字で書くと定数なんでしたっけ?その後の行で $OKOZUKAI = '5000円' と再代入で上書きされることはないんですか?
- t_ohta
- ベストアンサー率38% (5292/13827)
変数とはプログラムが進行していく中で中身が変化するモノです。 定数は最初に値が設定されたらプログラムが終了するまで変化しないモノです。 プログラムの実行パスなど変化しない値は定数として設定しておくことで、プログラムミスなどで書き換えてしまうリスクが無くなります。
お礼
例えば okozukai = '1500円' という変数があった場合、このokozukaiがどこかで変わることはないですよね?
- sknbsknb2
- ベストアンサー率38% (1158/3037)
この解説を読んでみてください。 https://techacademy.jp/magazine/39679 変数と同じものを、入れた値が変わらないことを前提としているので定数と呼んでいるだけです。
お礼
ありがとうございます 定数は大文字ということだけわかりました それ以外は違いがよくわかりませんでした
お礼
ありがとうございます