見出し画像

小学生でも分かる!Pythonプログラミング - argument / return / format_method / f-strings / option_arguments / end=" " / escape_sequence

← preview

next →

今回は、前回のfor文で学んだ九九一覧を
楽にキレイに並べるために必要な記述を紹介します。

汎用性が高いので是非ご一読下さい。

argument / return

money exchange.

>> 引数 ( ひきすう ) / argument ( アーギュメント )

= 関数やメソッドを呼び出す時に引き渡す値の事。


簡単に言えば、
関数(メソッド) の( )内に書く値の事です。

>> 戻り値 ( もどりち ) / return ( リターン )

= 関数やメソッドが呼び出し元に返す値の事。

後々もっと詳しくやる事項なので
今は簡単な説明だけにします。


関数」とか「メソッド」って何なのよって話ですが、

今は「とある処理機能を持ったロボ」だと思ってください。

例えば、「 str( ) 」👈 これはstr関数(メソッド)です。

( )の中身をstr型に変換してくれる機能を持った
「str変換器」のようなもの。


例えば( )の中に、int型オブジェクトである
123」を入れてみましょう。

str( 123 )

str関数(メソッド)を呼び出す時に「123」を引き渡し、
int型からstr型に変換して「"123"」を返してもらいます。

この関数に引き渡す値「123」の事を 引数(argument)

関数(メソッド)が何らかの処理をした結果
戻ってきた値「"123"」の事を 戻り値(return)

と呼ぶわけです。

例えば、
両替機が 関数(メソッド) だとしたら
両替前、投入したお金が 引数
両替後、返ってきたお金が 戻り値 です。


format

○×△□

>> format ( フォーマット )
= 書式、様式、形式。

例えば、

「 ○ + × +△ + □ = (計算結果) です。」

こんな結果を出力したい時に、
今までの記述方法だと

a = 1
b = 2
c = 3
d = 4

print(str(a)+"+"+str(b)+"+"+str(c)+"+"+str(d)+"="+str(a+b+c+d)+"です。")

# >>> 1+2+3+4=10です。

こんな書き方をせざるを得ませんでした。

非常に面倒くさいし、何より見辛いですよね。

そんな時に使うのが 
format関数(formatメソッド) / f-strings です。


「フォーマット」とは、

  1. ディスク/メモリ等の内容を消去し、
    新しく作業できるような状態にすること

  2. 書式設定のこと

  3. ファイルの形式のこと

フォーマットするとデータが消えるので
「フォーマット」を「削除」的な意味で
捉えてる方もいらっしゃるかもしれません。

「初期の状態とはこういう状態だよ」
という形(形式・構成)が
ルールのように定められているので、

その決められた状態にして
新しい作業ができるようにする事を
「フォーマット」と呼びます。

より詳しい用法が知りたい場合は
別サイト様の記事を参照してください。


>> format_method

tournament bracket.

まずは簡単な使い方を見てみましょう。

「今日は、○○○○年 ×月△日 です。」

format関数(メソッド)を使って
この文の記号部分に具体的な値を入れようと思います。


まずは、
○とか△とかの記号で表されていた部分を
{ 空の波括弧 } に置き換えます。👇

"今日は、{}年 {}月 {}日 です。"

そしてその文字列オブジェクトの後に、
.format( )」と書きます。👇

"今日は、{}年 {}月 {}日 です。" .format( )

最後に、{ 空の波括弧 }部分に入れたい値を
( )の中に書いていきます。

( )の中に書く値の事を「引数」と呼ぶのでしたね。

.format( 2022, 12, 24 )

👆このように引数カンマ( , )で区切って書いていきます。

1番目の引数を「第1引数」( first argument )
2番目の引数を「第2引数」( second argument )
3番目の引数を「第3引数」( third argument )

と言います。

"{}{}{}".format( 1st, 2nd, 3rd )

引数の順番と{ 空の波括弧 }の順番は同じです。

順番と個数を揃えてください。

まあ、間違えないよね。

注意点を挙げるとすれば、

{ 空の波括弧 }の中に何かしら値を入れたら
使えなくなってしまう
という事ですかね。

メールを新規作成した時に最初から件名に
何か書かれてたらイヤですよね。それと同じ。

こんなGmailはいやだ

空白文字(スペース)が入っていてもエラーになるので
気をつけましょう。

⭕️ {}
❌ { } 

{ } 空白文字(スペース)もダメです!!

>> f-strings

f " s t r { i } n g s "

僕はこっちの方をよく使います。

まずは書き方をご覧下さい。

f" {a} " 

こっちは{波括弧}の中に
何かしらの値が入っています。

format関数(メソッド)の引数だった値たちを
{波括弧}の中に納めているので、

どこに何が入ってるのか分かりやすいし、
めちゃくちゃ簡潔に書けてますよね。

"引用符"の前に「 f 」と書く事によって、
{波括弧}の中に変数だったり式などの
オブジェクトを入れることができてしまいます。


このf-stringsのスゴいところは、

{波括弧}の中の計算などの処理をしっかり行った上で
文字列オブジェクトとして扱ってくれるところです。

f"ボクは{20+i}さい"

画像を見れば分かるとおり、

{ 20 + i }
という計算をちゃんと行って
int型である「21」「22」「23」...を

str関数を使って変換したり
「+」を使って連結しなくても

str型の中に入れ込むことができています。


また、これはstr型のオブジェクトなので
f-string自体を変数に代入したりリストやタプルなどに
格納することもできます。(format関数使ってもいいけど)

控えめに言って最高。

謎の用途

option_arguments

option.

>> option ( オプション )
= 選択権、自由選択。

>> end=" "

for文を使うと...

全て改行されてしまうね。

出力するとこのように
1行ずつ改行されてしまいます。

しかし「改行してほしくないな」と
思う場面もありますよね。

そんな時に使うのが「end=" "」です。

改行されなくなった。

これは、print関数専用の
特別な引数
(「 オプション引数 」という )なので

普通の変数のように
前もって「end」を定義してやらないと
エラーが起こるということはありません。

また、「end」は print関数用の引数 であるため

a = i , end=" "

👆このように、変数に代入することはできません

オプション引数はたまに出てくるので
その都度説明したいと思います。


オプション引数「end」
改行を無くする目的で使われる事が多いですが、

「end=" "」を見れば分かるように、
str型オブジェクトであれば引数にすることができます。

( None か str 限定 )

この性質とif文を組み合わせる事で
特定のタイミングで改行する事ができます。

end = "!  "

こうやって表を並べていたわけです。


\escape_sequence

escape.

>> \newline ( \n , ¥n )

改行したい時どうしていますか?
改行の度にprint文を書くのは非常に面倒です。

スクリプト画面で改行しても、
コンソール画面では改行が
反映されないんですよね。👇

困ったもんだ。

1行になっちゃった。

そんな、文字列を途中で改行して
出力したい時に使えるのが
「 \n (¥n) 」です。

ちゃんと改行された。

これでprint文を複数書かなくても良くなりましたね。


>> escape_sequence ( エスケープシーケンス )

"引用符"の中に書かれたものは
スクリプトだろうが何だろうが
ただの文字列になってしまいます。

しかしそれでは
改行をする事が難しくなってしまいます。

そんな時に使われる特殊な文字を
エスケープシーケンス」と言います。

 \ (バックスラッシュ) 」の打ち込み方は

MacOS / iOS → option +「¥」キー です。

Windowsはどうだろう。
「\」と「¥」は同じ扱いになっていると思うので
表の「\」部分を「¥」に変えて試してみてください。


次回は、実際に九九一覧を
綺麗に並べる方法を詳しく説明します。

この記事が気に入ったらサポートをしてみませんか?