サーチ…


印刷の基本

Python 3以降では、 printはキーワードではなく関数です。

print('hello world!')
# out: hello world!

foo = 1
bar = 'bar'
baz = 3.14

print(foo)    
# out: 1
print(bar)    
# out: bar
print(baz)
# out: 3.14

また、いくつかのパラメータを渡してprintすることもできprint

print(foo, bar, baz)
# out: 1 bar 3.14

複数のパラメータをprintする別の方法は、 +

print(str(foo) + " " + bar + " " + str(baz))
# out: 1 bar 3.14

しかし、複数のパラメータを出力するために+を使用する場合は注意が必要ですが、パラメータのタイプが同じである必要があります。文字列"bar"数字1を加えて数値3.14に追加しようとするため、上記の例をstring最初にキャストせずに印刷しようとするとエラーになります。

# Wrong:
# type:int  str  float
print(foo + bar + baz)
# will result in an error

これは、 print内容が最初に評価されるためです。

print(4 + 5)
# out: 9
print("4" + "5")
# out: 45
print([4] + [5])
# out: [4, 5]

それ以外の場合、 +を使用すると、ユーザーが変数の出力を読み出すのに非常に役立ちます。下の例では、出力を読みやすくなっています。

以下のスクリプトはこれを示しています

import random 
#telling python to include a function to create random numbers
randnum = random.randint(0, 12) 
#make a random number between 0 and 12 and assign it to a variable
print("The randomly generated number was - " + str(randnum))

次のendパラメータを使用すると、 print機能が改行を自動的に印刷しないようにすることができます。

print("this has no newline at the end of it... ", end="")
print("see?")
# out: this has no newline at the end of it... see?

ファイルに書き込む場合は、パラメータfileとして渡すことができfile

with open('my_file.txt', 'w+') as my_file:
    print("this goes to the file!", file=my_file)

これはファイルに行く!

印刷パラメータ

単なるテキストの印刷以上のことができます。 printにはいくつかのパラメータがあります。

引数sep :引数の間に文字列を配置します。

カンマやその他の文字列で区切られた単語のリストを印刷する必要がありますか?

>>> print('apples','bannas', 'cherries', sep=', ')
apple, bannas, cherries
>>> print('apple','banna', 'cherries', sep=', ')
apple, banna, cherries
>>>

引数のendend改行以外のものを使う

end引数がなければ、すべてのprint()関数は行を書き、次の行の先頭に移動します。 2つの改行を使って何もしないように(空の ''の文字列を使用する)、または段落間の間隔を2倍に変更することができます。

>>> print("<a", end=''); print(" class='jidn'" if 1 else "", end=''); print("/>")
<a class='jidn'/>
>>> print("paragraph1", end="\n\n"); print("paragraph2")
paragraph1

paragraph2
>>>

引数file :出力をsys.stdout以外の場所に送ります。

これで、stdout、file、またはStringIOのいずれかにテキストを送信できます。それがファイルのように壊れた場合、それはファイルのように動作します。

>>> def sendit(out, *values, sep=' ', end='\n'):
...     print(*values, sep=sep, end=end, file=out)
... 
>>> sendit(sys.stdout, 'apples', 'bannas', 'cherries', sep='\t')
apples    bannas    cherries
>>> with open("delete-me.txt", "w+") as f:
...    sendit(f, 'apples', 'bannas', 'cherries', sep=' ', end='\n')
... 
>>> with open("delete-me.txt", "rt") as f:
...     print(f.read())
... 
apples bannas cherries

>>>

強制的にストリームをflushする4番目のパラメータflushあります。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow