目標
「組み込み関数」について再確認する。
「組み込み関数」の「print()」の利用方法を理解する。
「組み込み関数」の「input()」の利用方法を理解する。
組み込み関数(再掲載)
「Python」の「組み込み関数」の概要
組み込み関数とは
「組み込み関数」とは「関数」を分類した呼び方で、プログラミング言語に標準で準備されている「関数」のことです。これに対して、プログラムを記述する時にプログラマがオリジナルに作成する「関数」を「ユーザー定義関数」と呼びます。
いずれの「関数」も処理をひとつにまとめて保管されていると捉えることができるので、「関数」は、よく「プログラムの部品」として例えられます。
「Python」の「組み込み関数」については「バージョン3.11.5」の時点で71個ほど準備されていて、プログラマは、その使用方法については「Python 3.11.5 documentation」で確認できます。(https://docs.python.org/ja/3/library/functions.html)
「プログラミング言語」には標準でいくつかの「組み込み関数」が準備されています。「python」では約70個の「組み込み関数」が準備されていて「python」を利用した開発を支えてくれています。
「組み込み関数」の「print()」の利用方法
「print()」はコンソールと呼ばれるコンピューターの入出力用の装置に対して文字列を出力する関数です。「print()」には指定できる引数が5種類あります。引数の内容は次の通りです。
print(*objects, sep=’ ‘, end=’\n’, file=None, flush=False)
引数名 | 意味 |
*objects | 表示したいリテラルを入力します。 リテラルが複数個の場合はカンマ区切りで指定します。 |
sep | リテラルが複数個の場合、その区切り文字を指定します。 |
end | 最後の文字を指定します。 |
file | 出力先のファイルを指定します。 |
flush | 即時出力の有無を指定します。 |
objects を sep で区切りながらテキストストリーム file に表示し、最後に end を表示します。sep 、 end 、 file 、 flush を与える場合、キーワード引数として与える必要があります。
https://docs.python.org/ja/3/library/functions.html#print
組み込み関数「print()」のリファレンスはこちらから
print(*objects)での利用
「print()」ではリテラルを0個以上で指定できます。複数個指定する場合は「,(カンマ)」で区切ります。また、引数部分には変数を利用することも可能です。
print()
# 何も表示されません。
print(12345)
# 12345 を出力
print('あいうえお')
# あいうえお を出力
print(True)
# True を出力
print(12345, 'あいうえお', True)
# 12345 あいうえお True を出力
# ---変数を利用します。----------------
int_value = 12345
str_value = 'あいうえお'
boolean_value = True
print(int_value, str_value, boolean_value)
# 12345 あいうえお True を出力
実行結果
一番上の黒い部分は「print()」として引数に何も設定していない処理の結果で、何も表示されていない部分です。
print(*objects, sep)での利用
「print()」では「sep」で区切り文字を指定することができます。この引数は「キーワード引数」として設定します。
print(12345, 'あいうえお', True, sep='/')
# 12345 あいうえお True の区切り文字に「/」を指定して出力
# ---変数を利用します。----------------
int_value = 12345
str_value = 'あいうえお'
boolean_value = True
print(int_value, str_value, boolean_value, sep='\n')
# 12345 あいうえお True の区切り文字に「改行」を指定して出力
# \n はエスケープシーケンスで改行を表す特殊文字です。
実行結果
print(*objects, end)での利用
「print()」では「end」で最終の文字列を指定することができます。この引数は「キーワード引数」として設定します。
print(12345, 'あいうえお', True, end='\n')
# print()の最後の文字に「改行」を指定して出力
# print()ではendのデフォルト値は'\n'で改行が設定されています。
# 今回は動きを確認するために明示させています。
# ---変数を利用します。----------------
int_value = 12345
str_value = 'あいうえお'
boolean_value = True
print(int_value, str_value, boolean_value, end='右に続きます--->')
print(int_value, str_value, boolean_value, end='')
# print()の最後の文字に「右に続きます--->」を指定して出力
# デフォルト値の'\n'ではなくなったため、
# 文字列は改行されずに次の出力結果が続けて同じ行に出力されます。
実行結果
ひとつめの「print()」では改行を指定しているので、次の出力が一行下に移っていますが、ふたつめ以降の「print()」ではend引数に別の文字列が指定されているので改行が行われずに出力文字列が同じ行の右側に出力されています。
print(*objects, file)での利用
「print()」では「file」で利用したいファイルのオブジェクトを指定します。この記事のプログラムでは「open()」で開いたファイルを扱うオブジェクトを指定しています。
int_value = 12345
str_value = 'あいうえお'
boolean_value = True
# open()を利用してエンコードにutf-8を利用する「outputFile.txt」と
# それに対する書き込み用のオブジェクトを返します。
file_obj = open("outputFile.txt", "w", encoding='utf-8')
# print()のfile引数に上で作成したオブジェクトを指定します。
# これによって「outputFile.txt」への出力が行われます。
print(int_value, str_value, boolean_value, sep='\n', file=file_obj)
# 開いたファイルをファイルオブジェクトのメソッド「close()」を利用して閉じます。
file_obj.close()
実行結果
「outputFile.txt」が作成されてファイルの中に「print()」で指定した*objectsが出力されていいます。
print(*objects, flush)での利用
ここでは、少しだけですが、open関数も利用しています。
「print()」では「flush」で即時出力の有無を指定します。「True」の場合はすべての文字列が集まらなくても出力を行い、「False」の場合はすべての文字列が集まるまで出力を待ちます。
# バッファリングに時間がかかる状況を仮作するために
# timeモジュールのsleepメソッドを利用します。
import time
# open()を利用してエンコードにutf-8を利用する「outputFile.txt」を
# 開き、それに対する読み込み用のオブジェクトを返します。
file_obj = open("outputFile.txt", "r", encoding='utf-8')
# 変数「lines」に「outputFile.txt」から読み込んだテキスト内容(文字列)を紐づけます。
lines = file_obj.read()
# for文を利用して文章の改行コードごとに文字列を区切りながら、変数「i」へ紐づけます。
for i in lines.split('\n'):
# 紐づいた各行をprint()で出力します。
# このとき、end引数に改行以外を指定してprint()の処理が一行で継続されるように設定します。
# 今回は「タブ(\t)」を指定しています。
print(i, end= '\t', flush=True)
time.sleep(1)
# 開いたファイルをファイルオブジェクトのメソッド「close()」を利用して閉じます。
file_obj.close()
実行結果
1秒間隔に得た文字列データを即時出力します。続けて「flush」を「False」に変更すると全ての文字列データが揃った段階で出力が行われます。
「flush」が「False」の場合の実行結果
「組み込み関数」の「input()」の利用方法
「input()」には、引数に指定した文字列(prompt)をコンソールに出力した後、今度はコンソールからの入力を待ちます。コンソールから入力が行われると入力された値をプログラム側に返します。
input(prompt)
引数名 | 意味 |
prompt | 表示したい文字列を入力します。 |
引数 prompt が存在すれば、それが末尾の改行を除いて標準出力に書き出されます。次に、この関数は入力から 1 行を読み込み、文字列に変換して (末尾の改行を除いて) 返します。 EOF が読み込まれたとき、 EOFError が送出されます。例:
https://docs.python.org/ja/3/library/functions.html#input
組み込み関数「print()」のリファレンスはこちらから
input(prompt)
「input(prompt)」では引数に指定したprompt(文字列)をコンソールへ表示します。その後コンソールからの入力を受け付け、入力された一行を値として返します。
input('ここに好きな文字列を入力してください。--->:')
実行結果
入力が受け付けられるので数値や文字列を入力できます。
「12345」と入力してEnterキーを押しています。このとき、「12345」はプログラム側に文字列として返されています。
ファイルを次のように編集して再度実行するとinput()で返された値が利用されているのが分かります。
input_value = int(input('数値を入力してください。--->:'))
print(input_value ** 2)
実行結果
今回は以上になります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。