4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「うっせぇわ」で分かるyield【Python】

Last updated at Posted at 2021-03-07

あらすじ

yield とは?Generatorとは?それが何か見せつけてやる!!!
一切合切凡庸なあなたじゃ分からないかもね!

うっせぇわ

listを使った「うっせぇわ」

不文律最低限のlistです。

UssehwaList = ['うっせぇ', 'うっせぇ', 'うっせぇ', '']

if __name__ == '__main__':
    for lyric in UssehwaList:
        print(lyric, end='')
    print()

ああつまらねぇ、
何回書かせるんだ、クォーテーション!って感じですね。

何か足りない、困っちまう、これは誰かのせい!
それこそ俗にいうyieldです!

yieldを使った「うっせぇわ」

あーもう本当になんて素晴らしき世界。

def Ussehwa(times: int):
    for time in range(times):
        yield 'うっせぇ'
    yield ''


if __name__ == '__main__':
    Ado = Ussehwa(3)
    for lyric in Ado:
        print(lyric,end='')
    print()

おそらく、Ado = Ussehwa(3)のところで代入作業しているのはSyudouさんですね。
うっせぇわgeneratorAdoに仕込んでいます。

Adoから、lyricgenerateされていますね。

ラブカ?

こちらは、「うっせぇわ」の代わりに「ラブカ?」で試してみています。

listを使った「ラブカ」

UssehwaList = ['', '', '', '', '', 'ラブか?']

if __name__ == '__main__':
    for lyric in UssehwaList:
        print(lyric, end='')
    print()

yieldを使った「ラブカ」

def Rabuka(times:int):
    for time in range(times):
        yield ''
    yield 'ラブ'

def Loveyouka(times:int):
    for time in range(times):
        yield 'ラビュー'
    yield 'か?'


if __name__ == '__main__':
    Ado = Rabuka(5)
    for lyric in Ado:
        print(lyric, end='')
    print('か?')
    Ado = Loveyouka(3)
    print('甘き', end='')
    for lyric in Ado:
        print(lyric, end='')
    print()

小っちゃな頃から優等生

つっても私、模範人間なので、ちゃんと説明も入れます。

yeildを使うと、組み込み機器のプログラミングや、OS制御でよく出てくる「割り込み」を実現できたりします。
英語で言うと「interrupt」ですね。

他にも、ファイルの読み込みを行うクラスで、1行ずつ読み込むメソッドを作るときに使ったりします。
また、pytestでも頻繁に出てきます。

#yield%E3%82%92%E4%BD%BF%E3%81%86%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3

本家はこちらです。

まとめ

前半で息巻いたわりに、yieldの10%も語れていないですね。
「もう見飽きたわ」と思われるかもしれません。
二番煎じ言い換えのパロディです。

サボリーマンによく似合う、この可もなく不可もない記事。
yieldの良さが分からないかもね!
だけど、どうだっていいぜ問題はナシ!

当記事を読んで、少しでもYieldとAdoにご興味を持っていただき、
下記のような、詳しい説明をしていただいている記事をご覧いただけたら最高です。

うっせぇわ関連記事

Excelsior!

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?