Pythonプログラミング入門
本記事では
悩むペン銀
Python初学者で、そもそもプログラミングって全くした事ないけど
どんなものか気になる。
Pythonの基本的な構文など基礎知識を学んでみたい。
結局Pythonって何ができるの?
本記事はこういった疑問・思いに答えていきます。
本記事の内容
**これから読み進めていく人で、初めてプログラミングに取り組もうとしており、これまでまったくプログラミング言語を学んだ経験がない方は本記事の内容は少し難しく感じるかもしれません。まずはこちらの記事でターミナルに関する基礎知識を付けてから学び始めると良いです。
目次
#1 Pythonって何?
「Python」という名称はイギリスのコメディーグループMonty Pythonから名付けられており, 単に和訳すると「ニシキヘビ」を意味します。
Pythonはインタプリタ型言語であり、プログラムしたコードをコンピュータが理解できる機械語に翻訳することなく実行することができる特徴を備えたプログラミング言語です。
加えてユーザーがインタラクティブに操作できる*オブジェクト指向の言語であり、プロジェクトの大小を問わず様々な領域で利用されています。
皆さんの身の回りで使用されているアプリケーションの例をあげるならFaceBookが開発するInstagramやYouTube, Dropbox, Pinterestなどが挙げられます。
現在ではGoogleやFacebookといった企業はPythonを様々なプロジェクトにおける開発言語として利用しており、ビックデータやAI, 自動運転そして仮想通貨(Blockchain)といったプロジェクトでは頻繁にこのPythonを用いて開発が進められています。
Pythonがよく利用されるいくつかのタスクは以下の様な事例が挙げられます。
この他にも例えばロボットを制御したり
We've trained an AI system to solve the Rubik's Cube with a human-like robot hand.
— OpenAI (@OpenAI) October 15, 2019
This is an unprecedented level of dexterity for a robot, and is hard even for humans to do.
The system trains in an imperfect simulation and quickly adapts to reality: https://t.co/O04izt3KvO pic.twitter.com/8lGhU2pPck
物体を認識したり
Help revolutionize the world with full self-driving by joining us at Tesla Autopilot: https://t.co/ekekjKDOZF It is very hard to find other places where AI expertise makes as much of a difference on as big of a problem. pic.twitter.com/KTjV693G8e
— Andrej Karpathy (@karpathy) February 3, 2020
文章をAIに自動生成させたりできるようになります。
We've trained an unsupervised language model that can generate coherent paragraphs and perform rudimentary reading comprehension, machine translation, question answering, and summarization — all without task-specific training: https://t.co/sY30aQM7hU pic.twitter.com/360bGgoea3
— OpenAI (@OpenAI) February 14, 2019
近年ではPythonは多岐にわたる分野においてポピュラーな言語として親しまれおり
その構文はとてもシンプルかつ美しく
初めてプログラミングを学ぼうとしている初学者にとっても取っ付きやすい言語と言えます。
オブジェクト指向って何?
オブジェクト指向とは「Object(物体)」と「その物体ができること」を決めそれらを組み上げるようにプログラムを書いていく考え方の事です。
もう少し噛み砕いて説明すると
例えばあなたがエンジニアで、
新たに『車』をプログラムする場合を考えてみましょう。
「車の機能をもつ物体」には以下のような部品があります。
このように書き出していくと
車には様々な部品が必要になってくることが分かりますね。
これら部品には
具体的にはウインカーに“押すと点滅する”という機能や、
アクセルに“踏むとタイヤが回って前進する”という機能
ブレーキに“踏むとタイヤが止まる”といった機能など
が存在し、
こういった何かしらの入力に対して出力(結果)を返す機能(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のバージョンを選択する
初学者の中ではPython2とPython3どちらを使うべきか悩む方もいます。
いくつかの構文の違いがありますが、基本的にどちらでも問題なく動作します。
また一般的にプログラミングでは、最新バージョンのものを使う事が原則です。
なので皆さんはPython3で学習を進めましょう。
(2020年現在、Python2はサポートが切れ、エンジニアによるソフトウェアのメンテナンスが行われていません。Python3を利用しましょう。)
またPythonを使うべき詳しい理由はこちらの記事に載せていますので
気になる方は確認してください。
Pythonをインストールする
基本的に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ボタンをクリック
まとめ
プログラミングはエラーとの戦いです。
エンジニアをしているとコンピュータに何度も自分のプログラムを否定され
修正し、また否定され。。。と繰り返すでしょう。
特に初学者には顕著にこれが起きます。しかしそれは普通な事で誰もが経験する事です。
プログラミングを学ぶ者にとって重要な資質の1つは忍耐力かも知れません。
加えて自分でGoogle検索を駆使し原因を調べ、エラーを解決する力が求められるでしょう。
しかし、こういった泥臭い努力と経験の結果としてエラーが解消され
自分の書いたプログラムが実行されると深い快感を得ることができます。
おそらくそれ故にプログラミングを愛している人間が多いのでしょう。
(AppleのイベントWWDC2019で公開されたpvがとても良くこれを描写しています。)
最も大切な事は『楽しみながらプログラミングすること』です
自分のペースで良いんです。
エラーがどうしても解消されないなら一旦机を離れ、散歩でもしてみましょう。
皆さんが気分が向いた時
pcに向かってコードをチェックすると意外な見落としを発見できたりしますよ。
ぜひプログラミングを楽しんで取り組めるようにしましょう。
今回は以上です。
ではでは
続編はこちら↓↓
人気記事 CS学位取得者がガチでプログラミングスクールを調査してみた件【おすすめのスクール】