小学生でも分かる!Pythonプログラミング - argument / return / format_method / f-strings / option_arguments / end=" " / escape_sequence
← preview
next →
今回は、前回のfor文で学んだ九九一覧を
楽にキレイに並べるために必要な記述を紹介します。
汎用性が高いので是非ご一読下さい。
argument / return
>> 引数 ( ひきすう ) / 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 です。
「フォーマット」とは、
ディスク/メモリ等の内容を消去し、
新しく作業できるような状態にすること書式設定のこと
ファイルの形式のこと
フォーマットするとデータが消えるので
「フォーマット」を「削除」的な意味で
捉えてる方もいらっしゃるかもしれません。
「初期の状態とはこういう状態だよ」
という形(形式・構成)が
ルールのように定められているので、
その決められた状態にして
新しい作業ができるようにする事を
「フォーマット」と呼びます。
より詳しい用法が知りたい場合は
別サイト様の記事を参照してください。
>> format_method
まずは簡単な使い方を見てみましょう。
「今日は、○○○○年 ×月△日 です。」
format関数(メソッド)を使って
この文の記号部分に具体的な値を入れようと思います。
まずは、
○とか△とかの記号で表されていた部分を
{ 空の波括弧 } に置き換えます。👇
"今日は、{}年 {}月 {}日 です。"
そしてその文字列オブジェクトの後に、
「.format( )」と書きます。👇
"今日は、{}年 {}月 {}日 です。" .format( )
最後に、{ 空の波括弧 }部分に入れたい値を
( )の中に書いていきます。
( )の中に書く値の事を「引数」と呼ぶのでしたね。
.format( 2022, 12, 24 )
👆このように引数をカンマ( , )で区切って書いていきます。
1番目の引数を「第1引数」( first argument )
2番目の引数を「第2引数」( second argument )
3番目の引数を「第3引数」( third argument )
と言います。
引数の順番と{ 空の波括弧 }の順番は同じです。
順番と個数を揃えてください。
注意点を挙げるとすれば、
{ 空の波括弧 }の中に何かしら値を入れたら
使えなくなってしまうという事ですかね。
メールを新規作成した時に最初から件名に
何か書かれてたらイヤですよね。それと同じ。
空白文字(スペース)が入っていてもエラーになるので
気をつけましょう。
⭕️ {}
❌ { }
>> f-strings
僕はこっちの方をよく使います。
まずは書き方をご覧下さい。
こっちは{波括弧}の中に
何かしらの値が入っています。
format関数(メソッド)の引数だった値たちを
{波括弧}の中に納めているので、
どこに何が入ってるのか分かりやすいし、
めちゃくちゃ簡潔に書けてますよね。
"引用符"の前に「 f 」と書く事によって、
{波括弧}の中に変数だったり式などの
オブジェクトを入れることができてしまいます。
このf-stringsのスゴいところは、
{波括弧}の中の計算などの処理をしっかり行った上で
文字列オブジェクトとして扱ってくれるところです。
画像を見れば分かるとおり、
{ 20 + i }という計算をちゃんと行って
int型である「21」「22」「23」...を
str関数を使って変換したり
「+」を使って連結しなくても
str型の中に入れ込むことができています。
また、これはstr型のオブジェクトなので
f-string自体を変数に代入したりリストやタプルなどに
格納することもできます。(format関数使ってもいいけど)
控えめに言って最高。
option_arguments
>> option ( オプション )
= 選択権、自由選択。
>> end=" "
for文を使うと...
出力するとこのように
1行ずつ改行されてしまいます。
しかし「改行してほしくないな」と
思う場面もありますよね。
そんな時に使うのが「end=" "」です。
これは、print関数専用の
特別な引数(「 オプション引数 」という )なので
普通の変数のように
前もって「end」を定義してやらないと
エラーが起こるということはありません。
また、「end」は print関数用の引数 であるため
a = i , end=" "
👆このように、変数に代入することはできません。
オプション引数はたまに出てくるので
その都度説明したいと思います。
オプション引数「end」は
改行を無くする目的で使われる事が多いですが、
「end=" "」を見れば分かるように、
str型オブジェクトであれば引数にすることができます。
( None か str 限定 )
この性質とif文を組み合わせる事で
特定のタイミングで改行する事ができます。
こうやって表を並べていたわけです。
\escape_sequence
>> \newline ( \n , ¥n )
改行したい時どうしていますか?
改行の度にprint文を書くのは非常に面倒です。
スクリプト画面で改行しても、
コンソール画面では改行が
反映されないんですよね。👇
困ったもんだ。
そんな、文字列を途中で改行して
出力したい時に使えるのが
「 \n (¥n) 」です。
これでprint文を複数書かなくても良くなりましたね。
>> escape_sequence ( エスケープシーケンス )
"引用符"の中に書かれたものは
スクリプトだろうが何だろうが
ただの文字列になってしまいます。
しかしそれでは
改行をする事が難しくなってしまいます。
そんな時に使われる特殊な文字を
「エスケープシーケンス」と言います。
「 \ (バックスラッシュ) 」の打ち込み方は
MacOS / iOS → option +「¥」キー です。
Windowsはどうだろう。
「\」と「¥」は同じ扱いになっていると思うので
表の「\」部分を「¥」に変えて試してみてください。
次回は、実際に九九一覧を
綺麗に並べる方法を詳しく説明します。