2008年4月9日水曜日

初心者がつまづくPython 三日目

前回に追記
隣り合った文字列はそのまま連結→隣り合ってるのがリテラルの場合のみ

word = 'hello'
print word 'hello' #これはダメ

print 'hello''hello' #これはいける
hellohello

三日目からはスクリプトファイルを作って実行する
対話モードはちょっとした事を調べるのに便利ってこと
スクリプトファイルの実行
→python test.ph

TeraPadの設定
実行ファイル:cmd
コマンドパラメータ:/K CD %d && python %n


文字列の抜き出し
文字列変数[最初のインデクス:最後のインデクス]
インデクスはもちろん0から


word = 'hello'
print word[1:3] #2文字目から3文字目まで
el


インデックスのデフォルト値
何も入れないとそれまで、それ以降


word = 'hello'
print word[:4] #4文字目まで
hell
print word[2:] #3文字目から最後まで
llo


その他の数値
無理そうな数を入れてもエラーにならない!!


word = 'hello'
print word[100:] #何も出力されないがエラーも出ない
print word[-2:] #マイナスを入れると・・・
lo #最後の2文字が
print word[-2:4] #lohelloを期待したけど・・・何も出力されない


C言語のように文字列の変更はできないが要素同士の組み合わせは便利


word = 'hello'
word[0] = 'x' #エラーとなる

word = 'x' + word #これなら代入なのでいける
print word
xhello

print word[1:] + 'world'
helloworld


スライス文字の不変式


word = 'hello'
print word[2:] + word[:2]
hello


前述したが無理のあるインデクスでもうまくいく
大きすぎるインデクスは文字列のサイズに置き換えられる
負の数字は右から数えるが"-0"は0と一緒で右からじゃなく1文字目
ただし、インデクス指定ではエラーがでる。


組み込み関数len(文字列)は文字列の長さを返す


word = 'hello'
len(word)
5


Unicode文字列はシーケンス型

三日目まとめ
チュートリアル中に出てくる関数を調べる方法がわからない><
Javaだとクラスを元に探せるけど、Pythonはオブジェクト指向といっても
クラスベースじゃないってことかな?
なんにせよドキュメントの見かたって新しい言語を覚えるのに大切な事だと思います。

0 件のコメント: