[Python] build-in objectに独自のメソッドを追加する禁断の果実

Pythonはクラスに後からメソッドが追加できる言語です。

class A:
    pass

A().hello()
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# AttributeError: 'A' object has no attribute 'hello'

def hello(self):
    print("hello")

setattr(A,'hello',hello)
A().hello()
# hello

しかし、それはあくまでpythonで定義されたクラスのみで、build-in クラスであるintstrはその限りではありません。

[Django] カスタムコマンドを作成する

Djangoには独自の管理コマンドを定義する機能が用意されています。

独自コマンド

ここで言うDjangoのコマンドとは、

python manage.py runserver

などmanage.pyの後ろに続けるコマンドのことです。

.aファイルの中身を確認したい(arコマンド)

書庫(ライブラリ)中のファイルの中身を表示したい

ar p libhoge.a

libhoge.aの中に含まれるファイルの内容を表示する。

書庫(ライブラリ)中に含まれるファイル名の一覧を知りたい

ar t libhoge.a

libhoge.a中に含まれるファイルの一覧が表示される。

書庫(ライブラリ)中から特定のファイルを削除(除去)したい

ar d libhoge.a hoge.o

libhoge.aからhoge.oを取り除いている。