Introduction for Python : Pyの成分
Pythonの単純なデータ型
- 文字列:文字の羅列
- ブール値:True or False
- 整数:小数点以下がない数値
- 浮動小数点数:小数点以下の部分がある数値
※浮動小数点数は指数表現(10e8、10の8乗)も含む
これらは「原子」のようなもの。データ型を組み合わせて「分子」としての構文を作る
変数、オブジェクト
変数:実際のデータを指す名前(”=”、で代入される)
※ただの名前で、参照するためにのみ使用される
オブジェクト:データを入れる透明なボックス・容器のようなもの
※オブジェクトも型を持つ、コップ・皿・陶器などで用途や重たい・軽いなどが分かる
※同じ型同士でないと演算などができない・・・?(要確認)
※Pythonではクラスと型は同じになる
型:mutable or imutable
ミュータブル(可変):データの値を書き換えできる
→箱に蓋がついていて、加工できる ※型は変更できない(Strong Typing)
イミュータブル(可変でない):書き換えができない
→密閉された箱に窓がついていて、見ることはできるが書き換えはできない
タプルとリスト
タプル:任意の要素の値をまとめて、ひとつの値のように扱う、イミュータブルである
リスト:要素を順番に管理する、ミュータブルで順序や内容が変わるときに使用される
※list()関数 → 他のデータ型をリストに変換する
スライス記号”:”でオフセットによる範囲を指定して取り出し
>>> abc=["a","b","c","d","e"]
>>> abc[0:3] #オフセット0から3つまでを取り出す
['a', 'b', 'c']
スライス記号”::”でステップ指定をした取り出し
abc=['a', 'b', 'c', 'd', 'e']
>>> abc[0::2] #2つ飛ばし
['a', 'c', 'e']
>>> abc[0::3] #3つ飛ばし
['a', 'd']
スタックとキュー
FIFO・・・First In First Out
先入れ先出し:先に入ったものを先に出す
例:append→pop()
キューの実装
LIFO・・・Last In First Out
後入れ先出し
後に入ったものを先に出す
例:append→pop(0)
スタックの実装
”=”と”==”の違い
=演算子は代入
==は等価性を試す
※その他の比較演算子
==:等価テスト
!=:等しくない
in:含まれる
関数
type():オブジェクトやデータの型を知りたいときに使用する
int:整数
float:浮動小数点数
str:文字列
list()関数 → 他のデータ型をリストに変換する
例
>>> list("cat")
['c', 'a', 't']
split():セパレータ文字列を使って分割し、リストにする
>>> birthday = "3/21/1989"
>>> birthday.split("/")
['3', '21', '1989']
append()関数
>>> abc
['a', 'b', 'c', 'd', 'e']
>>> abc.append("f")
>>> abc
['a', 'b', 'c', 'd', 'e', 'f']
>>> abc.append("g")
>>> abc
['a', 'b', 'c', 'd', 'e', 'f', 'g']
extend(), += でリストの結合
→appendはひとつだけ追加
→リストをappendすると、リストの中にリストが入ってしまうため使い分けに注意
insert(), オフセットを指定した要素の追加:「何処に何を入れる?」をやる
del 指定したオフセットの要素の削除:「何処を消す?」(中身は知らなくてよい)
remove() 要素の削除:「何を消す?」(場所は知らなくてよい)
pop() オフセットを指定して中身を取り出し、かつ削除する
>>> abc
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> abc.pop() #()内が無いときは-1が使われ末尾
'g'
>>> abc
['a', 'b', 'c', 'd', 'e', 'f']
>>> abc.pop(3)
'd'
>>> abc
['a', 'b', 'c', 'e', 'f']
>>>
index()
豆
変数名として使える文字列
- 大小の英数字 → 数字は名前の先頭に使用できない
- アンダースコア → 先頭に使用するのは特殊なケース
演算子:"//" 9//5 → 1 商、 "%" 9%5 → 4
googol=10**100 →ぐーごると読む
10の100乗、Googleはラリーペイジがつづりを間違えたことが由来
Pythonはgoogol*googolの計算もできる(他言語では整数オーバーフローを起こす)