#daiizメモ

Scrapboxに夢中

python学習日記 1日目

pythonの勉強を開始しました!

とりあえず今日は超簡単なプログラムを好き勝手に書いてみました。

まずはお約束のHello worldから

def main():
    print "Hello world!"
    
if __name__ == '__main__':
    main()

シンプルですね!
上2行は関数宣言です。ここで「Hello world」を表示するための関数mainを定義しています。関数を定義するには、JavaScriptではfunctionと書いていたところをdefとするだけで良さそうです。pythonでは{, }を使いません。関数名を書いたら:を書き、インデントして関数の中身を書くルールになっているようです。
下2行は、今のところ「おまじない」と考えておきます。

次は引数を受け取って挨拶をしてみます。

def greeting(name):
    print "Hello " + name
    
if __name__ == '__main__':
    greeting("daiiz")

これを実行すると、Hello daiizと表示されます。引数の受け取りもJavaScriptと似たルールで行えます。+演算子を用いて文字列を連結することもできました。

最後の例は、「同階層のテキストファイルを指定し、その一行目を表示する」プログラムです。ファイルの読み取りはとても簡単で驚きました。(C言語JavaScriptでこれをやろうとしたら結構大変だと思います、、)

# -*- coding: utf-8 -*-

def main(filename):
    # ファイルの最初の一行を表示する
    f = file(filename).read()
    i = 0
    txt = ''
    while(f[i] != '\n'):
        txt += f[i]
        i += 1 
    print txt
    
if __name__ == '__main__':
    main("sample.txt")

上の例のようにf = file(filename).read()と書くだけ(何もインポートしたりする必要もありません!)で、ファイルの内容を読み取ることができます。変数fの中にファイルの内容全文が格納されるようです。今回は、ファイルの一行目内容のみを表示するために「最初に改行文字が来るまでファイルの文字列の先頭から順に一文字ずつ見てゆく」という方法を用いました。恐らくもっと良いイディオムがありそうなので今度調べてみたいと思います。

今日のところは以上です。


【ひとこと日記】ミスドで友人とコース(専攻)や研究室の選択など将来のことを語り合い、かなり良い刺激をもらいました。たとえ忙しい日々に追われていても、ときどき立ち止まって考えることも大切と感じた瞬間でした。