情報処理のWeb教科書―IPA情報処理試験対策のお供に!

Python-Python3で四則演算から超入門テキスト

トップ プログラミング Python

Python3で四則演算から超入門をテーマにPython入門用のオリジナルテキストをまとめています。

▲記事トップへ

目次

この記事の目次です。

1. Pythonとは
2. Python3のインストール
3. Python3のprint文と四則演算
4. インデントとブロック
5. Pythonの変数とif文
6. Pythonの配列
7. Pythonのfor文
8. Pythonのwhile文
9. Pythonの演算子
10. Pythonの関数
11. Pythonのファイル分割
12. 標準ライブラリ(インタプリタ組込み型)
文字列分割 文字列置換 ファイルオープン ファイル全体を読み込む ファイルに書き込む
13. 標準ライブラリ(import型)
datetime ftplib os time xml
14. Python3の外部モジュールの利用方法

もっと知識を広げるための参考
更新履歴

1. Pythonとは

Pythonとは、オープンソースのスクリプト言語です。さまざまな要望を持った人が段階に応じて利用できるように設計された、柔軟な仕様のプログラミング言語です。

読み方

Pythonの読み方は「パイソン」です。

利用範囲の広い

Webアプリケーションからネットワークプログラミングはもちろん、分析やテキスト処理、マルチメディアやGUIアプリケーション、システム管理など利用範囲の広いプログラミング言語です。

言語学データ処理の機能

特に言語学データを処理するための機能を備えていて、シンプルかつ強力なプログラミング言語です。

豊富なライブラリ、実行環境

標準ライブラリが豊富に用意されており、数多くの環境で動作します。

C言語の拡張機能

Pythonは、スクリプト言語ですので、そこそこの速度で動作します。

そこそこの速度ではまずい部分については、C言語拡張の機能を使用して問題解決できる仕組みがPythonには用意されています。

Python3

Pythonは2000年に2系がリリースされ、Python2のときはみんながPython2を使うまでに5年かかったそうです。

そして、2008年にそのPython2系の不都合な仕様をすててPython3がリリースされました。 Python3がリリースされてからもう5年以上たっていますので今はPython3時代です。

Python3で学ぶPython入門

Pythonの概要に触れましたので、以下ではPythonの入門知識を見ていきます。

Python3.xを使用する

Pythonは、Python2とPython3で少し作法が変わっていますが、これから入門知識を得るなら新しいPython3を勉強した方がいいと思います。

以下では、Python3.xを使用した入門知識をまとめていきます。

活用しながら学ぶ

Pythonは、ちょっとしたことから大きなプログラムまで柔軟に対応できるのが特徴です。

まずは使ってみて、活用しながら知識を深めていく方針でまとめていければと思います。

まずはインストールから

まずは、インストールから始めていきます。

2. Python3のインストール

はじめにPython3のダウンロードとインストール方法について見ていきます。

Linux環境でのPythonのインストール

Linux環境でのPythonのインストール方法についてです。

インストール(Red Hat系Linux)

# yum -y install python

CentOSなどRed Hat系LinuxのPythonのインストールは、yumを使用して行えます。

インストール(その他Linux)

# apt-get install pythonX.X

Ubuntuなどその他のLinuxのPythonのインストールは、apt-getを使用して行えます。

Windows環境でのPythonのインストール

Windows環境でのPythonのインストール方法についてです。

Python3のダウンロード

Pythonは、http://www.python.org/から無料で自由にダウンロードできます。

インストール(Windows)

Windows版のPythonは、ダウンロードしてきた、インストーラ(python-X.X.X.exe)を実行してインストールが行えます。

インストール

「Install launcher for all users(recommended)」、「Add Python 3.5 to PATH」にチェックを入れて、「Install Now」を実行します。

「Setup was successful」となったら、「Close」をクリックします。

コマンドプロンプトを開いて、「python -V」と入力してインストールできているか確認します。

C:>python -V

3. Python3のprint文と四則演算

Pythonをインストールしましたので、今度はコードの記述方法について見ていきます。

Pythonのprint文

まずはじめにprint文を実行してみます。

print文で「Hello World!!」と表示してみる

次に簡単なプログラムを実行してみます。「Hello World!!」とprint文で文字列を表示するプログラムを作成して、実行します。

hello.pyの作成
C:>notepad hello.py

hello.pyとう名前で、Pythonのスクリプトファイルを作成していきます。

プログラムの内容
print("Hello World!!")

上記はプログラムの内容です。

プログラムの実行
C:>python hello.py
Hello World!!

「python hello.py」というように「python スクリプトファイル名」とうように実行します。

print文の改行

print文で改行する場合の記述方法です。

pythonのprintの改行

そのまま実行すると改行が含まれます。

文字列を2行に分けてprint文を実行すると分けたところに改行が追加されます。

改行を無くすにはprintに「end = ""」を指定します。

改行が含まれる例(print1.py)

print1.pyとう名前で、改行が含まれる例を見てみます。

コード
print("Hello")
print("World!!")
実行結果
C:>python hello.py
Hello
World!!
「end = ""」を指定(print2.py)

print2.pyとう名前で、「end = ""」を指定した例を見てみます。

コード
print("Hello ", end = "")
print("World!!")
実行結果
C:>python hello.py
Hello World!!

四則演算

次は四則演算を行っていきます。

加算(たし算)

加算(足し算)は以下です。

print(1+1)

減算(ひき算)

減算(ひき算)は以下です。

print(2-1)

乗算(かけ算)

乗算(かけ算)は以下です。

print(3*2)

除算(わり算)

除算(わり算)は以下です。

print(4/2)

4. インデントとブロック

インデントとブロックについて見ていきます。

インデント

Pythonはインデントでブロックを表現します。

インデントとは

インデントとは、字下げのことで、行頭に空白やタブを設けて文字開始位置を他行よりも下がった位置から始めた文字組みのことです。 Pythonのインデントは「タブ」で表現します。

ブロックとは

ブロックとは、コードブロックのことで、コードのまとまりのことをいいます。

5. Pythonの変数とif文

Pythonの変数とif文について見ていきます。if文は条件に応じた処理を記述する際に使用する条件文になります。

変数とif文を使用してprint文実行+コメント

今度は、変数とif文を使用してprint文実行してみます。

加えて、コメントについて見てみます。

プログラムの内容と実行

プログラムの内容は以下です。sample.pyという名前で保存します。

night = False

if night:
	print('Good evening!!')
else:
	print('Hello!!')

実行します。

C:>python sample.py
Hello!!

解説

プログラムの内容と実行

今度は変数nightがTrueのケースを試してみます。#はそれ以降の行をコメント扱いにします。

#night = False
night = True

if night:
	print('Good evening!!')
else:
	print('Hello!!')

実行します。

C:>python sample.py
Good evening!!

6. Pythonの配列

Pythonの配列について見ていきます。

配列の宣言と要素の追加

配列の宣言は[]を使用し、要素の追加はappend()を使用します。

サンプルコード:sample.py

配列の宣言と要素の追加を行うサンプルコードです。

words = []
words.append("Hello")
words.append("World!!")
print(words[0] + " " + words[1])

実行例

python sample.py
Hello World!!

7. Pythonのfor文

Pythonのfor文について見ていきます。

配列(リスト)をfor文で走査する

list = ["pen", "pineapple", "apple", "pen"]
for i in range(len(list)):
    print("{0} ".format(list[i]), end = "")

実行します。

C:>python sample.py
pen pineapple apple pen

Pythonのコマンドライン引数

コマンドライン引数は、コマンド実行時にプログラム名の後に設定する文字列です。

Pythonでコマンドライン引数を使うには標準ライブラリのsysをimportします。

コマンドライン引数をfor文で表示する

import sys
for i in range(len(sys.argv)):
    print("{0}".format(sys.argv[i]))

実行します。

C:>python sample.py pen pineapple apple pen
sample.py
pen
pineapple
apple
pen

8. Pythonのwhile文

while 文は指定した条件式が真の間、処理を繰り返し実行します。

文法

while 条件式:
    条件式が真の時に実行する文

loop = 0
while loop < 10
	print("繰り返します")
	loop += 1

9. Pythonの演算子

Pythonの演算子について見ていきます。

比較演算子

以下はPythonの比較演算子です。

演算子 結果
x < y xyより小さければTrue
x <= y xyより小さいか等しければTrue
x > y xyより大きければTrue
x >= y xyより大きいか等しければTrue
x == y xyの値が等しければTrue
x != y xyの値が等しくなければTrue
x is y xyが同じオブジェクトであればTrue
x is not y xyが同じオブジェクトでなければTrue
x in y xyに含まれていればTrue
x not in y xyに含まれていなければTrue

インクリメント/デクリメント演算子

Pythonにはインクリメント/デクリメント演算子がありません。 以下のように+=や-=を代用する必要があります。

a += 1
b -= 1

10. Pythonの関数

Pythonの関数の例です。

コード例:sample.py

def printHello():
    print("Hello World!!")

printHello()

実行例

python sample.py
Hello World!!

引数のある関数

以下は引数のある関数の例です。

def printHello(msg):
    print(msg)

printHello('Hello World!!')

実行例

python sample.py
Hello World!!

関数の戻り値

関数の戻り値はreturn文を使用します。

戻り値のある関数の例:sample.py

def getMessage():
    return "Hello World!!"

print(getMessage())

実行例

python sample.py
Hello World!!

11. Pythonのファイル分割

Pythonのファイル分割の例です。

構成

├main.py
└function.py

コード例:main.py

import function

function.printHello()

コード例:function.py

def printHello():
    print("Hello World!!")

実行例

python main.py
Hello World!!

12. 標準ライブラリ(インタプリタ組込み型)

インタプリタに組み込まれている標準型について見ていきます。

文字列分割:splitlines()

splitlines()は文字列の改行で分割して配列を作成する関数です。

使用例

text = "aaa\nbbb\nccc"
lines = text.splitlines()
for line in lines:
	print(line)

文字列置換:replace()

replace()は文字列の中の特定の文字や文字列を別に置き換える関数です。

使用例

text = "aaa\nbbb\nccc"
new_text = text.replace("\n", "\t")

ファイルオープン:open()

ファイルを扱うにはまず初めに開く必要があります。その際に使用するのがopen()関数です。

mode = "r"
filepath = "./data.txt"
file = open(filepath, mode)
file.close()

with句を使用すると自動で閉じてくれるので、close()関数を実行してファイルを閉じる処理が不要になります。

mode = "r"
filepath = "./data.txt"
with open(filepath, mode) as file
	:

ファイル全体を読み込む:read()

ファイル全体を読み込むにはread()関数を使用します。

mode = "r"
filepath = "./data.txt"
with open(filepath, mode) as file
    data = file.read()
    print(data)

ファイルに書き込む:write()

ファイルに書き込むにはwrite()関数を使用します。

mode = "w"
filepath = "./data.txt"
with open(filepath, mode) as file
    file.write("Hello World!!")

13. 標準ライブラリ(import型)

import文が必要な標準ライブラリについて見ていきます。

datetime

datetimeモジュールは日時に関するさまざまな関数を提供します。

today()関数

today()関数を使うことで本日日付が取得できます。

import datetime
today = datetime.date.today()
print(today.strftime('%Y%m%d'))

ftplib

ftplibモジュールはFTPに関するさまざまな関数を提供します。

FTP接続してディレクトリ一覧表示

以下はFTP接続してディレクトリ一覧を表示する例です。

from ftplib import FTP

with FTP(host='hostname', user='username', passwd='password') as ftp:
	ftp.retrlines('NLST')

FTPS接続してディレクトリ一覧表示

以下はFTPS(FTP over TLS/SSL)接続してディレクトリ一覧を表示する例です。

from ftplib import FTP_TLS

with FTP_TLS(host='hostname', user='username', passwd='password') as ftp:
	ftp.retrlines('NLST')

カレントディレクトリを変更する

カレントディレクトリを変更する場合はcwd()関数を使用します。

以下はFTPS(FTP over TLS/SSL)接続してカレントディレクトリを変更する例です。

from ftplib import FTP_TLS

with FTP_TLS(host='hostname', user='username', passwd='password') as ftp:
	ftp.cwd('./log')
	ftp.retrlines('NLST')

ダウンロードする

以下はFTPS(FTP over TLS/SSL)接続して特定のディレクトリ(logディレクトリ)からファイルをダウンロードする例です。 例を実行するにはローカルのプログラム実行ディレクトリにlogディレクトリを作成しておく必要があります。

from ftplib import FTP_TLS

with FTP_TLS(host='hostname', user='username', passwd='password') as ftp:
	ftp.cwd('./log')
	filelist = ftp.nlst('.')
	for file in filelist:
		if file != '.' and  file != '..':
			with open('./log/' + file, 'wb') as f:
				ftp.retrbinary('RETR %s' % file, f.write)

os

osの機能が利用できる関数を提供します。

makedirs関数

makedirs関数は、再帰的にディレクトリを作成する関数です。mkdir() と似ていますが、末端ディレクトリを作成するために必要なすべての中間ディレクトリも作成します。 exist_ok の値が False の場合 (デフォルト)、対象のディレクトリがすでに存在すると FileExistsError を送出します。

import os
dir_path = 'mkdir/sample'
os.makedirs(dir_path, exist_ok=True)

time

timeモジュールは時刻に関するさまざまな関数を提供します。

Pythonでsleepを使う

処理を一定期間停止させたいときにsleepが使えます。

文法

import time
time.sleep(秒数)

xml

xmlモジュールはxmlに関するさまざまな関数を提供します。

Pythonでxmlを読み込む

Pythonでxmlを読み込むにはxml.etree.ElementTree.parseメソッドが使えます。

サンプル

以下はPythonでxmlを読み込むサンプルプログラムです。

サンプルのXMLファイル

以下のXMLファイルをsample.xmlという名前でPythonプログラムのファイルと同じ位置に置きます。

<item>A</item>
サンプルのPythonファイル

サンプルのPythonファイル(sample.py)の記述内容です。

import xml.etree.ElementTree as ET
tree = ET.parse('sample.xml')
root = tree.getroot()
print(root.text)
実行結果

実行すると以下の表に表示されます。

python sample.py
A

14. Python3の外部モジュールの利用方法

本記事では、活用しながらPythonの入門知識を得ていくポリシーです。 簡単なコードの実行が試せましたので、Webから情報して機械学習など行う方向をめざして外部モジュールを使っていきます。

Selenium

PythonでSeleniumを使用して、ブラウザを起動しURLにアクセスしてスクリーンキャプチャを取得する方法を試してみます。

Seleniumとは

Selenium WebDriverは、Webブラウザを操作するAPIを提供するライブラリです。

Seleniumのインストール

pip install selenium

Python3を使用していますのでこれだけです。

Firefox

Fifefoxを操作する方法を見ていきます。前提として、Firefoxをインストールしておきます。

PythonでSeleniumを使用してFirefoxの操作(Firefoxの起動)

PythonでSeleniumを使用してFirefoxを起動するには、webdriverをインポートして、webdriver.Firefox()を実行します。

from selenium import webdriver
driver = webdriver.Firefox()
PythonでSeleniumを使用してユーザエージェントを変更してFirefoxを操作

以下はPythonでSeleniumを使用してユーザエージェントを変更してFirefoxを操作する例です。

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
ops = Options()
ops.set_preference('general.useragent.override', 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1')
driver = webdriver.Firefox(options=ops)
driver.get('<URL 例)https://learning.zealseeds.com/contents/text/programming/python/index.html>')

Chrome

Chromeを操作する方法を見ていきます。

chromedriverの入手

SeleniumでChromeを操作するには、chromedirverを準備する必要があります。 以下よりご利用のOS環境に合わせてchromedriverをダウンロードしてきます。

https://chromedriver.chromium.org/downloads

PythonでSeleniumを使用してChromeの操作(URLへのアクセス)

PythonでSeleniumを使用してChromeでURLにアクセスするには、get()メソッドを使用します。

from selenium import webdriver
driver = webdriver.Chrome('C:\\tmp\\chromedriver.exe')

各種操作

各種操作方法について見ていきます。

URLへのアクセス

PythonでSeleniumを使用してURLにアクセスするには、get()メソッドを使用します。 webdriverのところはご利用のブラウザ用に置き換えて読み進めてください。

from selenium import webdriver
driver = webdriver.Chrome('C:\\tmp\\chromedriver.exe')
driver.get('<URL 例)https://learning.zealseeds.com/contents/text/programming/python/index.html>')
現在のURL取得

現在のURLはcurrent_urlで取得できます。

from selenium import webdriver
driver = webdriver.Chrome('C:\\tmp\\chromedriver.exe')
driver.get('<URL 例)https://learning.zealseeds.com/contents/text/programming/python/index.html>')
cur_url = driver.current_url
print(cur_url)
PythonでSeleniumを使用してFirefoxの操作(画面キャプチャ取得)

PythonでSeleniumを使用してFirefoxでURLにアクセスして、その表示のキャプチャ画像を取得するには、save_screenshot()メソッドを使用します。

from selenium import webdriver
driver = webdriver.Chrome('C:\\tmp\\chromedriver.exe')
driver.get('<URL 例)https://learning.zealseeds.com/contents/text/programming/python/index.html>')
driver.save_screenshot('保存先 例)C:/aaa.png')

もっと知識を広げるための参考

更新履歴

戻る

スポンサーリンク

情報処理の知識体系

各試験の問題と解説

ランダム出題・採点アプリ

プログラミング

スポンサーリンク