プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Python
  • 【Python】基礎知識(言語の特徴、フレームワーク)
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Python】基礎知識(言語の特徴、フレームワーク)

06.18

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

Pythonは、欧米では昔からプログラミング学習において人気のある言語でしたが、2015年頃から、日本で急激に人気が出た言語です。

その背景としては、「人工知能」と「機械学習」の世の中の需要の高まりがあり、機械学習のためのフレームワークが「Python」で作られていたのがきっかけでした。

Pythonの特徴

  • 学習が容易
  • 生産性が高い
  • メジャーな環境に対応している(Windows、Linux、Mac、iPhone、Android)
  • プログラムを「逐次実行」できる。

Phtyonの得意分野

  • 科学分野
  • データ解析
  • 数値処理
  • 人工知能(AI)と深層学習(ディープラーニング)
  • Web開発

バージョン一覧

バージョンリリース日特徴
0.91991年
1.X1990年代後半
2.X2000年代現在でも広く普及しているが、2020年にはサポートを打ち切られると発表されている。
3.02008年12月3日2から構造や、構文が一部変更された。
3.12009年6月27日
3.22011年2月20日
3.32012年9月29日
3.42014年3月16日
3.52015年9月13日
3.62016年12月23日
3.72018年6月27日
3.82019年10月14日代入と比較が一気にできる「セイウチ演算子(:=)」が登場した。

Python2と3の違い

2は未だに現役で、公式サポートもされています。(ただ、2020年に打ち切られるとされています。)

理由としては、3ではPythonの構造や構文に一部変更があり、2から使われきたライブラリやフレームワークが3に未対応だったためです。

ただ、今後数年でサポートを打ち切られることを考えると、新たしく学ぶ場合は3を学ぶべきです。

Pythonの種類

一口にPythonといっても、色々な種類があります。基本は、オリジナルの「CPythonを使う」と思っておけばよいでしょう。

種類説明
CPythonC言語で書かれたオリジナルのPython(Windows/macOS/Linuxそれぞれある。)
IronPython.net framework(Windows)上で動くPythonです。
JPythonJava仮想マシン上で動くPythonです。

Hello world!

下記のプログラムを用意します。(「hello.py」というファイル名で保存しましょう。)

1
print("Hello World!")

「IDLE」を起動し、「File→Open」で作成したPythonのプログラムを指定します。

下記のような画面が開くので、「F5」を押します。

実行されました。

ジェネレータ関数

別にジェネレータ関数(yield)を使わなくても関数などを使えば処理は実装できます。ではなぜyieldは使うのでしょうか。

なぜ使うのか?

メモリ使用量を削減するためです。

リストなどで何万件のデータを扱おうとした時にアプリケーションが落ちてしまうことがあります。ジェネレータ関数を使うと例え何万件のデータを扱っていたとしても使用するメモリ量をほぼ0にすることが可能です。

ユースケース

DBから大量データを引っ張ってくる時。

ジェネレータ関数のデメリット

ただ、普通にリストを処理するのに比べて処理速度は低下します。機能や要件に応じて使うかどうかは判断した方が良いでしょう。

なので、例えば個数が100個とかならどちらも大したメモリ使用量ではないのでリストなどを使っても全く問題ないでしょう。

Webアプリ開発に使えるフレームワーク

Pythonでも、Webアプリ開発をすることができます。

いくつか開発のためのフレームワークがあります。

django(ジャンゴ)

Python用の本格的なWebアプリ開発のフレームワークで、他のPythonのフレームワークに比べて圧倒的人気を誇ります。

学習コストはそれほど多くありません。

管理サイトも付属していて、それを利用すればメンテナンスを行うことも可能です。

Flask(フラスク)

Python用の軽量Web開発フレームワークで、Pythonフレームワークの中では二番手の人気です。

短いソースコードの記述で、Webアプリを作ることができます。

日本語のマニュアルもあるので、割と初心者でもとっつきやすいです。

スポンサーリンク
  • 2018 06.18
  • miyabisan2
  • コメントを書く
  • Python
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2023 06.11

    【Python】スプレットシート操作

  2. 2023 07.08

    【Python】シングルトンの実装

  3. 2023 06.10

    【Python】ScrapyのImagePipelineの使い方

  4. 2023 06.10

    【Python】「scrapy-selenium」を扱う。

  5. 2023 06.08

    【Python】Scrapyのデバッグ方法

  6. 2023 05.30

    【Python】VSCodeで環境構築

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby】デバッグの仕方

【Python】対話実行モード(REPL)。開発環境(…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー