まだ気づく前のこと

誰かに伝えられるクオリティ少し前のこねこね日記、書き直し無しの徒然草

Introduction for Python : Pyの成分

Pythonの単純なデータ型

  1. 文字列:文字の羅列
  2. ブール値:True or False
  3. 整数:小数点以下がない数値
  4. 浮動小数点数:小数点以下の部分がある数値

浮動小数点数は指数表現(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はラリーペイジがつづりを間違えたことが由来

Pythongoogol*googolの計算もできる(他言語では整数オーバーフローを起こす)