現役C言語開発者が語る:C言語とPythonの違いと比較

Python
この記事は約7分で読めます。
スポンサーリンク

if文

あとは、if文とfor文が書ければ、簡単なプログラムは作成できるようになりますので、頑張って覚えましょう。
if文は先ほども出てきましたが、C言語と大して変わりません。

C言語では、以下

if( hoge == 0 )
{
    
}

pythonでは以下のように記載します。

if hoge == 0:
    pass:

Pythonでも、「==」,「!=」,「>=」,「<=」は同じ記載方法でOKです。
ただし、||と&&については記載方法が異なりますので、覚えておきましょう。

以下です。

Andをとりたい場合

C言語
if( ( hoge >= 0 ) && (hoge <= 10) )
{

}

Python
if( ( hoge >= 0 ) and (hoge <= 10) )
    pass:

Orをとりたい場合

C言語
if( ( hoge <= 5 ) || (hoge >= 10) )
{

}

Python
if( ( hoge <= 5 ) or (hoge >= 10) )
    pass:

うん。そのままですね。これはこっちはこの方が覚えやすいかも。

for文

では、続いて、for文です。
こちらは癖があります。たぶん、C++等の経験がある方は、似たような記載方法になるのかな。。

C言語
int i=0;
for(i=0; i < 10; i++)
{

}

Python
for i in range(10):
    pass

for文では、iという変数を レンジが10までループさせるというような記載方法となります。
この書き方なじみません。あとは、例えばリスト型を入れればリストを順にここでいうiに入れてくれるようですが、C言語使いの私はなじみがなくあまり使用しません。※何かで見た感じでは、Pythonでは、 配列 を使用する場合に、インデックスで用をループさせるより、リストでループさせる方が高速のようですが、なじまなくて考えないとまだ使えなしので、基本的に要素で検索しちゃいます。
まぁ、パソコンの性能はかなり高いので、すごい高負荷なことをさせなければ問題ないです。

実際にかいてみたコードはこんな感じです。

def get_10count( x ):
	ret = x
	for i in range(10):
		ret = ret + 1
	return ret
	
if __name__ == '__main__':
	result = get_10count(1)
	print(result)

実行結果は以下

import(インクルード)

あとは、C言語でいうところのインクルードを覚えればとりあえずコードを書いて試してみる分には十分かと思います。
まず、Pythonでは、C言語でいうインクルードは、「インポート」と呼びます。
では実際にインポートしてみましょう。今回は前回ライブラリのインストールをしたNumpyをインポートしてみます。

import numpy

def test( ):
	ret = numpy.array([1,2,3])
	return ret

if __name__ == '__main__':
	result = test()
	print(result)

ただ、ファイルの先頭に、「import モジュール名」を記載するだけです。
簡単ですね。
で実行結果は、以下の通り

また、numpyというのが長くて格納がめんどくさいなぁという場合は以下のように記載すれば、自分で決めた短縮名で使用できます。

import numpy as num

def test( ):
	ret = num.array([1,2,3])
	return ret

if __name__ == '__main__':
	result = test()
	print(result)

「import モジュール名」の後ろに「as 名前」になっていますよね。
これで、名前としてこのファイルの中では使用できるようになりました。
実際に呼び出しているのは、4行目ですね。

まとめ

はい。いかがだったでしょうか。

この記事では、全部ではないですが、C言語開発者が、Pythonに挑戦してみて「うーん」と悩んでしまうようなことの基本をまとめてみました。

かなり違うために悩んでしまうところや、これはPythonの方が使いやすいなと思うところと色々ありますよね。あとはC言語にはないクラスの概念があったり難しいと思いますが、現在もっとも使用されている言語だけあって、ライブラリやインターネット上に参考記事なんかもいっぱいあって勉強しやすいと思います。

私もまだまだ勉強中の身ではありますが、学んだことをまとめていってみたいと思いますので、みなさん一緒に勉強しましょう。

Pythonについて勉強したい人は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。

コメント

タイトルとURLをコピーしました