Pythonを理解しよう! 基本情報技術者試験の午後問題対策を解説します!

更新日:2021年5月28日

Pythonを理解しよう

基本情報技術者試験の午後問題ではプログラミング言語問題が出題されます。プログラミング経験がない場合、プログラミング言語問題が基本情報技術者試験の最大の難関となるでしょう。

プログラミング未経験者であっても、基本情報技術者試験に合格できるレベルまで学習する必要があります。

この記事では、基本情報技術者試験における言語選択の助けになるように、Pythonの特徴や用途などの基本事項や、Pythonの基本的な構文についての解説を行います。

目次

Pythonとは

まず初めに、Pythonの概要について解説します。

Pythonの特徴

Pythonはグイド・ヴァン・ロッサムにより1991年に最初にリリースされました。簡易的な記述が可能で生産性が高いことが特徴で、短いプログラムを素早く作り上げるのに適しています。

PythonはC言語やJavaなど基本情報技術者試験で選択できる他の言語とは異なり、軽量なインタプリタ言語でありコンパイラが不要であるという特徴があります。

近年、シェアを拡大していることもあり、2020年から基本情報技術者試験のプログラミング言語問題でPythonを選択できるようになりました。Pythonは今、最も注目されているプログラミング言語といえるでしょう。

Pythonの用途

PythonはAIアルゴリズム関連のライブラリが豊富であるという特徴があることから、近年発展しているAI分野の開発に多く用いられます。画像認識や音声認識などの分析や、ビッグデータを用いたデータマイニングなど、Pythonが活用できる範囲は広いです。

また、その生産性の高さからWebアプリケーションなどの開発に用いられるケースもあります。Pythonは軽量インタプリタ言語の中でも近年シェアが拡大しており、今後その活用範囲は広がっていくと思われます。

Pythonの将来性と学ぶメリット

上述した通り、PythonはAI分野においてデファクトスタンダードのプログラミング言語となっており、Pythonを学ぶことでAI分野の開発案件などに活用できるでしょう。今後もPythonの利用拡大は続くと思われます。

Pythonは記述がシンプルであり学びやすいという特徴もあるため、初めてプログラミング言語を学ぶ方にもおすすめできます。

基本情報技術者試験対策の面では、Pythonが新しく試験範囲に加わったことにより、過去問が少なく傾向が分かりにくいなど、対策が難しいというデメリットがあります。

しかし、C言語やjavaなどと比較した際のPythonの学習のしやすさは、そのデメリットを上回るでしょう。基本情報技術者試験の選択科目として間違いなくおすすめできる言語です。

Pythonの基本構文

以下では、Pythonの基本構文について解説します。

Pythonでは、ソースコードの拡張子を「.py」とします。Pythonは制約が少ない言語ではありますが、最も大きな特徴としてインデントでブロックを定義するという特徴があります。詳細は、条件分岐などの箇所で解説します。

また、Pythonでは「#」を用いてコメントを記載することができます。コメントとはプログラムの動作に影響しない、自由に記述できるメモ書きのようなものです。

ファイル名:Hello.py

# この部分はプログラム処理に影響しないコメント部分です

print(“Hello World!!”)

文字出力

Pythonでは、print関数を用いて文字出力を行います。なお、Pythonでは文字列であることを示すためにダブルクオーテーションもしくはシングルクオーテーションで文字を囲います。

ファイル名:Text.py

print(“テスト1です”)
print(‘テスト2です’)

変数処理

Pythonでは動的型付けを採用しており、他の言語のように型を指定する必要がありません。Pythonでは、任意の名称で変数を宣言し、利用することができます。

ファイル名:Human.py

years_old = 35
height = 181.5
name = “田中太郎”

配列

配列(リスト)を用いると、複数の変数をまとめて扱うことができます。Pythonでは以下のように[]を用いてカンマ区切りで要素を指定することで、リストを作成することができます。リストの各要素は、変数名[〇]のような形で指定することができます。

ファイル名:Numbers.py

numbers = [12, 34, 56]
print numbers[0] // 12と表示
print numbers[1] // 34と表示
print numbers[2] // 56と表示

条件分岐

Pythonでは、if文とelse文で条件分岐を行うことができます。if文の後に半角スペースを空けたうえで、条件式を記述し、条件式を満たす場合はif文内のブロックの処理を、満たさない場合はelse文内のブロックの処理を実施します。

Pythonではインデントを設定することでブロックを示します。以下の例では、if文内およびelse文内のブロックについてはインデントで字下げを行っています。同じブロック内のインデントは必ずそろえなければなりません。インデントをそろえない場合は、その部分は違うブロックであるとみなされます。

ファイル名:OtonaCheker.py

years_old = 35

if years_old < 20:
 print(“子供です”) // if文内のブロックはインデントで字下げ
else:
 print(“大人です”) // else文内のブロックはインデントで字下げ

繰り返し処理

Pythonでは、for文で繰り返し処理を行うことができます。Pythonのfor文は指定した配列等の要素をすべて処理するまで処理を継続するものです。

以下の例では、for文に配列を指定して、配列内のすべての要素を出力する処理を行います。下記のプログラムを実行すると、for文内の処理がりんご、バナナ、みかんの3回繰り返されます。

ファイル名:Fruit.py

fruits = [“りんご”, “バナナ”, “みかん”]

for fruit in fruits:
 print(“私は”, fruit,“を食べます”) // for文内のブロックはインデントで字下げ

関数

Pythonでは関数と呼ばれる仕組みを利用できます。関数を用いると、処理をひとまとめにして再利用しやすくできます。関数にある値を与えると、処理を行ったうえで何らかの値を返却します。関数に与える値を引数、関数が返却する値を戻り値と呼びます。

Pythonでは、def文を用いて関数を定義します。以下にサンプルを記載します。

ファイル名:NewOtonaCheker.py

years_old = 35
otona_cheker(years_old)

def newOtonaCheker(years_old):
 if years_old < 20: // def文内のブロックはインデントで字下げ
  print(“子供です”)
 else:
  print(“大人です”)

クラス

Pythonはオブジェクト指向型のプログラミング言語であり、クラスを利用することができます。Pythonでは、class文にてクラスを宣言することができます。

クラスとは、複数のメソッド(関数)と変数をひとまとまりにしたものであり、クラスを利用することでプログラムの安全性や再利用性を高めることができます。

クラスを利用するためには、インスタンス化と呼ばれるクラスの実体化を行う必要があります。以下のサンプルプログラムでは、「NewOtonaCheker()」にてNewOtonaChekerクラスのインスタンスである「new_otona_cheker」を作成しています。

さらに、作成したインスタンスに対して、otona_chekerメソッドを実行することで大人のチェックを実施します。

ファイル名:NewOtonaCheker2.py

years_old = 35

// NewOtonaChekerクラスのインスタンスを作成
new_otona_cheker = NewOtonaCheker()

// new_otona_chekerインスタンスのotona_chekerメソッドを実行
new_otona_cheker.otona_cheker(years_old)

// クラスの定義
class NewOtonaCheker:

 // class内のブロックはインデントで字下げ
 def otona_cheker(years_old):
  if years_old < 20:
   print(“子供です”)
  else:
   print(“大人です”)

まとめ

この記事では、基本情報技術者試験を受けようとされている方に向けて、Pythonに関する基本的な内容の解説を行いました。特にプログラミング未経験者にとって午後問題は鬼門となると思います。

Pythonは比較的学習がしやすく、初学者向けのプログラミング言語としておすすめです。それ以外のプログラミング言語と比較しつつ、自分に適したものを見つけて選択を行うことをおすすめします。

基本情報技術者コラム一覧へ戻る