こんにちはPyQサポートです。
今回は、Python初心者の方に「print() 関数内でカンマを使っても、スペースができない方法」を紹介します。
質問
print() 関数でカンマを使うとスペースが空いてしまいます。print() 関数でカンマを使うと必ず半角スペースができるという仕組みなのでしょうか? 半角スペースなしでの出力は可能ですか?
書いたコード
print('これは' , 'テスト' , 'です')
実行結果
これは テスト です
回答
まず、print() 関数でカンマを使うと必ず半角スペースができてしまうのかという質問について回答します。
ご質問の通り、 print() 関数にカンマ区切りで値を渡すと、デフォルトでそれぞれの間にスペースが出力されます。
ではスペースが入らないようにするにはどうすればよいでしょうか?
区切り文字を指定しましょう
スペースを入れないようにするためには、print('これは', 'テスト', 'です', sep='')
のように、区切り文字としてsep
を引数に指定してください。
区切り文字とはカンマ区切りで1つの文字列としてつなげて表示される文字を指します。
解説
print 関数は引数にsep
を指定すると区切り文字を指定できます。
逆に言えばsep
を省略した場合は毎回半角スペースが入ります。
書いたコード
print('これは', 'テスト', 'です', sep='')
実行結果
これはテストです
print('これは', 'テスト', 'です', sep='') を書くときの注意点
このようなコードを書くときは他の人が見てもわかりやすい書き方をすることが大切です。
良い例
print('これは', 'テスト', 'です', sep='')
悪い例
print('これは','テスト','です',sep='')
※文字が詰まっていて読みにくい
print('これは' , 'テスト' , 'です' , sep='')
※余計な空白文字を使うと読みにくい
PythonではPEP 8という可読性の高いプログラムの書き方についてのまとまった規約があります。
できるだけこのルールに従った書き方をするように意識しましょう。
詳しくは下記のPEP8ドキュメントをご覧ください。
https://pep8-ja.readthedocs.io/ja/latest/#id17
また、PEP8については以下のお悩み解決でも取り上げています。併せてご確認ください。
まとめ
- print()関数の出力で、引数の間に半角スペースを入れたくない場合は、
print(..., sep='')
のようにします。 print(..., sep='')
とすることで、printで出力するときに、それぞれの引数の間のスペースをなくせます。
詳しくは公式ドキュメントをご参照ください。 https://docs.python.org/ja/3/library/functions.html#print
print() 関数についてはPyQのドキュメントでも解説しています