そう、僕は実務経験もないのに「Pythonの求人にしか応募したくないマーン」
まあ、そういうわけでして今日はPythonについての記事でも書きます。なぜそんなことをするかと言うと、僕が普段お世話になっている例の学習サービスでPython講座が増えていたのでやってみました。
終えました。エディタ上で見栄えちゃんとなってるのに以下のようなエラー(インデント揃ってないよエラー)に襲われたりして若干つらかった。
IndentationError: unindent does not match any outer indentation level
これがいければD問題はいけるようですが、宗教上の理由から僕はおそらく手をつけないと思いますので本当にそうなのかは君の目で確認してみてくれ。あ、そういえば僕みたいにかたくなにスキルチェック問題をやらない人が多いのかは知らないですけどスキルチェック入門編と言う講座ができてました。
こちらは読み物的なやつで特に演習とかないです。
正直、深く言及することがないから記事にするつもりはなかったのですが突然「lamdaはいいぞ」という布教をしなければいいけない気がしてしまったのでこんな記事書いてしまいましたとさ。そして残念なことに、無名関数とラムダの違い僕はあんまり分かってないです。まあ、使っていればそのうち理解できるようになるでしょう……。それにアレ、言語ごとにさしている内容微妙に異なる気がする。特にPHPとかが機能拡張を重ねすぎてなんか意味合い違う何かを生み出す温床になっているイメージ。まあいいや。
Pythonにおけるlamdaの文法は以下の通りです。
lambda 引数:処理内容
何ができるとかよくわかってないですけど、ざっくり言うといちいち関数を宣言しなくても使い捨ての関数的なやつを作成できますよって感じのやつです。
西暦と昭和の年対応表をつくると多分こんな感じ。あまりいい感じに省略できなかった。そして、変数名ミスってますね。西暦がうまく噛み合わず実行したときに何言ってんだこいつって一瞬切れてましたが、頭おかしいのは僕のほうだった……。
seireki = lambda seireki: seireki - 1925 for year in range(1926, 1988): print("昭和"+str(seireki(year))+"年は西暦"+str(year)+"年です")
リストと組み合わせるといいらしいので、意外と知らないlamdaで消費税計算する方法をつくります。計算方法は原作リスペクトのため1.08倍には絶対にしません。priceに金額を挿入すればまとめて計算してくれる便利なやつだよ。
price = [100, 300, 500] tax = list(map(lambda x: x * 0.08 + x, price)) print(tax)
map()
だけでいけるでしょうとか思ってたけど、list(map(lambda ~))
でイディオムとして使わないと表示が面倒なことになりますね。ぐぐってみたらmap
だとイテレータになるとかあった、あーそうなんだ。Python3で確認してたんですけど、ネットの情報鵜呑みにしてたのと、適当なオンラインエディタで動作確認してたせいで、Python2と3の情報が錯綜していてわけわかんない感じになってました。へー。
とまあ、そんな感じです。いいぞと言っておきながらあまり便利になる感じにできなかった……。無念。