SUPPORT UKRAINE
- Your indifference to the act of cruelty can thrive rogue nations like Russia -
タグ
python
を含むブログ一覧
【 Effective Python, 2nd Edition 】アンパックのちょっとした使い方 - 1: 一時変数を使わずにスワップする、2: インデックス番号を用いないでネストしている iterable の要素を取り出す -
Published 2020年6月10日16:03 by mootaro23
1: 次のようなリストをアルファベット順に並べ替えるとします( sort() を使っちゃダメですよ)。
friends = ['Hana', 'Yuka', 'Nana', 'Saki']
Python に馴染みが薄い方は、次のように一時変数を利用して入れ替えを行うと思います。
def bubble_sort(a):
for _ in range(len(…
【Python 雑談・雑学】 関数への引数の渡し方 - 複数の個別の引数を取るのなら、ちゃんとアンパックして渡しましょう -
Published 2020年6月6日12:19 by mootaro23
ちょっとうっかり、的話題です。
次のような関数があります。
from typing import Union
def multiply(*args: Union[int, float]):
if len(args) == 0:
raise ValueError('少なくとも1つの引数が必要です')
total = 1
…
【Python 雑談・雑学】 Python におけるマルチスレッド実行 (multi threading) について - マルチスレッドで実行すれば何でもかんでも速くなる、と思っていませんか? -
Published 2020年6月1日8:26 by mootaro23
まずは確認から。
プロセスは、1つ以上のスレッドとその実行に必要なリソース群 (CPU cores, network, file pointers etc...)、をひとまとめにしているものです。
Python ではこのリソース群のことを GIL (Global Interpreter Lock) と呼びます。
1つのプロセスは複数のスレッドを保持することができます…
【Python 雑談・雑学】 ユーザー入力に応じて異なる処理関数を実行する際の少し面白い実装方法 - ユーザーの選択項目とそれに応じる関数名をディクショナリで保持する -
Published 2020年5月29日21:02 by mootaro23
例えば下記のようなメニューを提示してユーザーに入力を求め、入力された値に応じて実行する関数を振り分けるとします。
USER_CHOICE = """選択項目:
- 'a' いいことを表示します
- 'b' もっといいことを表示します
- 'c' それよりもいいことを表示します
- 'q' もういいです
どれがいいですか? """
このような場合、次のような …
【Python 雑談・雑学】 Common Mistake: mutable なオブジェクトを関数のデフォルト値に使っちゃダメでしょ、の話
Published 2020年5月27日13:15 by mootaro23
悩んでいたので「どうしたの?」と声をかけたら ...
さて問題です。
print(a2) では何が出力されるでしょうか?
def enroll_class(name: str, attendee: str, attendees: list = []):
attendees.append(attendee)
return {
'nam…
【Python 雑談・雑学】 ループ処理でインデックス番号が使いたいのなら enumerate() を使えば?
Published 2020年5月26日21:45 by mootaro23
次のような処理をしています。
top_friends = ['Nana', 'Saki', 'Yuka']
print(f'My top 1 friend is {top_friends[0]}.')
print(f'My top 2 friend is {top_friends[1]}.')
print(f'My top 3 friend is {top_friends[2]}…
【Python 雑談・雑学】 else ステートメントは if 文、for 文とだけではなくて try ブロックでも使えるよ、とアドバイスしたら、またまた感心されていい気分になった話
Published 2020年5月23日19:47 by mootaro23
次のコードでは、User オブジェクト作成時に渡される grades パラメータはディクショナリであり、キーとして 'algebra' と 'programming' が含まれていることを前提としています。
class User:
def __init__(self, name, grades):
self.name = name
self…