【基本を学ぶ:超初学者向け】Pythonプログラミング入門

Pythonプログラミング入門


本記事では

悩むペン銀

Python初学者で、そもそもプログラミングって全くした事ないけど
どんなものか気になる。

Pythonの基本的な構文など基礎知識を学んでみたい。

結局Pythonって何ができるの?



本記事はこういった疑問・思いに答えていきます。




#1 Pythonって何?


「Python」という名称はイギリスのコメディーグループMonty Pythonから名付けられており, 単に和訳すると「ニシキヘビ」という意味を持ちます。


また, この言語はインタプリタ型言語と呼ばれプログラムしたコードをコンピュータが理解できる機械語に翻訳することなく実行することができると言う特徴を備えたプログラミング言語です。
加えてユーザーがインタラクティブに操作できる*オブジェクト指向の言語であり、プロジェクトの大小を問わず様々な領域で利用されています。


皆さんの身の回りで使用されているアプリケーションの例をあげるならFaceBookが開発するInstagramYouTube, Dropbox, Pinterestなどが挙げられます。


もちろんGoogleFacebookといった企業はPythonを様々なプロジェクトにおける開発言語として利用しており、ビックデータやAI, 自動運転そして仮想通貨(Blockchain)といったキーワードに絡むプロジェクトには大方このPythonというプログラミング言語が絡んでいると想像して構わないでしょう。
Pythonがよく利用されるいくつかのタスクは以下が挙げられます。


・ゲームなどを含むデスクトップにおけるグラフィカルアプリケーションの開発


・数学的、科学的なデータの解析


・ウェブやインターネット開発における利用


近年Pythonは本当にポピュラーな言語として親しまれており
その構文はとてもシンプルかつ美しく
初めてプログラミングを学ぼうとしている初学者にとっても取っ付きやすい言語と言えるでしょう。


*オブジェクト指向とは
「Object(物体)」と「その物体ができること」を決めそれらを組み上げるようにプログラムを書いていく事をさしています。例にあげるのであれば、車をプログラムするとします。
「車の機能をもつ物体」には4つのタイヤとウインカー2つブレーキ1つとアクセル1つなど様々な物が組み合わさって車という物体を構築しています。
例えばウインカーに“押すと点滅する”という機能(Function)や、ブレーキに“押すとタイヤが止まる”といった機能(Function)をつけていき、これらを組み立てていく事で車という最終構築物を実現するという考え方です。


#2 Pythonを実践する


Pythonは本当に素晴らしい。どこの国に住んでいて、どんな生活をしてるのかなど全く関係なく
インターネットに接続できる環境であれば誰でも無料で利用することができます。
加えてPythonはOpen-Sourceソフトウェアであり
Linux, Mac, Windows, 他の様々なプラットフォーム上で稼働する事が実現されています。


Macを利用されているユーザーであれば、Mac購入時にはすでにPythonがインストールされています。
しかし大抵の場合、最新versionのPythonをダウンロードする必要があるでしょう。
まずはPythonのversionを確認するためターミナルを開きましょう。
Macユーザであれば既にこちらのアプリケーションもインストールされているはずです。
以下を入力し確認してみましょう。

Python -V

正しくPythonがインストールされていれば
以下のような出力結果を得られるはずです。

Python 2.7.13



Pythonのversionを選択する


初学者の方は特にPython2とPython3どちらのversionを選ぶべきなのか迷うかもしれません。
これら2つのversionではいくつかの構文の違いがありますが、どのversionでも問題なく動作するでしょう。
しかしプログラミングでは多くの場合、最新versionのものを利用する事が原則です。
初学者の皆さんにはPython3での開発をお勧めします。
詳しい理由はこちらの記事に載せていますので確認してください。



PythonをInstallする


基本的にMacBookユーザであればすでにインストールされているため必要ありませんが
貴方のPCに搭載されたOperating Systemの種類に関わらずPythonはPython Software Fundationからダウンロードする事ができます。貴方のOSとプロセッサー(32bitか64bit)を確認してそれらに合った物をダウンロードしましょう。
各OS毎のダウンロード方法は以下にまとめています。


・Mac: MacBookユーザであれば様々なversionのPythonをインストール及び管理するのに
実際僕も利用しているHomebrewを利用することを強くお勧めします。もちろん無料です。
このディレクトリを確認してください。Pythonはこちらからダウンロードできます。


・Linux: PythonはLinuxでの様々な特徴を含んでいます。
必要であればmackage-managerを使ってPythonを最新versionにアップグレードしてください。


・Windows: PSFから直接ダウンロードしてください。


Homebrewとは:
HomebrewとはmacOS上で動くOSSです。
wikipediaではこのように紹介されています。

Homebrew(ホームブリュー)は、macOSオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである。MacPortsやFinkと同様の目的と機能を備えている。LinuxのDebianのAPTに似た使用感で急速に利用が広がっている。
HomebrewはMax Howellによって書かれ、Ruby on Railsコミュニティーで人気を得てきており、その拡張性を評価されている。


噛み砕いて説明するとmacOSの為のソフトウエア管理ツールと言えます。様々なversionのソフトウェアを管理してくれ、installおよびuninstallをターミナルで簡単に実行できる優れものです。
ターミナルを開き以下のコマンドを実行すれば簡単にインストールする事ができます。MacBookのエンジニアは殆どインストールしてると思います。めちゃくちゃ便利です。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


PythonのInstallを確認する

それではPythonが貴方の環境に正しくダウンロードされているか確認してみましょう。


Python Shell


・Mac: ターミナルを開き、PythonもしくはPython3と入力してください。


・Linux: ターミナルを開きPythonと入力してください


・Windows: CMDを開き、PythonもしくはPython3と入力してください


Interactive Python Shellを開けたらPythonを実行して見ましょう。
すると以下のように表示されるはずです。(python3実行時)

Python 3.6.5 (default, Apr 23 2018, 10:00:00)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

ここで初めてのBuilt-in functionであるprint関数を実行してみましょう。
(以降>>>はPythonの対話環境を表しています。貴方が入力する必要はありません)

Python2の場合:

>>> print "Hello World!"  

Python3の場合:

>>> print("Hello World!")

これらが正しく実行されると以下の出力を確認できるはずです。

Hello World!

とても簡単ですね
これであなたはPythonプログラマの仲間入りです。


貴方が1行1行コードを入力すると
Pythonは即座に実行しその結果の値を出力してくれます。
またこのPythonとの対話環境を抜けるにはexit()関数を入力します。

>>> exit()


もしくは以下の操作で環境から出る事ができます。


・MacとLinuxユーザー: ControlKey+Dを押してEnterボタンをクリック


・Windowsユーザー: ControlKey+Dを押してEnterボタンをクリック


しかし、まだレッスンは続くので環境は抜けないでください。
さらにPythonの知識を深めていきましょう。


#3 Pythonにおける構文理解

ここからが本番です。
それではPython Codingにおいて重要となる基礎知識を学んでいきましょう。
ここでは特にVariable(変数)・Built-in Data Types(組み込みデータ型)を扱います。

変数


変数はデータを保持する箱のようなものです。
これらを宣言する構文は次のようになります。

変数名(自分で決める)= 値 (数値、文字列など)


変数名は自分で好きなように決めて良いです。
ただ最低限次の事に注意してください。
① Pythonの予約語に被らない事
② 他人がその変数名を見たときどのような値が含まれているのか分かる事

予約語とは

構文上特殊な意味を持つ単語のこと。Pythonでは以下の単語が予約語とされる。
(尚Pythonでは予約語≈キーワード)

and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield

*今全ての予約語を覚える必要はありません。コピペを避け、何度もコードを書いていくうちに自然と覚えてくるので大丈夫です。

初学者に多く見られる傾向として「x」や「y」を変数として指定する事があります。
確かにPythonの構文ルールとして間違えてはいないためエラーは発生しません。


しかし出来るだけこういった変数名を指定する事は避けた方が良いでしょう。
一般的に人間は自分で書いたプログラムでさえ詳細な動作について、一週間後には曖昧に
一ヶ月後には殆ど忘れてしまう傾向
にあります。
そうなった場合、xやyがどのような意味を持つのか推定するには骨が折れるでしょう。


加えてエンジニアとしてPythonでプログラミングに関わると
頻繁に他者と共同でプロジェクト開発を行う機会が出てきます。


プロジェクトに関わるエンジニア複数人が貴方の変数名を見て
変数がどのような値を保持するのか
容易に理解できる事を常に意識しこれを習慣づけるようにしましょう。
後にプログラムを確認する際に
この変数はどのような値を保持しているのか
即座に理解できるような変数名を指定する事が大切
です。


これをする事により開発速度が向上しますし
何より将来の貴方自身やプロジェクトメンバーから感謝される事でしょう。


組み込みデータ型

Pythonは様々な組み込みのデータ型があります。
主には数字(integersやfloats), 文字列(strings), リスト(lists)
タプル(tuples)そして辞書型(dictionaries)が挙げられます。

これらは以下の操作で扱われます。


  • オペレータ(Operators)

  • 関数(Functions)

  • データ型関数(Data-type methods)


  • オペレータ(Operator)

    それでは具体例としてオペレータ(数値計算を行う記号, +(プラス), -(マイナス)など)
    を使い数字を操作して見ましょう。
    ターミナルに以下を入力し出力値を確認して下さい。

    >>> 4+5 # 足し算
    9
    >>> number_1 = 11
    >>> number_2 = 8.22
    >>> number_3 = number_1 + number_2 # 変数を使った足し算
    >>> number_3
    19.22
    >>> 18-5 # 引き算
    13
    >>> 3*7 # 掛け算
    21
    >>> 16/4 # 割り算
    4
    >>> 9%3  # 割り算の余り
    0
    >>> 4**2 # 階乗
    16

    Pythonにはブーリアン型と呼ばれるデータ型が存在します。
    TrueとFalseです。

    >>> 3 < 7  # 7は3より大きい?
    True
    >>> 5 > 11 # 5は11より大きいか?
    False
    >>> 4 >= 4 # 4は4と等しいもしくは以上か?
    True
    >>> 6 == 7 # 6は7と等しいか?
    False
    >>> 10 != 11 # 10は11と等しくないか?
    True


    関数(Function)

    Pythonは数値を操作するいくつか組み込み型関数を提供しています。
    適用するには“何かの関数()”があった時、かっこの中に入力値を入れて出力値を取得します。
    これらはPythonの開発者が用意したもので、いつでも利用可能です。さらにこの関数はどんなデータ型でも適用することができます。
    そのほかにも、様々なエンジニアに開発されたたくさんのパッケージがPythonの標準ライブラリより利用可能で
    利用する際にはライブラリのimportを行う必要があります。(詳しくは後に説明します)
    ここではいくつかの組み込み関数を紹介します。

    float(): この関数は整数を受け取り、浮動小数点数を返します。

    >>> float(5) 
    5.0
    >>> float(-3333) 
    -333.0

    int(): この関数は浮動小数点数を受け取り、整数を返します。さらに浮動小数点の後は切り下げします。

    >>> int(11.8) 
    11
    >>> int(4.4)
    4


    データ型関数(Data-type method)

    ここではいくつかのデータ型関数について触れます。
    先程の関数とは違いデータ型関数は“入力値.何かの関数()”と言う形で適用し出力値を得ます。
    全てのデータ型関数について知見を深めたい方はPythonの公式ドキュメントを確認して下さい。
    この関数は数が多いため初学者の方は必要な時だけ調べ、使用し徐々に覚えていくという流れを繰り返すだけで大丈夫です。
    今すぐに全てを暗記する必要はありません。

    float.is_integer() は入力値の浮動小数点数が有限であるか検証します。

    >>> (11.0).is_integer()
    True
    >>> (11.9).integer()
    False


    文字列(strings)

    文字列とは書いて字の如くですが一連のテキスト、文の事です。
    宣言するには“”(ダブルクオート)の中に文字を入力します。
    例を挙げましょう。

    >>> string_1 = "Hello world!" 
    >>> string_1
    "Hello world!"
    >>> "Yes"
    Yes
    >>> escaped_key = "can\'t"
    "can't"
    >>> not_escaped_key = "can't"
    >>> not_escaped_key 
    "can't"


    文字列操作

    前節で数字を操作したように、文字列も操作可能です。

    >>> "You are"+" "+"genius"   
    "you are genius"
    >>> "My name is "+"Mai"
    My name is Mai


    関数を使った文字列操作

    それではいくつかこれまで紹介した関数を使い、文字列を操作してみましょう。
    len(): 文字列を受け取りその文字長を返す

    >>> my_name = "Mai" 
    >>> len(my_name)
    3

    文字列はスライスすることができます。
    文字列の後に”[]”括弧を付加し、中に数字を入力することで
    文字列の中より指定された文字を抜き出し出力することが可能です。
    いくつか例を挙げましょう。
    (Pythonでは文字列であれ数字であれ、順番を数える時、0(零)から数えます。)

    >>> print("today"[3])
    a
    >>> print("today"[1])
    o
    >>> print("today"[0])
    t
    >>> print("today"d[0:2])
    to


    データ型関数

    先程いくつかのデータ型関数を紹介しましたが
    ここでは文字列に対しデータ型関数を適用してみましょう。
    .capitalize(): 文字列を受け取り、先頭の文字を大文字に変換する

    >>> string_low_case = "seimei"
    >>> string_low_case.capitalize()
    "Seimei" 
    >>> ("seimei").capitalize()
    "Seimei"

    .format(): 文字列の中に文字を追加する

    >>> my_name = "kaito kitamura"
    >>> changed_my_name = "My name is {}".format(my_name)
    "My name is kaito kitamura"

    .strip(): 文字列の先頭や末尾のスペースを取り除く

    >>> string_1 = "   hello_world!   " 
    >>> string_1.strip()
    "hello_world!"



    まとめ


    いかがだったでしょうか?
    本記事ではプログラミング初学者入門編という形でPythonの基礎知識を紹介していきました。
    今回の記事は少し深い内容だったためここ辺りで区切りたいと思います。

    プログラミングはエラーとの戦いです。
    エンジニアをしているとコンピュータに何度も自分のプログラムを否定され
    修正し、また否定され。。。と繰り返すでしょう。
    特に初学者には顕著にこれが起きます。しかしそれは普通な事で誰もが経験する事です。

    プログラミングを学ぶ者にとって重要な資質の1つは忍耐力かも知れません。
    加えて自分でGoogle検索を駆使し原因を調べ、エラーを解決する力が求められるでしょう。

    しかし、こういった泥臭い努力と経験の結果としてエラーが解消され
    自分の書いたプログラムが実行されると深い快感を得ることができます。
    おそらくそれ故にプログラミングを愛している人間が多いのでしょう。
    (AppleのイベントWWDC2019で公開されたpvがとても良くこれを描写しています。)



    最も大切なことは楽しみながらプログラミングすることです
    自分のペースで良いのです。
    エラーがどうしても解消されないなら一旦机を離れ、散歩でもしてみましょう。
    皆さんが気分が向いた時
    pcに向かってコードをチェックすると意外な見落としを発見できたりしますよ。
    ぜひプログラミングを楽しんで取り組めるようにしましょう。

    今回は以上です。
    ではでは



    続編はこちら↓↓





    人気記事【初学者必見】効率的なプログラミング勉強方法を紹介します










    このエントリーをはてなブックマークに追加
    data-ad-format="rectangle" data-ad-format="rectangle"

    コメントを残す