見出し画像

Python3 基礎文法 から学ぶ使い方*採用事例

Python 使い始めてまだ構文が分からない。他の言語と何が違う?そもそもPythonってスゴイの?ってことを最初思うのだが、せっかくならとメモ残しておきます。

そもそも私は、perl、PHP、Javascript をまるっと10年くらいやってきたので、世間的は、「元プログラマ」となります。

そんな私がPythonを興味本位で勉強してます。

Python や、Anaconda、Jupyter Notebook は既に初期環境は構築済みではあるが、基本に立ち戻って基礎文法を一旦ここいらで学んでおく必要ができてきました。

01 Python が採用されている事例

Python で何ができるか、を考えたいが、その前に世間一般的に知られてるサービスやアプリでPythonが採用されて使われているもの!から見てみる。

2017年にGoogle DeppMindが開発する囲碁AI(人工知能)「AlphaGo」が、人類最強の呼び声が高い棋士・柯潔に勝利したことで、名前が知られてきました。

人工知能の注目が高まると同時に、機械学習・ディープラーニングに最適なライブラリが充実しているプログラミング言語として、Pythonエンジニアを求める企業が増加したのもこの頃です。

YouTube

2005年2月に設立したYouTube。「What Powers YouTube」を見る限りは、サーバーサイドのメイン処理に使われているようです。

Apache (for html, javascript, css)
Python
Linux (earlier SuSe and now multiple flavors)
MySQL (v5.x, highly customized by Google proprietary clusters)
psyco, a dynamic python->C compiler
lighttpd for video instead of Apache
Use of GFS (Google File system)
出典:What Powers YouTube

DropBox

Pythonの開発者Guido van Rossum氏は、元はGoogleの社員。2005年に入社してから、勤務時間の半分をPythonの言語開発に使ってよいと許されてたらしいです。

Pythonの生みの親 Guido van Rossum氏は、2013年にDropBoxに移籍しましたのでそれが起因しているのかもしれませんね。

Instagram

写真共有サイトとして人気が高く現在はFacebook傘下にあるInstagramも、基本的にはAmazonのクラウド上でPythonによって構築されました。Webフレームワークには「Django(ジャンゴ)」が使われています。

Pinterest

Pinterestは、ピンボード風の写真共有ウェブサイトでユーザーはイベント、興味のあること、趣味などテーマ別の画像コレクションを作成し管理することができる。Web上の画像や動画などを気軽にクリップしたり共有できるサービス「Pinterest」(ピンタレスト)として人気なサービスです。

Python + heavily-modified Django at the application layer
Tornado and (very selectively) node.js as web-servers.
Memcached and membase / redis for object- and logical-caching, respectively.
RabbitMQ as a message queue.
Nginx, HAproxy and Varnish for static-delivery and load-balancing.
Persistent data storage using MySQL.
MrJob on EMR for map-reduce.
Amazon EC2 + S3 + CloudFront
出展:What is the technology stack behind Pinterest?

Amazon のクラウド上にPythonを実装しているようですね。



Webのお仕事、元phpプログラマ、今主にWebディレクタ、たまにエンジニア、UXディレクタ、LTのネタ探ししてます。