udemy勉強中(事故発生)【第8週】プログラミング未経験者が独学成果物で「1千イイね」とれるまでリアルタイム実況
■学習進捗
現在カリキュラムの 69/290 が終了。
ちょっと複雑になってきて、理解しながら進めるのが遅くなっていますね。
今週末は演奏会のスタッフの仕事があるので、ちょっと時間が取れてないのも痛い(笑)
■【備忘録】メソッドや暗黙のルール
・lambda ラムダ型
#ラムダ
#例)リストの中で間違い(初めがキャピタルでなくてはならない)とき
l = ['Mon','tue','Wed','Thu','fri','sat','Sun']
def change_words(words,func):
for word in words:
print(func(word))
#word に対し capitalize というファンクション
#(先頭大文字化)を行うというファンクションを設定
def sample_func(word):
return word.capitalize()
#sample_func()を実行するのではなく、
#定義したオブジェクトを実行する
change_words(l,sample_func)
print('___________________')
#lambda で簡単に書ける
l = ['Mon','tue','Wed','Thu','fri','sat','Sun']
def change_words(words,func):
for word in words:
print(func(word))
# 引数:実行と書く
sample_func =lambda word:word.capitalize()
change_words(l,sample_func)
print('___________________')
#このようにも書ける
change_words(l,lambda word:word.capitalize())
print('___________________')
#使いどころ
def change_words(words,func):
for word in words:
print(func(word))
#funcをどんどん定義して書かなくてはいけない
def sample_func(word):
return word.capitalize()
def sample_func2(word):
return word.lower()
#ファンクションを引数とするものは
#lambda を使えばスマートになる
change_words(l,lambda word:word.capitalize())
change_words(l,lambda word:word.lower())
print('_____________________________________________')
・ジェネレーター
#ジェネレーター
#イテレーター(反復)の要素
#反復処理の際に、1要素を取り出して生成していく処理
l = ['Good morning','Good afternoon','Good night']
for i in l:
print(i)
print('___________________')
def greeting():
#yield (算出する)
yield 'Good morning'
yield 'Good afternoon'
yield 'Good night'
for g in greeting():
print(g)
def greeting():
#yield (算出する)
yield 'Good morning'
yield 'Good afternoon'
yield 'Good night'
g = greeting()
print(next(g))
print('@@@@')
print(next(g))
print('@@@@')
print(next(g))
#yield というジェネレーターを認識
#繰返し中でその時点の要素を保持した状態で次のステップに進む
print('___________________')
def counter(num=10):
for _ in range(num):
yield 'run'
def greeting():
#yield (算出する)
yield 'Good morning'
yield 'Good afternoon'
yield 'Good night'
g = greeting()
c = counter()
print(next(g))
print(next(c))
print(next(c))
print(next(c))
print(next(g))
print(next(c))
print(next(c))
print(next(c))
print(next(g))
print('_____________________________________________')
自分なりの使用シーンを思い浮かべてコードを書いてみよう。
■事故発生…
前述の演奏会スタッフの仕事中に、(物理)事故発生…
左足を怪我しました。
開発関連だと思った方、申し訳ない。
腓骨筋腱脱臼 と思われる状態になっています。
MRI撮ってきます…
■前回
この記事が気に入ったらサポートをしてみませんか?