Pythonで日本語ドメインの変換

Pythonを使ってPunycode表記に変換する方法

日本語ドメイン名をPunycode表記に変換

>>> u'日本語.jp'.encode('idna')
'xn--wgv71a119e.jp'

Punycode表記を日本語ドメイン名に変換

>>> 'xn--wgv71a119e.jp'.decode('idna')
u'\u65e5\u672c\u8a9e.jp'
>>> print 'xn--wgv71a119e.jp'.decode('idna')
日本語.jp

Pythonで数式処理

Pythonで数式処理をしたい場合はSymPyが便利です。

SymPy
http://www.sympy.org/

ライセンスはLicensed under BSD。

使い方

モジュールのインポート

>>> from sympy import *

シンボルx, yで計算

>>> x, y = symbols('x y')
>>> expr = x + 2*y
>>> expr + 1
x + 2*y + 1
>>> expr - x
2*y

expr - 1x + 2*y - xではなく、ちゃんと計算して2*yになります。

展開と因数分解もできます。

>>> expand(expr * expr)
x**2 + 4*x*y + 4*y**2
>>> factor(x**2 + 4*x*y + 4*y**2)
(x + 2*y)**2

見栄え良く表示したい場合は次のようにします。

>>> init_printing(use_unicode=True)
>>> expand(expr * expr)
 2              2
x  + 4⋅x⋅y + 4⋅y

微分、積分もできます。

>>> diff(sin(x), x)
cos(x)
>>> integrate(sin(x), (x, 0, pi))
2

等式の計算もできます。

>>> solve(x**2 -2,  x)
⎡   ___    ___⎤
⎣-╲╱ 2 , ╲╱ 2 ⎦

x^2 - 2 = 0の解を求めています。

行列など、他にもいろいろできるそうです。

Emacsで文字コードと改行コードを指定して保存する方法

文字コードと改行コードを指定して保存

キーボードから

C-x RET f

と入力すると文字コードと改行コードを指定できます。

  • sjis-dos
  • eucjp-unix
  • utf-8

など。

文字コードと改行コードを指定して開く

テキストファイルを開いた場合の文字コードは自動で判別されると思いますが、文字化けしてしまった場合は

C-x RET r

で文字コードと改行コードを設定できます。