Pythonの勉強を始めようと、一昨日からネットで、
「Pythonチュートリアル」
を読み始めたのだが、今日、Python.jpのTOPに繋がらなくなっていた…
が、v2.5版の古いページは見れるたのでそっちで読み進める事にする。


以下は、メモ。

【3.1.1 数】
・被演算子の型が混合されているときには、 演算子は整数の被演算子を浮動小数点型に変換する。
・対話モードでは、最後に印字された式は変数 _ に代入される。
・複素数は、常に実部と虚部に相当する二つの浮動小数点数で表される。(虚数は接尾辞 "j" または "J" )
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.img
0.5


【3.1.2 文字列】
・文字列はシングルまたはダブルのクォートで囲む。
・改行('\n')はCと同じ。
>>> str = "aiueo\nkakikukeko"
>>> print str
aiueo
kakikukeko
・文字列リテラルを ``raw'' 文字列にすると、エスケープシーケンスはそのコードが文字列データとなる。
>>> str = r"aiueo\nkakikukeko"
>>> print str
aiueo\nkakikukeko
・三重クォート """ または ''' で 文字列を囲むと改行のエスケープはいらない。
・文字列は+連結可能。
・文字列はインデクスで部分文字列参照可。
>>> name='kerotandesu'
>>> name[0]
'k'
>>> name[4]
't'
>>> name[0:4] # スライス表記("①:②"->①から②で指定されたインデクスの間の文字?。なんで5文字じゃないのん?*1)
'kero'
>>> name[5:7]
'an'
・スライスのデフォルト値。 最初のインデクスを省略すると、0 。 第 2 のインデクスを省略すると、スライスしようとする字列のサイズ
>>> name[:4]
'kero'
>>> name[4:]
'tandesu'
・変なインデクス入れてみた。
>>> name[1:100]
'erotandesu'
>>> name[20:]
''
>>> name[2:1]
''
・負のインデクス
>>> name[-1]
'u'
>>> name[-2]
's'
・負で、かつ範囲外のインデクスをスライス表記で行うと、インデクス は切り詰められる。
>>> name[-100:]
'kerotandesu'
>>> name[:-100]
''
・でも、単一指定はダメ。
>>> name[-100]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range


インタプリタでここまでいじってみてそうなのかぁ、って感じ。

引き続き遊びます。


*1 これだった(非負のインデクス対の場合、スライスされたシーケンスの長さは、スライスの両端の インデクスが境界内にあるかぎり、インデクス間の差になります。 例えば、 word[1:3] の長さは 2 になります。)