SUPPORT UKRAINE
- Your indifference to the act of cruelty can thrive rogue nations like Russia -
タグ
miscellaneous
を含むブログ一覧
【Python 雑談・雑学 + coding challenge】collections モジュールの Counter クラスと most_common メソッドを利用してシーケンス内の最頻出要素を取得しよう!
Published 2020年8月5日23:30 by mootaro23
今回もちょっとしたコーディング問題から。
次のような文字列のリストがあります。
WORDS = ['this', 'is', 'ordereddict', 'an', 'elementary', 'test', 'example', 'hippopotamus']
これらの文字列の中から、同じ文字 ( character / letter ) が最も多く使われている…
【Python 雑談・雑学 + coding challenge】シーケンス ( sequence ) における インデックス ( index ) を使った要素 1 つの取り出しと、スライス ( slice ) を利用した場合の取り出しの違いをちゃんと理解していますか?
Published 2020年8月4日21:57 by mootaro23
まずはちょっとした問題から。
文字列、リスト、タプルのいずれかを引数として 1 つだけ受け取る関数 first_last() を作成します。
この関数は、受け取ったシーケンスの最初と最後の 2 つの要素からなる引数と同じ型のシーケンスを返します。
すなわち、実行結果は以下のようになります。
first_last('1234')
# '14'
fir…
【Python 雑談・雑学】デスクリプタ ( descriptor ) をしっかりと理解しよう!
Published 2020年7月27日21:34 by mootaro23
次のプログラムを実行した際に4つの print 文で出力されるそれぞれの内容が分かりますか?
class Field:
def __init__(self, name):
self.name = name
self.internal_name = '_' + self.name
def __get__(self, instance, …
【Python 雑談・雑学】メタクラス ( metaclass ) とデコレータ ( decorator ) で遊んでみる、考えてみる!
Published 2020年7月21日20:29 by mootaro23
クラスはオブジェクトの設計図であり、メタクラス ( metaclass ) はクラスの設計図である、といわれたところで全然分かりません。
ただ、昨今のプログラミング環境においてブラックボックス的に機能を提供してくれる先進的なフレームワークやライブラリ、例えば Django における Forms など、が、このメタクラスによって実現されていることは確かなんです。
どんなものなの…
【Python 雑談・雑学】 デコレータ (decorators) を理解しよう - デコレータ、オリジナル関数からの引数の渡し方、受け取り方
Published 2020年6月23日21:27 by mootaro23
デコレーター (decorators) は関数を引数として受け取り、他の関数に置き換えた上で、最終的にオリジナルの関数を実行します。
他の関数に置き換えることで、オリジナルの関数の機能を補完、変更することが可能になります。
簡単な実装方法からよりジェネリックで現実的な実装方法までを段階を追って見ていきましょう。
ユーザーが admin パーミッションを持っていれば admi…
【Python 雑談・雑学】 関数への引数の渡し方・受け取り方 - *args、**kwargs を利用した引数の渡し方、パラメータの受け取り方、総復習 -
Published 2020年6月11日16:37 by mootaro23
ちょっと混乱している方がいるようなので。
今回は特に **kwargs を中心に整理してみます。
・名前付き引数 (named arguments) を辞書として受け取る ============
def named1(**kwargs):
print(f"named1 => {kwargs}")
named1(name="Nana", age=26)
# n…
【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
…