Pythonの基礎 - 組み込み関数

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2021年11月16日 (火) 17:20時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == Pythonの組み込み関数について記載する。<br> <br><br> == print関数 (文字列を出力) == ==== 基本と書式 ==== print関数の書式は…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

Pythonの組み込み関数について記載する。


print関数 (文字列を出力)

基本と書式

print関数の書式は、以下の通りである。

 print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)


最も基本的な使用方法は、引数に文字列を指定して実行することにより、標準出力に対して引数に指定した文字列を出力する。
この時、デフォルトでは、自動的に最後に改行が出力される。

引数に文字列ではない数値等を指定する場合、str関数により文字列に変換されて出力される。

引数には、カンマ区切りで複数の文字列を指定することもできる。
デフォルトでは、空白で区切られて出力される。

 print("Hello")
 print(100)
 print("Blue", "Red", "Green")
 
 # 出力
 Hello
 100
 Blue Red Green


区切り文字の変更

引数にカンマ区切り複数の文字列を指定する場合、デフォルトでは空白で区切られて出力される。
別の区切り文字に変更したり、区切り文字無しで出力する場合は、sep="区切り文字"を指定する。

 print(*objects, sep='区切り文字')


例えば、区切り文字を+にする場合はseq='+'、区切り文字無しの場合はseq=と記述する。

 # デフォルトの区切り文字
 print("Blue", "Red", "Green")
 
 # 区切り文字を"+"に変更
 print("Blue", "Red", "Green", sep="+")
 
 # 区切り文字無し
 print("Blue", "Red", "Green", sep="")
 
 # 出力
 Blue Red Green
 Blue+Red+Green
 BlueRedGreen


改行無し

print関数を実行する時、自動的に改行が行われる。(デフォルトは、最後に自動で改行を出力するように設定されているため)

print関数を実行した時、最後に改行しないようにする場合はend=を指定する。(デフォルトは、end='\n')
endには最後に出力する文字列を指定する。
なお、改行以外の別の文字列を指定することもできる。

 print(*objects, end='')


 # デフォルトの設定
 print("Hello");print("Python")
 
 # 改行しないように設定:
 print("Hello", end="");print("Python")
 
 # 最後に任意の文字列を出力するように設定
 print("Hello", end="[end]\n")
 
 # 出力
 Hello
 Python
 HelloPython
 Hello[end]


ファイルへ出力する

print関数は、デフォルトでは標準出力に対して出力されるが、画面ではなくファイルに対して出力することもできる。

 print(*objects, file=sys.stdout)


出力先であるfile引数は、write(string)メソッドを持つオブジェクトである必要がある。
以下の例では、ファイルに対して出力している。

 myfile = open("output.txt", "w")
 print("Hello", file=myfile)
 print("Bye", file=myfile)
 
 myfile.close()


上記のソースコードを実行する時、output.txtファイルが作成される。
output.txtファイルを開いて、文字列がファイルに保存されていることを確認する。


str関数 (文字列に変換)

str関数は、引数に指定したオブジェクトを文字列に変換して取得する。

引数には、数値、リスト、タプル等のオブジェクトが指定できる。

 class str(object='')


 str(100)
 str([10, 20, 30])
 str(True)


数値を文字列と連結する場合や数値から文字列を取得する場合等に使用する。

 print("My age is " + str(100))
 print("Value = " + str([10, 20, 30]))
 print("Result is " + str(True))
 
 # 出力
 My age is 100
 Value = [10, 20, 30]
 Result is True



int関数とfloat関数 (文字列を数値に変換する)

int関数

int関数は、引数に指定した数値または文字列を整数に変換して取得する。

 class int([x])
 class int(x, base=10)


第1引数は、引数に指定した数値または文字列を整数として取得する。
整数が指定された場合はそのままの値が返されて、浮動小数点数が指定された場合は0に近い値に丸められて整数として取得する。
引数を省略した場合、0が返る。

 a = int(15)
 b = int(3.14)
 c = int()
 print(a)
 print(b)
 print(c)
 
 # 出力
 15
 3
 0


引数に文字列を指定した場合は、文字列を整数に変換して取得する。
文字列として指定できる値は、整数形式の文字列のみである。

基数を省略した場合、第1引数の値を10進数として整数に変換する。
基数を指定すた場合、第1引数の値が第2引数で指定した値を基数として、整数に変換する。
基数として指定できる値は、02〜36である。

また、基数の指定において、値のみの指定、または、 base=<基数>の形式で記述してもよい。

 a = int('28')
 b = int("28", 10)
 c = int("1011", 2)
 d = int("3F", 16)
 e = int("24", base=8)
 print(a)
 print(b)
 print(c)
 print(d)
 print(e)
 print(int(17.58))
 print(int("A4", base=16))
 
 # 出力
 28
 28
 11
 63
 20
 17
 164


float関数

float関数は、引数に指定した数値または文字列を浮動小数点数に変換して取得する。

 class float([x])


整数または浮動小数点数を指定した場合、同じ値の浮動小数点数が返る。
文字列を指定する場合、10進数の値が含まれる文字列を指定すること。
引数を省略した場合は、0.0が返る。

また、指数表記での指定も可能である。

 a = float(15)
 b = float(3.14)
 c = float()
 d = float("5.755")
 e = float("8.5e+5")
 f = float("2.34e-4")
 print(a)
 print(b)
 print(c)
 print(d)
 print(e)
 print(f)
 print(float(19))
 print(float("78.225"))
 print(float("-7.52e-3"))
   
 # 出力
 15.0
 3.14
 0.0
 5.755
 850000.0
 0.000234
 19.0
 78.225
 -0.00752



len関数

len関数は、引数に指定したオブジェクトの長さや要素の数を取得する。

 len(s)


引数には、文字列やバイト列、リスト、タプル、辞書等のオブジェクトが指定できる。

 a = len("Hello")
 b = len(["red", "blue", "green"])               # リスト型
 c = len({"s":150, "m":160, "l":170, "xl":180})  # 辞書型
 print(a)
 print(b)
 print(c)
 print(len("Next week is a trip"))
 print(len(["Yes", "No"]))
 print(len({"Yamada":94, "Suzuki":82, "Nishi":64}))
  
 # 出力
 5
 3
 4
 19
 2
 3