Python 独学プログラミング プログラミング初心者のオプション引数とは〜あと少しなのに編〜

あっ どうも子へびです。

カラッとした天気でいられるのもあと少しでしょうか?そろそろ紫陽花がスタンバイをしている様で花が開いてだんだん色づいてきました。
そしてここ数年5月からクールビズが始まってくれたよかったな〜と思っています。蒸し暑い時期に軽装でいられるのは何よりです。

UIのボタン操作今週中に仕上げてMaster松陰に提出したかったのですがボタン操作の表示がうまくいかない・・・。悩みどころは自分が考えている条件を起点にボタン表示を切り替えたいのでですが、うまくその条件にひっかからない。

子へび

きっと何か条件の付け方がずれてるのかな〜?あと1日で解決するかな?!あと少しなのに・・・。

codeの他に文豪達の本をさしおいて、読み進めないといけない本↓があり時間を見つけて読み進めています。

一通りPythonの基礎は学んだかな?と思いきやまだまだ知らないことがぽろぽろあります。その一つがオプション引数です。オプション引数を必要とする関数を使用する内容がなかったので子へびは初めて見たのですが、本の中ではわりと最初の方にに出てきたので書く内容によってはよく使うのかな?サンプルcodeも比較的わかりやすと思います。

def add_number(a,b=5):
return a+b

result = add_number(10)
print(result)

15

ポイントは必須引数を先に定義し、オプション引数をあとに定義すること。まさにオプションがついてくるって覚え方が子へび流です。ちなみにこの関数を呼び出す際に引数を省略することもできます。その際は

result = add_number()
print(result)

10

何に使えるかな?引数はMaster松陰が呆れるくらい何度も説明を受けているので今回はすんなり理解できました。笑

Python 独学プログラミング プログラミング初心者のPythonistaでUI作成〜仕上げに近づく?!〜

あっ どうも子へびです。

ここ数日のブログ更新のオサボリは本が読みたくてcodeを書くことがおざなりになっているのが原因です。読みたい本のストックがたまっています。でも今日1冊読み終わったので、読みたい気持ちをグッとこらえてしばらくお預けです。こんなに読みたい本が手元にあるのは最近見た文豪ストレイドッグスhttp://bungo-stray-dogs.jp/tv/と言うアニメに感銘を受けてそこに名だたる文豪がキャラクターとして設定されているのですが、あまりにかっこ良すぎてとうの本人の本を読みたくなってしまった次第です。学生の頃読んだ本の内容の記憶はなくなってしまっているのでまた新鮮な気持ちです。しかし文豪っていいですね。時代を超えてなお輝いています。中島淳、太宰治、谷崎潤一郎、坂口安吾、織田作之助、芥川龍之介このあたりが今ラインナップにあります。




UIもいよいよ大詰めにあり、codeを書かない子へびにMaster松陰からお尻を叩かれています。そして次なるテキストNavigationの遷移をMaster松陰が作ってくれたのでその前に今の問題点2つを解決しておかなければ・・・。急がなきゃ〜!

問題点その1は表示方法の変更だけだったので今日ちょっと1つ関数を作って入れ込んだら解決しました。今回はちゃんとセッターなのかゲッターなのか作る前にちゃんと考えましたよ!
問題点その2は画面が切り替わる際に表示するボタンです。Master松陰曰く

Master松陰

その画面操作に必要なボタンのみ表示し使用しないものは表示してはいけない。それはミス操作の誘導を防ぐのが目的ね。

っとういのが大前提かつコツらしく子へびが今作成したボタンの表示では画面操作との食い違いが生じている為これは・・・

子へび

分解と再構築です

 この言葉をMaster松陰からパクらないといけないな!

っと考えています。このボタンの件が済んだらようやくMaster松陰のチェックに申請できます。一様こんな子へびでも子へびなりに完璧なものを最終チェックには提出したいと思っています。笑




Python 独学プログラミング プログラミング初心者のTableviewの作成〜初期値に戻る編〜

あっ どうも子へびです。

GW中に食いしん坊を発揮した子へびは全然体重が戻りません。通説では冬の方が代謝率が高く暖かくなってくるこの時期は代謝率が下降していくらしいのです。なのでこの時期は何かさらに負荷をかけないと体重は落ちないわけですが・・・。そこで子へびが今作成している1日の摂取目標カロリーを設定し食べた物のカロリーを入力して残り何キロカロリー摂取して良いのかが一目でわかるカロリー計算アプリはいかがですか?




子へび

なんちって。

っとまあ子へびは構想から約半年ぐらいこのアプリの作成に取り掛かっているわけです。

さてそのアプリ作成のTableviewで繋ぐ際子へびが落ちた穴は1つのファイルをいききさせるのにお互いに使い回した関数の引数が次々に代入されていくことに混乱をきたし、挙句の果てには

子へび

この引数の変数名と、次に渡させた関数の引数名が違うな。これは全て同じに書き換えないといけないのか?

と発言し、それを聞いたMaster松陰は

Master松陰

子へびまたそこからなの!!!もしかしてブログのネタの為にわざと言ってるの?これは初期の初期に説明した変数の取り扱いだよ!まだちゃんと理解していないだな!

と言われる始末。

そうなんです。子へびは次々に代入されて変数名が変わっていく仕組みをこの後に及んでまだちゃんと理解していなかったのです。Master松陰は常日頃から実体渡しなのか参照渡しなのかちゃんと理解して使わないといけないよと幾度となく言われ続けているのですが、実際この様な発言をしている子へびにはまだまだ浸透率が低いと言うことですな。

そして今更ながらがもう1つ。それは関数の取り扱いです。セッターとゲッターの役割を考えずに作成している関数があり今更ながらゲッターの役割を持つ関数にreturnが書かれていないことでした。このreturnに関してはPythonでいうと何も書かないとNoneが返ってくる仕組みになっていることも改めて学びました。

こんな穴に落ちた子へびはMaster松陰に

Master松陰

ちょっとできるようになったかと思ったけど、全然まだまだね。

と言われて

子へび

面目ありません。とほほ・・・。

としか言いようがなかった子へびでした。




Python 独学プログラミング プログラミング初心者のTableViewの使い方〜素直に穴に落ちる編〜

あっ どうも子へびです。

GWもあっっという間に終わってしまい、まだダラダラとした時間の流れが抜けずひたすら眠い毎日です。そして休みあけから雨続きとはさらにやる気がおきません。笑




GW中はMaster松陰の講義はほんの少しだけありました。ほぼカロリー計算のUIが組み上がってきたのですがやはり一つの画面では対応仕切れずTableViewを使って画面を繋げる方法を教えてもらいました。今回のテーマは

Master松陰

TableViewの使い方の学習とファイルを2つ(複数)に分けてコードを書く方法の学習ねTableViewは、リストを入れ換えたり、追加したり、削除したり出来るけど、今回はその機能は複雑になるから省いてるよコードは短いけど、注意してコードを追わないと構造が解らないと思うよ。2つのビューが連携してるからね。

と言うことでいつもの様にサンプルcodeをくれました。

ごちゃごちゃといつものごとく書き込んでますがTableViewの書き方はほぼ定型文の様だったのでそのまま丸写しで3つのテキストを繋ぐ方法を今回は作成しました。
①MainView②TableView③Database
この3つの連携させることにしたのですが実際に繋げようとすると

子へび

あれ?これはどこの関数を持ってきて繋げたらいいだっけ?

っとまさにMaster松陰に注意されていた通りに穴に落ちました。子へびの解決方法としては各ページを並列させて今回プリントアウトしたみたいに並べて行き交うデータの構造図を作ってみることでした。頭の中だけで想像していてもまだまだ実際に書き出すとごちゃごちゃになってしまうので書き出してみると明快だし、それができればあとは関数を互いに持ってくるだけなのでつなぎやすかったです。けどその前に子へびにはもっと重要な問題があったのです・・・。次回につづく