目標
「変数」について理解する。
pythonの基礎として「変数」について扱っています。プログラミング学習で「変数」は、よく箱に例えられますが、この記事では「リテラル」への「ラベリング」や「紐づけ」に例えて考えます。また「変数」の学習には「リテラル」や「代入文」の知識が必要となります。
Pythonの基礎(変数)
プログラミング学習で「変数」は、よく「箱」に例えられますが、この記事では「ラベリング」や「紐づけ」に例えて学習します。この「ラベリング」は、「リテラル(不変の値)」に対しての「ID」を保管したものといえます。
例えの内容はさておき、何れにしてもプログラミングでは、この「変数」を利用することで値の再利用が可能になります。「変数」がないとプログラムを実行して得た結果を再利用することができなくなってしまします。
次のプログラムを例として確認します。もし「変数」を利用しない場合は、必要な値を都度、入力する必要があります。
これに対して「変数」を利用すると、値の再利用が可能になります。
下のキャプチャは「alp」という変数へ「文字列への参照先」を代入文を利用して代入しています。「alp = ‘abcd’」では’abcd’への参照先を代入。「alp += ‘efgh’」では ‘abcd’ + ‘efgh’の処理を行って、最終的に ‘abcdefgh’への参照先を再代入しています。
「静的型付け」と「動的型付け」
「python」の変数は「動的型付け」の動きを取ります。例えば、他のプログラミング言語では「静的型付け」としてリテラルだけでなく、変数そのものに「型」を設定します。これは変数自体にどのようなリテラルが利用できるのか、また、その利用できる容量はどのくらいかなどを指定する働きをもっています。
「python」では「変数」に「型」をもたせてはいません。あくまでも「型」をもつのは「リテラル」で「変数」はそのリテラルへの参照を保管しているにすぎません。
「静的型付け」
「静的型付け」は「変数」に利用できる「型」を指定することです。これによって「変数」が、どの程度の容量が必要なのかを決められるのでパフォーマンスの向上が期待できます。
その他、Wikipediaでは次のように記載されています。
静的型付け(せいてきかたづけ、英: static typing)は、値やオブジェクトの型安全性を、コンパイル時に検証するというコンピュータプログラミングの型システムの方法である。型の検査はソースコードの解析によって行われる。変数代入、変数束縛、関数適用、型変換といったプログラム記述箇所での型安全性がチェックされる。型エラーの場合は、コンパイルエラーに繋げられることが多い。
https://ja.wikipedia.org/wiki/%E9%9D%99%E7%9A%84%E5%9E%8B%E4%BB%98%E3%81%91
例えば「C#」では変数「num1」や「num2」の前に「int」と型を指定しています。その他、メソッド(SaySomthing(int input1, int input2){})の仮引数や戻り値としての型も指定しています。
戻り値の型は、つまりメソッドが利用する型で、メソッド名「SaySomthing」の前に置かれた「int」のことです。このように「静的型付け」では「変数」や「メソッド(関数)」に型を指定することになります。
using System;
namespace Sample
{
class Sample
{
static int SaySomething(int input1, int input2){
return (input1 + input2);
}
static void Main(string[] agrs)
{
int num1 = 1234;
int num2 = 4321;
Console.WriteLine("静的型付けを利用しています。" + SaySomething(num1, num2));
}
}
}
「動的型付け」
「動的型付け」は「変数」に「型」を指定しません。これによって「変数」が、柔軟に値を参照することが可能になります。
その他、Wikipediaでは次のように記載されています。
動的型付け(どうてきかたづけ、英: Dynamic typing)とは、値やオブジェクトの型安全性を、実行時に検証するというコンピュータプログラミングの型システムの方法である。型の検査は実行時のプロセス上で行われて、ランタイムシステムの実行時型情報(RTTI)が照会されるなどして解析される。
動的な型チェックは、代入、束縛、関数適用、ダウンキャスト、ディスパッチ、バインディングといった所で行われる。なお、コンパイル時やインタプリタ開始時の最適化によってすでに型安全性が保証されている所は省略される。動的型付けの言語では、引数や返り値や変数宣言への型注釈が省略されやすくなる。
https://ja.wikipedia.org/wiki/%E5%8B%95%E7%9A%84%E5%9E%8B%E4%BB%98%E3%81%91
今回は以上になります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。