Image

PythonとC言語を比較!変数の扱い方など特徴の違いをまとめてみた

PythonとC言語変数や定数の扱い方の違いをまとめてみました。C言語の変数の使い方は初めに変数を定義する必要がありますが、Pythonでは定義の必要はなく値を代入することで変数を扱うことができます。

PythonとC言語の違いって何だろう?

突然ですが、あなたもきっとC言語というプログラミング言語は知っているはず。

C言語は、高速でコンパクトなプログラムが実現可能な言語です。

でも、C言語ってなんか難しそうですよね。

実際、そんなC言語に対して苦手意識持っている人は少なくないと思います。

C言語はプログラミングの低水準な部分も記述することができます。そのため、それが原因でC言語はわかりにくいというイメージがあるのかもしれません。

しかし、C言語はなんでも作ることができると言っても過言ではないほど、様々な場面で利用されています。

一方、Pythonはというと構文が簡単書きやすく読みやすいライブラリやフレームワークともに豊富な言語です。

Pythonは構文や記述がシンプルで、初心者にも優しい言語でありながら、あのNASAのシステムにも一部利用されるような言語です。

Pythonはシンプルでありながら非常に多くのことをすることができるのです。

現在Pythonは人気上昇中な言語です。あなたもどこかで聞いたことはあったかも知れませんね。

この記事では、そんなC言語Pythonの違いを確認しながら同時に学ぶというものです。

C言語は歴史の長いプログラミング言語ということもあって、プログラミングの基礎とも言えるプログラミング言語です。

そもそもPythonやPHP等のプログラミング言語や、WindowsやLinux等のOSC言語で作られています

それに対しPythonはシンプルで初心者でも取っ付きやすい言語です。

この2つの言語の違いを比較ながら学習することで、プログラミングの基礎を学ぶことができると考えます。

せっかくの機会ですのでぜひあなたも効率よくプログラミングの基礎を押さえましょう

目次   

01. PythonとC言語の違いについて大まかな解説

02. PythonとC言語の違いを学ぶ比較学習の流れ

03. PythonとC言語の定数と変数の違いについて

04. まとめ


01. PythonとC言語の違いについて大まかな解説




上でも一度触れていますが、C言語高速でコンパクトなプログラムが実現可能です。

C言語は、実行に時間がかかるとされている、画像解析や処理などもスムーズに行うことができ、プログラミング言語の中での処理実行速度は最速を誇ります。

また、C言語はOS等の記述に多く使われています。

OS周りのシステムや組み込み、ハードウェア領域、IoTと言われる分野でC言語は多く利用されています。そのため、C言語を学ぶことでOS周りの仕組みやプログラミングそのものが分かるようになります

もしあなたがC言語をマスターすると、プログラミングでほとんどのものを作ることができるようになるのです。

C言語の短所は、コードが長くなりやすく難しい点です。

プログラミングの基本だからといって、初めてのプログラミング学習でC言語を選ぶと理解に苦労するかも知れません。




一方、Pythonはというと、プログラミング初心者にお勧めすることができるほどシンプルな構文と記述幅広いことができるコードを書くことができます。

プログラミング初心者から上級者まで広い層から支持されている言語です。

あのGoogleの標準言語にもPythonは選ばれています

Pythonでできることをまとめておきます。


Webアプリケーション開発

人工知能開発

データ分析やデータ解析

スクレイピングやクローリング

組み込みプログラミング


Pythonは今注目されている人工知能機械学習開発することができます

そのため、今後ますますPythonのシェアと需要は今後まだまだ伸びていくと考えられます。

とても学ぶ価値のある言語なのです。

「とりあえずPythonがすごいのは分かったけど...。Pythonってどこで使われているの?」

そう思いますよね。

PythonとC言語の違いを知ろうと言っても興味がないとまず無理ですよね。

Pythonで作られている代表的なサービスとしては、InstagramYoutubeがあります。

あのInstagramとYoutubeですよ。世界中で大人気のアプリケーションですよね。

こんな身近なアプリケーションがPythonで動いているんです。

ちなみにこのブログサイトもPythonのDjangoで作成しました。

ちなみにDjangoについては今後触れていきますが、PythonのWebアプリケーションを作るためのライブラリーです。

このようにPythonで多くのことを行うことができます。

しかし、Pythonにも短所はあります。

その短所とは、プログラムコードを実行するスピードや処理速度がやや遅いという点です。

でも安心して下さい。

この処理速度の遅さは、C言語によってカバーできます

なんとPythonのプログラムにはC言語を組み込むことができるんです。

C言語単体にはやはり劣ると思いますが、PythonコードでC言語を呼び出してC言語のコードを実行することができるということです。

C言語とPythonは互換性があるので仲のいい言語なんですよ。


02. PythonとC言語の違いを学ぶ比較学習の流れ


この記事のコンセプトになっている比較学習とはどういったものなのか?

それはもう簡単です。

C言語というプログラミングの基礎とも言える言語をベースに学びつつ、Pythonというシンプルな言語で理解を助けて2つともマスターしよう

という学習方法です。

PythonとC言語の違いについて学びながら、それぞれの言語の理解を進めます

そうすることで、密接な関係にあるPythonとC言語それぞれの理解をそれぞれで助けながら効率よく学ぶことができると思います。

ぜひC言語とPythonを欲張りにもマスターしちゃいませんか?

購入した書籍や多数のインターネットの情報、実際にプログラミングコードを書いて実行してきた経験を参照しながらアウトプットしていきます


03. PythonとC言語の定数と変数の違いについて


さてPythonとC言語の定数変数の違いについてです。

PythonとC言語で扱いにどのような差があるのか学習しましょう。

ここでいう変数というのは数学のXやYの話ではありません。

しかし根本的なイメージは数学の関数ですのであながち間違いではありません。

まずは変数についてC言語から押さえていきましょう。



main(){
int m;
}



main(){
int m = 123;
}


C言語ではこのようにして変数を定義することができます。

「mainとは何なんだろう?」と思うかも知れませんがとりあえず安心して下さい。

C言語のプログラムコードのルールなのですが、このmainmainという名前の関数を定義しています。

C言語の基本関数です。

C言語では関数を定義して、その関数にデータなど入れて結果を得るといったシステムを構築する言語です。

そのため、上記のコードのようにどんなに簡単な内容であってもC言語では関数の中身を書いていきます

変数には初期値をあらかじめ代入しておくことも可能です



int m = 123; //グローバル変数
main(){
}



main(){
int m = 123; //ローカル変数
}


C言語では関数外で定義されている変数グローバル変数関数の内部で定義されているものはローカル変数と言います。
ファイル内すべての関数から参照することが可能です。
一方、ローカル変数は一時的にメモリに確保され、関数内部でのみ参照され、関数終了時に自動的に削除されます
次にPythonの変数についてです。

グローバル変数はプログラムが終了するまで存在します。



n = 123
_n = 123


変数アンダーバー(_)を含む英数字からなる名前で表します。

最初の1文字アンダーバー(_)または英字である必要があります。

その他にはこれといったルールはありません。

次は定数についてC言語から学習しましょう。



const float pi = 3,q4


constを使用すると定数であると定義することができます。



main(){
static n = 0;
n++;
printf("%d\n", n)
}


staticを使用すると関数内でもプログラム終了まで存在します

上で述べたように通常では関数の処理終了後に削除されるところを、staticを使用して定義するとプログラム自体が終了するまで存在することになります



register int n = 0;


register変数をレジスタ変数とすることができます。

レジスタ変数とは、コンピュータの内部で最も高速なレジスタと呼ばれる CPU 内の記憶領域に情報を保存することを表します。

要はとても早く変数を扱えるというものです。



main() {
auto int a1; // 自然変数 = ローカル変数
int a2;
}


autoあまり出番はないようです

autoについては使用頻度も高くないので特に覚える必要はなさそうです。

次にPythonの定数についてです。



PI = 3.14
MEDIA_ROOT = /media/


残念ながらPythonに定数はサポートされていません

慣習的に大文字とアンダーバー(_)のみの変数固定値を表現することが多いです

例としてDjangoの自動生成ファイルなどでは大文字とアンダーバーだけの変数がsettings.pyに定義されています。

Pythonで定数を定義するときは暗黙的に大文字とアンダーバーのみで書くといいでしょう


04. まとめ


お疲れ様でした。

ここまで読んでいただきありがとうございました。

今回はPythonとC言語の定数と変数の違いを押さえることができたと思います。

このようにしてPythonとC言語の違いを学びながらプログラミングの基本を学んでいきます。

記事紹介を下の章にて行っています。

興味があればぜひ次の記事や他の記事も参照してみて下さい。