この記事の目次
- Pythonとは
- Pythonの特徴3つ
- Pythonの主な用語例20選
- Pythonの主な用語例1:function
- Pythonの主な用語例2:namespace
- Pythonの主な用語例3:2to3
- Pythonの主な用語例4:generator
- Pythonの主な用語例5:object code
- Pythonの主な用語例6:argument
- Pythonの主な用語例7:Hashtable
- Pythonの主な用語例8:package
- Pythonの主な用語例9:bytecode
- Pythonの主な用語例10:interactive
- Pythonの主な用語例11:qualified name
- Pythonの主な用語例12:coercion
- Pythonの主な用語例13:key function
- Pythonの主な用語例14:reference count
- Pythonの主な用語例15:dictionary
- Pythonの主な用語例16:Lambda
- Pythonの主な用語例17:sequence
- Pythonの主な用語例18:expression
- Pythonの主な用語例19:metaclass
- Pythonの主な用語例20:type
- Pythonでできること10選
- Pythonについて詳しく知り活用してみましょう!
Pythonとは
Pythonはシンプルな文法が特徴のプログラミング言語です。
1990年にオランダで開発されたプログラミング言語で、他のプログラミング言語と比較してわかりやすい文法になっていることから初心者でも学びやすい言語となっています。
また、人工知能の開発に必要な機械学習ができるライブラリを豊富にそろえており、統計や解析にも強みを持つため、近年はAI開発で注目を集めている言語でもあります。
Pythonの特徴3つ
Pythonの特徴3つをご紹介します。
Pythonは世界的にも人気の高いプログラミング言語の1つです。近年は人工知能の開発で多くの企業が採用したこともあり、日本でも人気が高まっています。
ここではPythonの特徴3つをご紹介しますので、Pythonに興味を持っている方はぜひ参考にしてみてください。
Pythonの特徴1:すぐに実行できる
Pythonはインタプリタ型の言語となっているため、書いたコードをすぐに実行することができます。
プログラミング言語には「コンパイラ型」と「インタプリタ型」という2種類があり、コンパイラ型は実行時にコンパイルを行う必要があり、作業に時間がかかります。
一方、インタプリタ型はプログラム実行時にソースコードを読み込むだけなので、その場ですぐにプログラムを実行できます。
Pythonの特徴2:種類が豊富
Pythonはライブラリの種類が豊富です。
Pythonの魅力の1つは、便利なライブラリが豊富に利用できる点です。Pythonは人工知能だけでなくWebサービスやデスクトップアプリなどさまざまなものの開発に利用されており、ライブラリが充実しています。
そのため、何の目的でPythonを利用するにしても、便利なライブラリを活用することができるでしょう。
Pythonの特徴3:学びやすい
Pythonは初心者にも学びやすいプログラミング言語です。
前述のとおりPythonはシンプルでわかりやすい文法になっており、他のC言語やJavaなどと比較して、同じ内容のプログラムでも記述する構文が短くなるような工夫がなされています。
そのため、はじめてプログラミングに挑戦する人でも習得難易度が低く、学びやすくなっています。
Pythonの主な用語例20選
Pythonの主な用語例20選をご紹介します。
プログラミングを学習するには、それぞれの言語に登場する専門用語についても知っておくことが重要です。事前にある程度用語を押さえておけば、スムーズに学習に入ることができるでしょう。
ここではPythonの主な用語例20選をご紹介しますので、Pythonを学習する際の参考にしてみてください。
Pythonの主な用語例1:function
Pythonの「function」は関数を意味する用語です。
Pythonのfunctionとは、「何らかの値(引数)を渡すことでその値に応じた何らかの値(戻り値)を返すもの」です。functionはdef文を用いて定義する必要があり、「def 関数():」などと定義します。
また、「return」を用いることで戻り値を指定することができます。
Pythonの主な用語例2:namespace
Pythonの「namespace」は変数や関数の名前が所属しているモジュールやクラスを意味する用語です。
Pythonでは異なるモジュールにそれぞれ同じ名前のオブジェクトがあったとしても、それらは関連性を持ちません。
たとえば、「module_A」「 module_B」という2つのモジュール(namespace)が定義されており、その中に同じ関数があったとしても、それぞれ別の処理が定義できます。
Pythonの主な用語例3:2to3
Pythonの「2to3」はPython2から3への自動コード置換ツールを意味する用語です。2to3はPythonに標準で搭載されているモジュールで、Python2系のコードを3系に自動で変換してくれます。
使用にはインストールが必要なため、CentOSなら「$ yum install python-tools」、Ubuntuなら「$ apt-get install 2to3」などのコードを利用しましょう。
Pythonの主な用語例4:generator
Pythonの「generator」は関数を一時停止させ、途中経過の結果を返すことができるインタフェースを指す用語です。
iteratorは要素を反復して取り出すものですが、generatorはiteratorの1種です。generatorを使用することで、関数の途中で結果を返し、任意のタイミングで処理を再開できます。
Pythonでは通常の関数のreturnをyieldに置き換えたコードになります。
Pythonの主な用語例5:object code
Pythonの「object code」はCPythonでの実装の低レベルな詳細部分を指す用語です。
Pythonの「PyCodeObject」はコードオブジェクトを表現するために用いられるC構造体で、型のフィールドはいつでも変更することができます。
各オブジェクトは関数に縛られていない実行可能なコードとなります。
Pythonの主な用語例6:argument
Pythonの「argument」は実引数とも呼ばれ、関数を呼び出す際に関数やメソッドに渡す値を意味する用語です。
argumentには2種類あり、関数を呼び出す際に引数の前に識別子が付いた「キーワード引数」とキーワード引数以外の引数である「位置引数」があります。
「キーワード引数」は「complex(real=3, imag=5)」、位置引数は「complex(3, 5)」というように記述できます。
Pythonの主な用語例7:Hashtable
Pythonの「Hashtable」はハッシュ関数からインデックス値が生成されるデータ構造を意味する用語です。
Hashtableにはキーと値がペアで格納されますが、キーはハッシュ関数により生成されます。そのため、インデックス値がデータ値のキーとして動作し、データへのアクセスが高速になります。
また、Hashtableは「# Declare a dictionary」というように記述します。
Pythonの主な用語例8:package
Pythonの「package」はサブモジュールや再帰的にサブパッケージを含むことのできるmoduleを指す用語です。
Pythonではmoduleとpackageの違いが分かりにくいですが、packageはmoduleを総管理したmoduleです。
packageを利用することにより、ディレクトリ全体を大きなmoduleとして扱うことができ、構造化することができるようになります。
Pythonの主な用語例9:bytecode
Pythonの「bytecode」はCPythonインタプリタの内部表現を指す用語です。
Pythonではソースコードはbytecodeへとコンパイルされます。また、bytecodeはキャッシュされるため、再度のコンパイルを避けることで二度目の実行では高速に動作されます。
そのため中間言語は仮想マシンとして動作しますが、bytecodeは単なる仮想マシンではないとされています。
Pythonの主な用語例10:interactive
Pythonの「interactive」は対話的インタプリタを指す用語です。
対話的インタプリタとはインタプリタ型言語の特徴である、ソースコードを一行一行機械語に翻訳していく逐次翻訳を利用した機能です。
interactiveでは文や式をインタプリタのプロンプトに入力することで、すぐに実行結果を見ることができます。そのため、interactiveを利用することで新しいアイデアを試すこともできます。
Pythonの主な用語例11:qualified name
Pythonの「qualified name」はモジュールのグローバルスコープからモジュールで定義されているクラスや関数、メソッドへのパスを表す用語です。
qualified name(修飾名)はトップレベルの関数やクラスではオブジェクトの名前と同様です。たとえばモジュールへの参照で使われた場合、qualified nameは全ての親パッケージを含む全体での表記を意味します。
Pythonの主な用語例12:coercion
Pythonの「coercion」は同じ型の2引数をともなう演算の際に行われる、インスタンスの別の型への暗黙の変換を意味する用語です。
coercion(型強制)により、たとえば「int(3.15) 」と「3+4.5」は同じ型に暗黙の返還が行われます。そのため、エンジニア自身が「float(3)+4.5」のように正規化しなくてもTypeError例外が発生しないようになります。
Pythonの主な用語例13:key function
Pythonの「key function」はソートや順序比較用の値を返すオブジェクトを指す用語です。
Pythonでは、さまざまなツールがkey functionを受け取ってソートやグループ化を管理します。key functionを作る方法にはいくつかの種類があり、たとえば「str.lower()」メソッドをソートを行うキー関数として利用することもできます。
Pythonの主な用語例14:reference count
Pythonの「reference count」はオブジェクトに対する参照の数を指す用語です。
reference count(参照カウント)はコード上には現れませんが、実装では重要な要素の1つです。reference countが0になった場合、対象のオブジェクトは破棄されます。
Pythonの主な用語例15:dictionary
Pythonの「dictionary」は任意のキーを値に対応づける連想配列を指す用語です。
dictionaryでは「__hash__() 」メソッド、「__eq__()」メソッドを実装した任意のオブジェクトがキーにできます。
Pythonの主な用語例16:Lambda
Pythonの「Lambda」は無名のインライン関数を指す用語です。
Lambdaでは関数を作る構文は「lambda [parameters]: expression」と記述されます。Lambda関数には呼び出されるときに評価される1つの式が含まれます。
Pythonの主な用語例17:sequence
Pythonの「sequence」はオブジェクトをシーケンシャルに処理するためのデータ構造を指す用語です。
整数インデックスによる効率的なアクセスを可能にするものです。基本的な組み込みsequence型には「list」「str」「tuple」「bytes」などがあります。
Pythonの主な用語例18:expression
Pythonの「expression」はひとまとまりの構文を意味する用語です。
expression(式)は言葉のとおり「式」を意味します。Pythonは他のプログラミング言語と違い、言語の全ての構成要素が式というわけではなく、式として使用できない文も含まれています。
Pythonの主な用語例19:metaclass
Pythonの「metaclass」はクラスのクラスを意味する用語です。
クラス定義ではクラス名やクラスの辞書、基底クラスのリストを作成しますが、metaclassではその3つを引数にしてクラスを作成します。
Pythonでは他のプログラミング言語と異なり、カスタムしたmetaclassを作成できるという特徴があります。
Pythonの主な用語例20:type
Pythonの「type」はオブジェクトの型を意味する用語です。
typeではオブジェクトがどのようなものなのかを決定します。また、型は「type(obj)」で取得することができます。
Pythonでできること10選
Pythonでできること10選をご紹介します。
Pythonは非常に汎用性が高く、人工知能の開発からWebアプリケーションの開発まで幅広い用途に使用できるプログラミング言語です。
Pythonでできること10選をご紹介しますので、どのようなことに利用できるのが参考にしてみてください。
Pythonでできること1:WEBアプリやサービスの開発
PythonはWEBアプリやサービスの開発が可能です。
PythonはWEBアプリケーション開発に活用されている言語で、Pythonで開発された有名なWEBアプリには「Dropbox」や「YouTube」、「Instagram」などがあります。
特に規模の大きなWEBアプリの開発に用いられることが多く、近年ではSNSやWEBサービス、ブラウザゲームの開発にも広く用いられています。
Pythonでできること2:IoT技術の導入
PythonはIoT技術の導入が可能です。
後ほど解説しますが、Pythonは人工知能の開発や組み込みアプリケーションの開発にも利用されます。そのため、冷蔵庫やエアコンなどの家電にAIの技術を搭載したIoT技術の導入にもPythonは用いられています。
Pythonを利用することで、組み込みアプリケーションの開発とAI開発の両方を行うことが可能です。
Pythonでできること3:AI開発
PythonはAI開発が可能です。
前述のとおり、AI開発に必要な機械学習においてPythonのライブラリは非常に役に立ちます。AIは「画像解析」「音声解析」「自然言語処理」「創造」などの分野で活用されており、さまざまな分野でAIが利用され始めています。
PythonでのAI開発の開発事例としては、Google画像検索などがあります。
Pythonでできること4:スマホアプリの開発
Pythonはスマホアプリの開発が可能です。
PythonはWEBアプリだけでなく、スマートフォンで利用するスマホアプリの開発にも利用できます。Androidアプリ限定となっていますが、「kivy」というフレームワークを利用することでスマホアプリ開発が行えます。
Pythonでできること5:ブロックチェーンやフィンテック技術の開発
Pythonはブロックチェーンやフィンテック技術の開発が可能です。
フィンテックとは金融(ファイナンス)と技術(テクノロジー)を組み合わせた言葉で、金融サービスとIT技術を組み合わせた技術を指します。たとえばスマートフォンからの送金などもフィンテックの1つです。
ブロックチェーン技術もフィンテック関連の最先端の技術となっていますが、Pythonを利用することで習得のハードルを下げてくれるでしょう。
Pythonでできること6:業務の効率化
Pythonは業務の効率化が可能です。
Pythonは時間のかかる面倒な作業を自動化したり、データ分析などにも強みを持ちます。たとえば、Pythonを利用することでインターネット上にある特定のデータを自動収集したり、競合他社のデータを分析するといった作業も可能になります。
特にマーケティングなどに役立つため、Pythonを利用した自動化ツールを作成することで、業務効率化にも役立つでしょう。
Pythonでできること7:デスクトップアプリの開発
Pythonはデスクトップアプリの開発が可能です。
WEBアプリやスマホアプリだけでなく、Pythonはデスクトップで利用するアプリケーションを作成することもできます。Pythonで作成されるデスクトップアプリには、企業が利用している業務効率化ツールやさまざまな作業を自動化するシステムなどがあります。
また、WEBアプリをパソコン上で使いやすくするといった内容の開発もPythonであれば可能です。
Pythonでできること8:データ分析・データ解析
Pythonはデータ分析・データ解析が可能です。
Pythonは前述のとおり統計や解析にも強みを持つ言語で、データ分析やデータ解析に用いられています。データ分析を行うためにはデータに含まれている無駄なものを取り除いたり、形式を整えるなどの前処理が必要になりますが、そういった前処理も効率よく行えます。
そのため、データ分析を行いたいならPythonを選べば問題ないでしょう。
Pythonでできること9:WEB上のテキストや画像の自動収集
PythonはWEB上のテキストや画像の自動収集が可能です。
Pythonにはスクレイピングという技術があり、スクレイピングを利用することでWEB上のテキストだけでなく、画像データも自動で収集することが可能です。
従来であれば人が手作業で収集し、目視で確認していたデータを自動で収集できるため、業務に掛かっていた時間を大幅に短縮することができます。
Pythonでできること10:組み込みアプリの開発
Pythonは組み込みアプリの開発が可能です。
組み込みアプリは機械の中でプログラムを動かすシステムのことで、家電や自動車などさまざまな組み込みアプリでPythonが利用されています。Pythonを利用した組み込み系の例としては学習用のミニパソコンであるラズベリーパイが有名です。
また、Pythonは組み込み系でよく利用されるC言語とも親和性が高いため、C言語やC++と合わせて利用することができます。
Pythonについて詳しく知り活用してみましょう!
Pythonはシンプルでわかりやすいコードが特徴の、初心者でも学びやすいプログラミング言語です。
Pythonは近年では人工知能の開発で注目されており、これから学ぶのに適した言語でしょう。ぜひこの記事でご紹介したPythonの特徴やPythonの主な用語例、Pythonでできることなどを参考に、Pythonについて理解を深めてみてはいかがでしょうか。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞