
きょうは「エイリアス」を、使いどころと危なさの両方から見ていきます
import pandas as pd
Pythonを触ると、最初の1行目からこれが出てきます。
この as pd がエイリアスです。
意味も分からず、そう書けって言われて写してる

最初はそれでいいと思っています。
ただ、中身を知らないまま真似すると、自分で付けるときに事故ります。
ここは、大人の学び直しでいつも起きるところだと思っています。
時間が無いので、まず動かす。
意味は後回しにする。
これ自体は、正しい進め方です。
学生時代なら、後回しにしたままでも試験は越えられました。
でも仕事では、半年後に自分が書いたものを読み返す日が来ます。
真似で始めていい。
ただし「自分で名前を付ける番」が来たら、そこが戻って理解する合図です。
そこを順に見ていきます。
エイリアスとは何か
エイリアスとは、あるものに付ける「別名」のことです。
変数でも、関数でも、クラスでも、モジュールでも付けられます。
実体は1つのまま。呼び名だけが増えます。
Pythonなら import のときに付けます。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
この1行を書いたあとは、pandas と書く代わりに pd で呼べます。
クラスにも付けられます。
from sklearn.preprocessing import MinMaxScaler as MMSc
mmsc = MMSc()
mmsc.fit(df)
mmsc.transform(df)
やっていることは、さっきと同じです。
長い名前を短くしただけ。
短くできるのに、なぜ短くしない場面があるのか
ここが本題です。
上の MMSc は、たしかに短い。
でも、実際の現場ではあまり見かけません。
短いほうが楽なのに、なんで?


楽になるのが、書く人だけだからです
コードは、書く時間より読まれる時間のほうが長い。
半年後の自分も、読む側にまわります。
MinMaxScaler なら、名前を見ただけで「最小と最大で正規化するもの」と分かります。MMSc は、分かりません。
元の名前を探しに戻ることになります。
タイプ数は減ったのに、読む時間は増えている。
これでは短くした意味がありません。
では、どこで線を引くのか
判断はこの一点だと思っています。
そのエイリアスは、自分だけの略語か。
それとも、みんなが同じ意味で使っている略語か。
pd は pandas。np は numpy。
これは世界中で同じです。
だから初見でも通じます。
一方、MMSc はその場で作った略語です。
通じるのは、書いた本人だけ。
つまり、短さで選ぶのではなく、共有されているかで選ぶ。
そう考えると迷いません。
じゃあ、自分で新しく付けるのはナシ?


ナシではありません。同じ名前が2つあってぶつかるときは、むしろ付けたほうが安全です
別々のライブラリに同じ名前のものがある。
そのままだと、後から読み込んだほうで上書きされます。
そこで名前を分ける。
これは短くするためではなく、区別するための別名です。
目的が違います。
Python以外でも、考え方は同じ
エイリアスという言葉は、あちこちで出てきます。
そのたびに覚え直す必要はありません。
SQLでは、列名や表名に別名を付けます。
SELECT u.name AS 顧客名
FROM users AS u
ここでの狙いは、短さより結果を読みやすくすることです。
表を2つ以上つなぐときは、別名がないと式が長くなりすぎます。
コマンドラインにもあります。
長いコマンドに短い呼び名を付けておく仕組みです。
そしてメールアドレスの別名も、同じ考え方です。
届く先は1つ。宛名だけが複数ある。
どれも「実体は1つ、呼び名を増やす」という同じ構造です。
場所ごとに覚えるのではなく、構造で覚えると忘れません。
まとめ
エイリアスは、別名を付ける仕組みです。
実体は増えません。
付ける理由は2つだけ。
広く共有された略語で短くするか、名前のぶつかりを避けるか。
逆に言えば、自分だけが分かる略語を作る理由はありません。
コードを短くしたくなったときは、一度立ち止まってみてください。
短くしているのは、書く時間か。
それとも、読む時間か。
なお、こういう細かい記法は覚えなくて構いません。
忘れて当たり前ですし、必要になった時に調べれば済みます。
覚えられない自分を責めてしまう人は、覚えたのに思い出せない。1か月でほぼ忘れるのが普通ですを読んでみてください。
大人の勉強では、覚える範囲を絞るほうが先です。
