しーもあ

いろんなことを思いついただけ書きます。

Pythonを勉強した

Pythonをお勉強させて頂く機会があったので、
自分の勉強のためにここにまとめておこうと思います。


LL スクリプト言語 コンパイルなし 実行ファイルを作らない
Pythonスクリプトファイルを引数として渡すことで実行する

Python.exeが動かすために必要 Pythonのインストールが必要
スクリプトは共通で大丈夫(開発環境と実行環境が違っても可能)

インデントでブロックを表す 
セミコロンはあってもなくてもよい(2つ以上書く時にはセミコロンで区切る)

コメントは#
" " と ' ' はどちらも文字列 ソースの中では統一しましょう

" " と " " 、' ' と ' 'を重ねる時には\(バックスラッシュ)を入れて
"\" " " 、'\' ' としないといけない
でも、違う種類だとエスケープしなくていい

Pythonはシングル、HTMLはダブルとかかき分けると便利

""" """ と、''' ''' は、文字列の改行ができる
複数行コメントとして利用する

関数の定義の直後の文字列がドキュメントとして関数に紐付けられる

数字で書き始めると数字
0で書き始めると8進法
0xで書き始めると16進法
0bで書き始めると2進法
0oで書き始めても8進法になる

Pythonではすべてがオブジェクト

変数は箱ではなくラベル オブジェクトに貼るだけ

ミュータブル・・・変更可能なオブジェクト
イミュータブル・・・変更不可能なオブジェクト

a=1
の時、1はイミュータブル
その後 a=2
としても、ラベルを2に貼り替えただけで1が2になったわけではない

なので、インクリメント、デクリメントはない
a++はできない
a=a+1 または、その省略であるa+=1と書く


文字列の足し算の場合は、新しいオブジェクトが作られる

リストと辞書はミュータブル

リスト(JavaArrayListと同じ)[1,3,5,7,9]
追加、削除、変更、検索ができる

c=[1,2,3]
c.append(4)
c=[1,2,3,4]

[1,2,3]が変化して[1,2,3,4]になる

d=[1,2,3] 数字は同じでも新しい別のオブジェクトが作られる

d=c cのさすオブジェクトにdもさす 同じオブジェクトをさす

appendの後の動きが違う

c=[1,2,3]
d=c
でコピーしたつもりで
c.append(4)
とすると、dも[1,2,3,4]になってしまう
同じオブジェクトをさしているため

c[1:3]
とすると、1〜2(3の一つ前まで)とれる
c[ : ]
とすると最初から最後までとれる
こうすると新しいオブジェクトができる


辞書(JavaのHashmapと同じ){'key':'value',1:10}

辞書のバリューはなんでもOK
キーはイミュータブルなものしか使えないのでリストや辞書は使えない