【Python基礎】print,input関数の文字列・数値の入出力まとめ!

今回はPythonの基礎文法、その中でも一番初歩の「文字列などの入出力」についてまとめました。

エディタのインストールがまだの方はVScodeのインストールをおすすめします。

Qiita

何番煎じだと言われそうですが個人的備忘録として。また資料まとめの練習を兼ねてQiitaに投稿していきます。今回はWind…

また、Pythonを始めるにあたって環境構築等必要になってきたりするんですが、「めんどうだしよくわかんない」「とりあえずPythonやってみたい」という人はgoogleが提供しているColaboratoryを利用するといいと思います!

Pythonの出力について

まずはPythonの出力について記載していきます。

基本的な出力

基本的な出力はprint関数を用いて以下のように書いていきます。

数値と違い文字列はクオーテーション(“または’)で囲む必要があります。

#文字列の表示(文字には”,'つける)

print(1+1)
print("hello")
2
hello

※ちなみにjavaのように文の区切りに;(セミコロン)入れても実行可能ですが、省略可能(基本書かない)である上、Pythonでは非推奨なのであんまり使わんほうがいいかと思います()

文字列の結合・複数表示

文字列を結合させる場合は「+」を使用し、複数回表示させる場合は「*」を使用します。

# 結合は+   文字の複数表示は*
print("hello " + "world")
#helloを5回表示
print("hello " * 5)
hello world
hello hello hello

また、文字列と変数を連結させて一つの文として出力することも可能です。

文字列と変数の連結表示
#文字列と変数の連結(このへんはJavaとかといっしょ)
x='neko'
y='sakana'
print(x + ',' + y)
neko,sakana

一つ注意しなければならないのが、変数の型です。

連結させることは可能なのですが、同じ型、つまり変数がString型の場合可能になります。

そのため数字のはいった変数を文字列と連結させるには型変換を行う必要があります。

#変数の中も文字列のみ連結可能。数字とか別の型なら変換してからにしよう
x='neko'
y='sakana'
z=6.45
print(x + 'の体重:' + str(z)+'kg')
#数字だったz(6.45)をstr関数で文字列に変換してます
nekoの体重:6.45kg

文字列の改行・タブ

#文字列の特殊文字
#改行は\n,タブは\t
print("さかなさん\n金額\t100円")
さかなさん
金額    100円

%演算子

結合して表示の他に%演算子を使った便利な表記方法も存在します。

あまり多用するほどのものではありませんが、便利なので覚えておくといいかもです。

name = "aoi"
tosi = 20
#文字列だと%s、普通の数字は%dつけて後ろのカッコのなかで値を指定する
print("なまえ: %s, 年齢: %d" % (name, tosi))
なまえ: aoi, 年齢: 20

また、以下のように表示幅や変数の型、表示桁数なども調整できます。

name = "aoi"
tosi = 20

#少数点だと%fつけて後ろのカッコのなかで値を指定する
print("なまえ: %s, 年齢: %f" % (name, tosi))
#表示幅も指定可能(10のとこ)小数点もどこまで出すか指定可能(2のとこ)
print("なまえ: %5s, 年齢: %10.2f," % (name, tosi))
#-つけると左揃えになる
print("なまえ: %-5s, 年齢: %-10.2f," % (name, tosi))
なまえ: aoi, 年齢: 20.000000
なまえ:     aoi, 年齢:           20.00,
なまえ: aoi    , 年齢: 20.00          ,

format関数の使用

上記の%表記法のようなことをformat関数の使用でもできます。

#%記法のものをこんなやり方も可能

name = "aoi"
tosi = 20
print("なまえ: {0}, 年齢: {1}".format(name, tosi))
なまえ: aoi, 年齢: 20
また、幅の調整や右揃えなども%記法と同じように設定できます。
だいたいの書き方は%演算子に似てますね。
#>右揃え こんな感じで幅とか指定。
print("なまえ: {0:>10s}, 年齢: {1:>10.2f}".format(name, tosi))
#<左揃え
print("なまえ: {0:<10s}, 年齢: {1:<10.2f}".format(name, tosi))
なまえ:           aoi, 年齢:           20.00,
なまえ: aoi          , 年齢: 20.00          ,

改行させない出力

Pythonのprint関数はjavaで言うprintlnのように毎回改行されてしまいます。javaのprintのように改行せず続けて表示したい場合はエンド要素を入力るる必要があります。

デフォルトではエンド要素が\nになっているため、毎回改行してしまいます。空欄でもなんでもいいのでとりあえずいれてみましょう。

#改行エンド要素に何も指定しないと改行させられる。デフォルトでは\nになってるから改行してしまう。
print("こんにちは", end = "、")
print("私の名前は", end = "")
print("あおです", end = "。")
print("hello,", end = "world")
print("!!")
こんにちは、私の名前はあおです。hello,world!!

こんなかんじで改行させずに表示させることが可能です。

Pythonの入力について

基本的な文字列入力のやり方

基本的な文字列の入力にはinput関数を使用します。

moji=input('文字列の入力をしてください:')
print("あなたの入力:"+moji)

以下は仮にりんごと入力した場合の出力です。

文字列の入力をしてください:りんご
あなたの入力:りんご

 

数字を入力する場合

数字まど文字列以外の入力の際には型を指定してから入力します。

score = int(input("score ? "))
print(score)
score ? 3
3
ちゃんと数字として入力できているため、以下のように数値を加算することも可能です。
score = int(input("score ? "))
score+=1
print(score)
score ? 3
4

 

主な内容は以上になります。もっと詳しく知りたい方は以下の外部記事などもおすすめです。

Qiita

※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意…

 

print関数のsep,file,flashなどの引数については以下の方のサイトがわかりやすいかも?

PythonにおけるPrint関数において、文末や文中で改行する・改行しないを制御する方法について、初心者向けに徹底的に…