• ベストアンサー

Pythonやphpで変数を学びましたが、 定数

Pythonやphpで変数を学びましたが、 定数はどういう物を言うのでしょうか? 例をあげてほしいです

  • PHP
  • 回答数6
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.6

> ただ大文字にするだけでは定数にならないんですね? > defineとして、大文字で書いて定数になるということですか? PHPではdefine関数を使って定数を定義する必要があります。 定数は大文字で無ければいけない訳ではありませんが、一般的なコーティング規約では定数名は大文字で記述するとしている場合が多いので、多くの人は定数名を大文字で書きます。 > そして一度定義すると、変更は一切できないということですか? PHPでは定数を変更することは出来ません。

okwaveokw
質問者

お礼

ありがとうございます

その他の回答 (5)

  • wormhole
  • ベストアンサー率28% (1622/5659)
回答No.5

>定数は大文字ということだけわかりました いや、わかってないでしょ https://techacademy.jp/magazine/39679 には、そんな事書かれてないですよ・・・ 「pythonは言語仕様として定数はないので『変数名を全て大文字で書いた変数は、定数として扱いましょう。』というお約束をすることが多いです」とは書かれてますけど。

okwaveokw
質問者

お礼

Pythonの場合は大文字なんですか?

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.4

> 例えば > $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円'; <<これもエラー

okwaveokw
質問者

お礼

ただ大文字にするだけでは定数にならないんですね? defineとして、大文字で書いて定数になるということですか? そして一度定義すると、変更は一切できないということですか?

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.3

> 例えば > okozukai = '1500円' > という変数があった場合、このokozukaiがどこかで変わることはないですよね? okozukai = '1500円' ・・・・ okozukai = '2000円' とプログラムすれば変わります。 個人で趣味で一人作っているウチは定数の有り難みが判らないかもしれませんが、開発規模が大きくなって複数の人がソースコードを弄るようになると思いもよらないところで変数の中身を書き換えられてしまうことがあります。 例えば変数名に安易な名前を付けると、別の人が同じ変数名で別の値を持たせるプログラムを書いてしまったり、条件分岐の判定式を「$a == 'ABC'」と書かなければいけないところを「$a = 'ABC'」と代入式に書いてしまい値が入れ替わるなんてミスはありがちです。

okwaveokw
質問者

お礼

例えば $OKOZUKAI = '1000円'と大文字で書くと定数なんでしたっけ?その後の行で $OKOZUKAI = '5000円' と再代入で上書きされることはないんですか?

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.2

変数とはプログラムが進行していく中で中身が変化するモノです。 定数は最初に値が設定されたらプログラムが終了するまで変化しないモノです。 プログラムの実行パスなど変化しない値は定数として設定しておくことで、プログラムミスなどで書き換えてしまうリスクが無くなります。

okwaveokw
質問者

お礼

例えば okozukai = '1500円' という変数があった場合、このokozukaiがどこかで変わることはないですよね?

  • sknbsknb2
  • ベストアンサー率38% (1130/2922)
回答No.1

この解説を読んでみてください。 https://techacademy.jp/magazine/39679 変数と同じものを、入れた値が変わらないことを前提としているので定数と呼んでいるだけです。

okwaveokw
質問者

お礼

ありがとうございます 定数は大文字ということだけわかりました それ以外は違いがよくわかりませんでした

関連するQ&A

  • 変数と定数について

    とても基本的な質問ですが、質問・確認させていただきたいです。 変数と定数の違いについて 例⑴ x,y:変数 a,b,c,m,n,l:定数とするとき、 y=f(x)=ax²+bx+c ・・・① y=g(x)=mx²+nx+l ・・・② の2つの放物線の形が違う2次関数があるとする。 ①と②は共に「y= より①と②は常に同じ値yである」ということにはならないですよね。 ですが、これが 例⑵ s:定数(x:変数 a,b,c,m,n,l:定数 ) とするとき、 s= ax²+bx+c ・・・③ s= mx²+nx+l ・・・④ と表すと、 こちらは有無を言わさず(?)「同じ文字である」=「同じ値sである」となり、xが決まります。 これは『変数y』と『定数s』の違いということでしょうか。 変数において「同じ文字である」=「同じ値である」とは言えないということですよね。 例⑴で変数y消去して①=②にする時は、y=p(p:定数)が存在するという扱いにして計算を進めているのでしょうか。 変数を文字消去する時(代入・足し引きして)は、その消去する変数をどのように扱っているのでしょうか。 初歩的な質問ですが、どなたかよろしくお願いいたします。

  • Pythonで変数自体を文字列として扱うには

    Pythonで変数自体を文字列として扱う関数はありますか? 以下は、xがそのような関数である場合の例です。 python = 123 >>>print python >>>123 >>>print x(python) >>>python

  • 定数と変数の見分け方

    定数と変数の見分け方 放物線C:y=x^2と直線b:y=m(x-1)は異なる2点A、Bで交わっている。 (1)mの値が変化するとき、線分ABの中点の軌跡を求めよ。 教えてほしいところ 僕はmの値が変化するとあるので、mとは変数なのかなあと感じましたが、変数ではなく定数らしいです。 じゃあどう考えて定数とわかったのか友達に聞いたところ、なんとなく雰囲気でわかると言われました。 僕は雰囲気でわかりません。誰か、雰囲気とではなくしっかり説明できる人いませんか?? また、もしmが変数であったら表す軌跡は変わってしますんですか???

  • 別々に実行のpythonでグローバル変数できる?

    python初心者です。 例えばなんですが、 test1.py test2.py 2つのpythonコードを用意して、 test1.py側で1秒間ごとにインクリメントしていくループの処理を実行しながら、test2.pyではcronなどで定期実行させて、test1.pyでインクリメントさせている変数をprintしていくようなコードを作ることは可能でしょうか? 今回のような別々に実行させておいて、変数をtest1.py、test2.py間で変数を共有するようなグローバル変数というのはできますでしょうか? ご教示頂きますよう、どうぞよろしくお願い致します。

  • 変数と定数

    tがt>0の範囲を動く 直線y=2tx-t^2が通りうる領域を求めよ。 という問題で、解答は 「この直線が(Xo,Yo)を通り得るための条件は、 Yo=2tXo-t^2を満たす正のtが存在することである。 故にx,yを定数とみなし、tについての方程式 y=2tx-t^2 すなわちt^2-2xt+y=0がt>0の範囲に少なくとも1つの解をもつ条件(x,y)を求めればよい。・・・」 となっています。 ここで疑問があります。 XoとYoは色々な値をとる、つまり変数であるのに、これをx,yと置き換え、しかもxとyは定数とみなしています。 普通、変数を定数とみなせば、最後に定数を変数に戻して色々議論して解答終了、となりますよね?なのに、参考書ではそこのところの議論がなされていません(もし議論をするとしたらどんな議論になるのかもわからないですが・・・)。 例えばf(x)=x^2-2ax+1の最小値m(a)を求めよ。という問題ならば、このときはaを定数とみなしますよね。で、m(a)の最小値を求めろ、と言われれば今度はaを動かしますよね・・・。 で、ここまで書いていて自分でも混乱してきたのですが、要するに、変数を定数にみなせば後で議論しなきゃならない(はず)なのに、何で最初に挙げた問題では後でその議論をしていないのでしょうか。変数を勝手に定数とみなして、そのまま終わっていいのでしょうか。 回答よろしくお願いします。 (多分今日のうちに回答への返事はできませんが、明日か明後日にでも回答を見て回答のお礼をさせて頂こうと思います。)

  • PHPとPythonはどちらが

    有能ですか?(当方ど素人です) 例えば、Pythonならここまでできるとか、PHPならDBとの連携が強い などです。 選択に困っています。 各々の経験年数など考慮せず教えていただきたいです。

  • ASPの変数、定数の読み込み

    はじめてASPを書いているのですが、 同一フォルダ内の、別ページの変数(定数)の読込み方が わからないので、教えてください。 例) index.asp index2.asp index2.asp内で、index.asp内にある a=100の 変数を使いたいです。 宜しくお願いします。

  • 定数と変数の使い分けについて

    お世話になっております。 定数と変数の使い分けについて質問させて下さい。 本や検索などで調べてみたのですが、定数の使いどころが良くわかりません。 定数は「不変のもの」に用いるという認識なのですが、「値が不変のもの」に「値が変わるような処理」が必要になる事ってあるのでしょうか? 無いとしたら、「値が不変のもの」も「値が可変のもの」も全て変数に格納してはだめなのだろうか、と少し疑問に感じました。 定数を使う場面とメリットとはどのような事なのでしょうか? 初心者の質問ですが、ご回答頂けましたら幸いです。 追記: 「定数」はヒアドキュメント中で使えないという記事を見て、それならスクリプト中で使う値全て「変数」にしてしまえば便利なのではないかと、疑問を抱きました。

    • ベストアンサー
    • PHP
  • PHPの変数

    PHPの変数について質問です。 PHPの変数の最大長はどれくらいでしょうか? あまりに変数の値が大きいとやっぱりあふれてしまいますよね?

    • ベストアンサー
    • PHP
  • 定数と変数の違いがわかりません

    例えば、ax^2+bx+c=0 といった式で、解(xの値)を求めよ、と言う問題がありますね。この場合はa,b,cが定数、xが変数となりますが a,b,cが変わる問題もあるし、決まっていない時もあります。 なので、a,b,cは変数なんじゃないのか、って思うんですが・・。 定数と変数の違い教えてください><