Python」カテゴリーアーカイブ

プログラミング言語「Python」に関するカテゴリーです。

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の解を求めています。

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

Pythonでカレンダーを表示する

Pythonではcalendarというモジュールを使うと簡単にカレンダーを表示できます。

使い方

>>> import calendar
>>> text = calendar.TextCalendar()
>>> text.formatmonth(2015,1)
    January 2015
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

日曜日を週の先頭に移動する場合はsetfirstweekdayを使います。

>>> text.setfirstweekday(calendar.SUNDAY)
>>> text.formatmonth(2015,1)
    January 2015
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

年間のカレンダー表示はformatyearです。

>>> text.formatyear(2015)

テキストの代わりにHTMLで出力したい場合はHTMLCalendarが使えます。

>>> html = calendar.HTMLCalendar()
>>> html.formatmonth(2015,1)

リンク

8.2. calendar — General calendar-related functions — Python 3.4.3 documentation
https://docs.python.org/3/library/calendar.html

PythonでUnicodeのオブジェクトとコードポイントの変換

UnicodeオブジェクトをUnicodeコードポイントに変換

>>> ord(u'あ')
12354

UnicodeコードポイントをUnicodeオブジェクトに変換

>>> unichr(12354)
u'\u3042'
>>> print unichr(12354)
あ

8ビット文字列にordを使うとASCIIコードを取得することもできます。

>>> ord('a')
97
>>> chr(97)
'a'
>>> unichr(97)
u'a'