【No.001】 Pythonを学んでみた!! ~『printで出力』編~

2020年10月9日

Python

新連載コラム『Pythonを学んでみた!!』シリーズ始動!!~

どうも、テック備忘LOGのYuki(@tech_bibo_log)です!!

さあ、今回から始まりました!
テック備忘LOGの新連載コラム『Pythonを学んでみた!!』シリーズの第1回目 ~『printで出力』編~!!!

この連載コラムでは、私が個人で1からPythonを勉強していく過程で、Pythonのお作法に加えて、Pythonの便利なところや、 Pythonで開発するうえで知っておきたいことなど、為になる情報をピックアップして紹介していきたいと思います。

Yuki



私はこれまでjavaやC#、javascriptなど様々な言語を本業で使って来ました。
そんな私がある日、『Pythonを使って何かしてみたい』『Pythonを習得したい』という思いで、 多言語での経験を元にインターネットでひたすらググりながら、なんとか当ブログ『テック備忘LOG』を作成・公開することが出来ました。

基本的に有名・人気のあるプログラミング言語はインターネットに情報があふれているので、少しの経験があれば初めての言語でも プログラムを書くことはできてしまいます。

ですが、Pythonには独自のお作法や、多言語ではできないようなきれいなコードを書くことが出来るメリットがたくさんあるのに ろくに勉強もしないのは習得したとも言えませんし、いいプログラムも書けません!!!

ということで、今回このような連載コラムを始めることに致しました!

読んでくださっている方のPython習得の力になれると嬉しいです。
どうぞ、よろしくお願い致します。

Yuki


では、始めましょう!!

[ 目次 (開く) ]

print関数

「print」はPythonの出力関数で、文字列や数値を標準出力することができます。
printはデバッグやエラー出力などにもよく使用されるので、必ず知っておきたいです。
基本の書き方と応用を見ていきましょう。


1.基礎編: printで出力しよう!

まずは、超基本的な「print」の使い方です。
「Hi」と出力してみます。

print('Hi')
出力結果 --> Hi

また、引数には、変数を入れることもできます。

greeting = 'Hi'
print(greeting)
出力結果 --> Hi


2.基礎編: print出力でカンマ(,)を使おう!

「print」関数は次のようにカンマ(,)を使うことで、複数の引数を渡すことが可能です。
引数と引数の間はスペースで繋いで文字が表示されます。

print('Hi','Yuki')
出力結果 --> Hi Yuki


3.応用編: print出力で「sep」を指定しよう!

「sep」に文字列を指定することで、「2.基礎編」で出力した際の引数と引数の間のスペースを変えることが出来ます。
ここでは、スペースからカンマ(,)に変更しています。

print('Hi','Yuki', sep=',')
出力結果 --> Hi,Yuki


4.応用編: print出力で「end」を指定しよう!

「end」にはデフォルトで改行文字の'\n'が指定されています。
「2.基礎編」「3.応用編」に追加で、ドットを加えた「end='.\n'」を指定してみます。
文字列の最後にドット(.)が追加され英語の文章が完結ましたね。

print('Hi','Yuki', sep=',', end='.\n')
出力結果 --> Hi,Yuki.


5.お作法編: 改行とシングルクウォート('')、ダブルクウォート("")

「print」関数で長い文字列や、記号を用いた文章などを表示する際に気を付けたいポイントを紹介します。

次のような場合は、基本的にはシングルクウォートを使用しましょう。

print('How is he doing?')
出力結果 --> How is he doing?

print("How is he doing?")
出力結果 --> How is he doing?



文字列の中にシングルクウォート(')やダブルクウォート(")が入る場合は、次のように記載出来ます。
基本的にはシングルクウォート(')で囲み、複雑な場合は可読性の高い方法を選択しましょう。

print("He's doing fine.")
出力結果 --> He's doing fine.

print('He\'s doing fine.')
出力結果 --> He's doing fine.

print('He said "I\'m in a serious situation."')
出力結果 --> He said "I'm in a serious situation."



文字列の中に改行文字列が入る場合は、次のように記載出来ます。

print("Hi.\nHow are you doing?")
出力結果 --> Hi.
            How are you doing?



Windowsのファイルパスなどを表示する場合、生の文字という意味の[row]の頭文字「r」を使って、次のように記載しましょう。
例えばパス文字列の中に「noNme」という文字があり、意図せず、改行文字'\n'として認識されてしまうからです。

print('C:\Users\noName\private\image.png')
出力結果 --> C:\Users
             oName\private\image.png

正しくは...
print(r'C:\Users\noName\private\image.png')
出力結果 --> C:\Users\noName\private\image.png



6.お作法編: もっと簡単に改行しよう!

「print」関数の中で何回も改行をしたい場合は、次のようにすることで簡単に行えます。

print('##########')
print("""
line1
line2
line3
""")
print('##########')

出力結果 --> 
##########
 
line1
line2
line3
 
##########


バックスラッシュ()を使うと空白を取り除くことが出来る
print("""\
line1
line2
line3\
""")

出力結果 --> 
##########
line1
line2
line3
##########



7.お作法編: 長い文字列を出力、結合しよう!

「print」関数の中に長い文字列を入れたい場合は、次のようにすることで分かりやすく書くことが出来ます。
まずは、通常の結合を行って、次に長い文字列の結合です。

print('私は''Yukiです。')
出力結果 --> 私はYukiです。

print('私は' + 'Yukiです。')
出力結果 --> 私はYukiです。

str = ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
       'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy')
print(str)
出力結果 -->
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

str = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\
      'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
print(str)
出力結果 -->
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy



8.番外編: 文字列を代入しよう!その1(format)

「print」関数を使ってデバッグをする際に固定の文字列の一部を変数を用いて代入することが出来ます。
{}の中に数値を入れることで、順番を操作することも可能です。

print('{0} {1} {2}'.format(1, 2, 3))
出力結果 --> '1 2 3'

print('{2} {1} {0}'.format(1, 2, 3))
出力結果 --> '3 2 1'

name = 'Yuki'
age = 29
print('My name is {}. I am {} years old.'.format(name, age))
出力結果 --> 'My name is Yuki. I am 29 years old.'

ここで変数を上書きしてみる...
name = 'Kana'
age = 22
print('My name is {}. I am {} years old.'.format(name, age))
出力結果 --> 'My name is Kana. I am 22 years old.'

また、次のような書き方もできる。
print('My name is {name}. I am {age} years old. 私は{age}歳です。私の名前は{name}です。'.format(name='Kana', age=22))
出力結果 --> 'My name is Kana. I am 22 years old. 私は22歳です。私の名前はKanaです。'



8.番外編: 文字列を代入しよう!その2(f-strings)

Python 3.6よりf-stringsが以下のように使えるようになりました。 使い方はformatと殆ど変わりがなく、処理が早くなっているようです。

a, b, c = 1, 2, 3
print(f'{a} {b} {c}')
出力結果 --> '1 2 3'

a, b, c = 1, 2, 3
print(f'{c} {b} {a}')
出力結果 --> '3 2 1'

name = 'Yuki'
age = 29
print(f'My name is {name}. I am {age} years old.')
出力結果 --> 'My name is Yuki. I am 29 years old.'

ここで変数を上書きしてみる...
name = 'Kana'
age = 22
print(f'My name is {name}. I am {age} years old.')
出力結果 --> 'My name is Kana. I am 22 years old.'

また、次のような書き方もできる。
print('My name is {name}. I am {age} years old. 私は{age}歳です。私の名前は{name}です。')
出力結果 --> 'My name is Kana. I am 22 years old. 私は22歳です。私の名前はKanaです。'



まとめ

Pythonの「print」関数の紹介と説明は以上です。

print関数はこれまで何となくで使ってたので、意外と知らない書き方や便利な使い方があって勉強になりましたね!

Yuki



みなさんも今回の内容を活かして、デバッグでどんどん使って、効率よく開発を行いましょう!

次回は、Pythonの知っておきたい便利な関数をいくつか紹介していきたいと思います。
お楽しみに!それでは、ありがとうございました!