
Python3 自習・復習vol.008
データ型の種類(主に7つ)
int型 :整数
float型:小数型(浮動小数点数型)
str型 :文字列
bool型 :真偽値
list型 :リスト(1つの変数で複数の値を扱うことができ、代入値をカンマで区切って[]内に代入する)
tuple型:タプル(1度代入した値を後から変更不可なリストのようなもので、代入値をカンマで区切って()内に代入する)
dict型 :辞書(1つの変数で複数の値を扱うことができ、それぞれにキーとなるラベルをつけることが可能)
★int型
・整数(整数の数値を扱うint型。整数で扱える数値は、小数点を含まない0や、正の数、負の数)
・以前は、long(64ビット)の範囲(−9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 まで)。Python3では、longはなくなり、任意のサイズなので64ビット以上。
★float型
・小数点(float型は小数点の数値を扱う。小数点を含む数値は全て含まれ【「0.0」や、「10.0」「-1.25」】等も含んだ0.0、正の数、負の数)
★str型
・文字列(str型として代入された文字、記号、数値などは全て文字列として扱われる。)
・大文字小文字区分と配置 EX: x.strip(‘ . ’) xから.を取り除く
・先頭だけ大文字 EX: x.capitalize()
・全てをタイトルケースにする EX: x.title()
・全て大文字 EX: x.upper()
・全て小文字 EX: x.lower()
・大文字小文字を逆にする EX: x.swapcase()
・+による連結 EX: ‘apple’ + ‘banana’
・*による繰り返し EX: x = ‘Hey’ *3 + ‘\n’
・[ ] による文字の抽出 EX: x = ‘abcdefg’
・文字列はイミュータブルなので、文字列に直接文字の挿入や、指定したインデックスの位置の文字の書き換え不可だが、x.replace() などの文字列関数やスライスを使う必要がある。
・[ start : end : step ] によるスライス
[ : ] 先頭から末尾までのシーケンス全体を抽出する
[ start : ] start オフセットから末尾までのシーケンスを抽出
[ : end ] 先頭から end-1 オフセットまでのシーケンスを抽出
[ start : end ] start オフセットから end-1 オフセットまでのシーケンスを抽出
[ start : end : step ] step 文字ごとに start を指定しなければスライスは0(先頭)を使う
>>> letters = 'abcdefghijklmnopqrstuvwxyz'
>>> letters[:]
'abcdefghijklmnopqrstuvwxyz'
>>> letters[10:] #オフセット10から末尾まで
'klmnopqrstuvwxyz'
>>> letters[-3:] #最後の3文字
'xyz'
>>> letters[::7] #先頭から末尾まで7文字ごとに抽出
'ahov'
>>> letters[4:20:3] #オフセット4から19まで、3文字ごとに抽出
'ehknqt'
>>> letters[::-1]
'zyxwvutsrqponmlkjihgfedcba'
・len()関数は、文字列内の文字数を数える
・split()による分割
#fruitsという名前で、文字列関数は split()、引数は ‘ , ’ というセパレータ
>>> fruits = 'apple, banana, orange, melon, lemon'
>>> fruits.split(',')
['apple', ' banana', ' orange', ' melon', ' lemon']
★bool型
・真偽値(bool型は真偽値を扱います。真偽値とは『真:True』か『偽:false』を判断するもの。)
・比較に使う演算子(コンピューターに、これとこれは同じ?と聞いてみることができる)
・下記比較演算子を用いてTrue or False を返す関数
== 等しい
!= 等しくない
< 左が右より小さい
> 左が右より大きい
<= 左が右以下
>= 左が右以上
★list型
・リスト(1つの変数で複数の値を扱うことができ、代入値をカンマで区切って[]内に代入する。リストの中には数字や文字列、それらを混ぜて代入することも可能)
・listはデータ型(複数入るデータ型 文字も 数値も可能)strやintもデータ型だけど、値は1つ。
・append() 末尾に追加
・pop() 末尾の削除。()内にインデックス指定での削除も可能。
・リストからデータを取り出す Ex: shop_list[0]
・インデックス(0から始まる添字)で指定する
・−1を指定すると、末尾が表示される
・リストのデータを書き換える
shop_list[3] = ‘lemon’
print(shop_list)
>>[‘apple’, ‘banana’, ‘orange’, ‘lemon’]
・リストのデータを削除する場合 delという命令文を使う
del shop_list[3]
print(shop_list)
>>[‘apple’, ‘banana’, ‘orange’]
★tuple型
・タプル(1度代入した値を後から変更不可なリストのようなもので、代入値をカンマで区切って()内に代入する。数字や文字列、それらを混ぜて代入することも可能)
・要素を追加・削除・変更できない
・() と , がトレードマーク
・使用メモリがリストに比べて小さい
・多くの場合でリストよりタプルの方が早く演算できる
・リストや辞書型と併用できる
・list() と tuple() 関数でデータ型は変
>>> x = (1, 2, 'a', 'b', 'c')
>>> print(x)
(1, 2, 'a', 'b', 'c')
>>> print(type(x))
<class 'tuple'>
>>>
>>> x = [1, 2, 'a', 'b', 'c']
>>> print(x)
[1, 2, 'a', 'b', 'c']
>>> print(type(x))
<class 'list'>
★dict型
・辞書(1つの変数で複数の値を扱うことができ、それぞれにキーとなるラベルをつけることが可能。辞書の代入値の中には数字や文字列、それらを混ぜて代入可能)
・dict()関数を使えば、2つの値のシーケンスを辞書に変換可能。先頭要素がキー:第2要素が値のペアになる。下記は2要素のリストのリストを使った例
>>> x = [['ストロンチウム','90'],[ '炭素','14']]
>>> dict(x)
{'ストロンチウム': '90', '炭素': '14'}
・キーによる要素の追加・変更。キーを使って要素を参照し、値を代入。そのキーが既にある場合は、既存の値が置き換えられ、キーがない場合は、値ともども辞書に追加される。
>>> animals['子犬'] = 'puppy'
animals['子犬'] = 'puppies'
>>> animals
{'いぬ': 'dog', '猫': 'cat', '牛': 'cow', '子犬': 'puppies'}
・update()による辞書の結合
others = {'ヤギ':'goat', '羊':'sheep'}
>>> animals.update(others)
>>> animals
{'いぬ': 'dog', '猫': 'cat', '牛': 'cow', '子犬': 'puppies', 'ヤギ': 'goat', '羊': 'sheep'}
・del による指定したキーを持つ要素の削除
del animals['いぬ']
>>> animals
{'猫': 'cat', '牛': 'cow', '子犬': 'puppies', 'ヤギ': 'goat', '羊': 'sheep'}
・in を使ったキーの有無のテスト
>>> 'cat' in animals
False
>>> '猫' in animals
True
・[ key ] による要素の取得
>>> animals['猫'] OR >>> animals.get('猫')
'cat'
・keys() によるすべてのキーの取得
>>> signals = {'green':'go', 'yellow’:’be careful', 'red':'stop'}
>>> signals.keys()
dict_keys(['green', 'yellow', 'red'])
・values() による全ての値の取得
signals['yellow'] = 'careful'
>>> list(signals.values())
['go', 'careful', 'stop']
・items() による全てのキー/値ペアの取得
list(signals.items())
[('green', 'go'), ('yellow', 'be careful'), ('red', 'stop'), ('Green', 'go go'), ('Yellow', 'go faster')]
・= による代入と copy() によるコピー
>>> save_signals = signals
>>> signals['blue'] = 'confuse everyone'
>>> save_signals
{'green': 'go', 'yellow': 'be careful', 'red': 'stop', 'Green': 'go go ', 'Yellow': 'go faster', 'blue': 'confuse everyone'}
>>> signals
{'green': 'go', 'yellow': 'be careful', 'red': 'stop', 'Green': 'go go ', 'Yellow': 'go faster', 'blue': 'confuse everyone'}
>>> del signals['blue']
>>> signals
{'green': 'go', 'yellow': 'be careful', 'red': 'stop', 'Green': 'go go ', 'Yellow': 'go faster'}
>>> original_signals = signals.copy()
>>> signals['blue'] = 'confuse everyone'
>>> signals
{'green': 'go', 'yellow': 'be careful', 'red': 'stop', 'Green': 'go go ', 'Yellow': 'go faster', 'blue': 'confuse everyone'}
>>> original_signals
{'green': 'go', 'yellow': 'be careful', 'red': 'stop', 'Green': 'go go ', 'Yellow': 'go faster'}
・clear() による全ての要素の削除
animals.clear()
いいなと思ったら応援しよう!
