辞書はキーと値のペアでデータ値を格納するために使用されます。
辞書は順序があり(Pythonバージョン3.7以降)、変更可能であり、重複を許容しません。
辞書は波括弧で書かれ、キーと値を持っています:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict)
辞書のアイテムは順序があり、変更可能であり、重複を許容しません。
辞書のアイテムはキーと値のペアで表示され、キー名を使用して参照することができます。
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict["brand"])
Pythonバージョン3.7以降、辞書は順序があります。Python 3.6以前では、辞書は順序がありません。
辞書が順序付けられているということは、アイテムに定義された順序があることを意味し、その順序は変更されません。
辞書は変更可能であり、辞書が作成された後にアイテムを変更、追加、削除することができます。
辞書は同じキーを持つ2つのアイテムを持つことはできません:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964,
"year": 2020
}
print(thisdict)
辞書に含まれるアイテムの数を知るには、len()関数を使用します。
print(len(thisdict))
辞書のアイテムの値は任意のデータ型にすることができます。
thisdict = {
"brand": "Ford",
"electric": False,
"year": 1964,
"colors": ["red", "white", "blue"]
}
Pythonの観点からは、辞書はデータ型「dict」として定義されています。
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(type(thisdict))
新しい辞書を作成するには、dict()コンストラクタを使用することもできます。
thisdict = dict(name = "John", age = 36, country = "Norway")
print(thisdict)
Pythonプログラミング言語には4つのコレクションデータ型があります:
コレクションタイプを選ぶ際には、そのタイプの特性を理解することが役立ちます。特定のデータセットに適したタイプを選ぶことは意味の保持につながり、効率やセキュリティの向上にもつながるかもしれません。
セットは複数のアイテムを1つの変数に格納するために使用されます。
セットはPythonの4つの組み込みデータ型の1つで、データのコレクションを格納するために使用されます。他の3つはリスト、タプル、辞書であり、それぞれ異なる特性と使用法を持っています。
セットは波括弧で書かれます:
thisset = {"apple", "banana", "cherry"}
print(thisset)
注意:セットは順序付けられていないため、アイテムが表示される順序は保証されません。
セットのアイテムは順序付けられておらず、変更できず、重複した値を許容しません。
セットが順序付けられていないことは、セット内のアイテムに定義された順序がないことを意味します。
セットのアイテムは毎回異なる順序で表示され、インデックスやキーで参照することはできません。
セットのアイテムは変更できないため、セットが作成された後にアイテムを変更、追加、削除することはできません。
セットが作成されたら、そのアイテムを変更することはできませんが、アイテムを削除したり新しいアイテムを追加することはできます。
セットは同じ値を持つ2つのアイテムを持つことができません。
thisset = {"apple", "banana", "cherry", "apple"}
print(thisset)
注意:セット内では、Trueと1、Falseと0は同じ値と見なされ、重複として扱われます。
thisset = {"apple", "banana", "cherry", True, 1, 2}
print(thisset)
thisset = {"apple", "banana", "cherry", False, True, 0}
print(thisset)
セットに含まれるアイテムの数を知るには、len()関数を使用します。
thisset = {"apple", "banana", "cherry"}
print(len(thisset))
セットのアイテムは任意のデータ型にすることができます。
set1 = {"apple", "banana", "cherry"}
set2 = {1, 5, 7, 9, 3}
set3 = {True, False, False}
文字列、整数、ブール値などの異なるデータ型の組み合わせを含むセットを作成することができます。
set1 = {"abc", 34, True, 40, "male"}
Pythonの観点からは、セットはデータ型「set」として定義されています。
myset = {"apple", "banana", "cherry"}
print(type(myset))
新しいセットを作成するには、set()コンストラクタを使用することも可能です。
thisset = set(("apple", "banana", "cherry")) # ダブルラウンドブラケットに注意してください
print(thisset)
Pythonプログラミング言語には4つのコレクションデータ型があります:
コレクションタイプを選ぶ際には、そのタイプの特性を理解することが役立ちます。特定のデータセットに適したタイプを選ぶことは意味の保持につながり、効率やセキュリティの向上にもつながるかもしれません。
タプルは複数のアイテムを1つの変数に格納するために使用されます。
タプルはPythonの4つの組み込みデータ型の1つで、データのコレクションを格納するために使用されます。他の3つはリスト、セット、辞書であり、それぞれ異なる特性と使用法を持っています。
タプルは丸括弧で書かれます:
thistuple = ("apple", "banana", "cherry")
print(thistuple)
タプルのアイテムは順序付けられており、変更できなく、重複した値を許容します。
タプルのアイテムはインデックスで指定され、最初のアイテムはインデックス[0]、2番目のアイテムはインデックス[1]といった具合になります。
タプルが順序付けられているということは、アイテムには定義された順序があり、その順序は変更されないことを意味します。
タプルは変更できないため、作成後にアイテムを変更、追加、削除することはできません。
タプルはインデックスされているため、同じ値のアイテムを持つことができます。
thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)
タプルに含まれるアイテムの数を確認するには、len()関数を使用します。
thistuple = ("apple", "banana", "cherry")
print(len(thistuple))
1つのアイテムを持つタプルを作成するには、アイテムの後ろにカンマを追加する必要があります。そうしないとPythonはそれをタプルと認識しません。
thistuple = ("apple",)
print(type(thistuple))
# タプルではない
thistuple = ("apple")
print(type(thistuple))
タプルのアイテムは任意のデータ型にすることができます。
tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)
タプルには文字列、整数、ブール値などの異なるデータ型の組み合わせを含めることができます。
tuple1 = ("abc", 34, True, 40, "male")
Pythonの観点からは、タプルはデータ型「tuple」として定義されています。
mytuple = ("apple", "banana", "cherry")
print(type(mytuple))
新しいタプルを作成する際には、tuple()コンストラクタを使用することも可能です。
thistuple = tuple(("apple", "banana", "cherry")) # ダブルラウンドブラケットに注意してください
print(thistuple)
Pythonプログラミング言語には4つのコレクションデータ型があります:
コレクションタイプを選ぶ際には、そのタイプの特性を理解することが役立ちます。特定のデータセットに適したタイプを選ぶことは意味の保持につながり、効率やセキュリティの向上にもつながるかもしれません。
リストは複数のアイテムを1つの変数に格納するために使用されます。
リストはPythonの4つの組み込みデータ型の1つで、データのコレクションを格納するために使用されます。他の3つはタプル、セット、辞書であり、それぞれ異なる特性と使用法を持っています。
リストは角括弧を使用して作成されます:
thislist = ["apple", "banana", "cherry"]
print(thislist)
リストのアイテムは順序付けられており、変更可能で、重複した値を許容します。
リストのアイテムはインデックスで指定され、最初のアイテムはインデックス[0]、2番目のアイテムはインデックス[1]といった具合になります。
リストが順序付けられているということは、アイテムには定義された順序があり、その順序は変更されないことを意味します。
リストに新しいアイテムを追加すると、その新しいアイテムはリストの末尾に配置されます。
注意:一部のリストメソッドは順序を変更することがありますが、一般的にはアイテムの順序は変わりません。
リストは変更可能であり、作成後にリスト内のアイテムを変更、追加、削除することができます。
リストはインデックスされているため、同じ値のアイテムを持つことができます。
thislist = ["apple", "banana", "cherry", "apple", "cherry"]
print(thislist)
リストに含まれるアイテムの数を確認するには、len()関数を使用します。
thislist = ["apple", "banana", "cherry"]
print(len(thislist))
リストのアイテムは任意のデータ型にすることができます。
list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
リストには文字列、整数、ブール値などの異なるデータ型の組み合わせを含めることができます。
list1 = ["abc", 34, True, 40, "male"]
Pythonの観点からは、リストはデータ型「list」として定義されています。
mylist = ["apple", "banana", "cherry"]
print(type(mylist))
新しいリストを作成する際にlist()コンストラクタを使用することも可能です。
thislist = list(("apple", "banana", "cherry")) # ダブルラウンドブラケットに注意してください
print(thislist)
Pythonプログラミング言語には4つのコレクションデータ型があります:
コレクションタイプを選ぶ際には、そのタイプの特性を理解することが役立ちます。特定のデータセットに適したタイプを選ぶことは意味の保持につながり、効率やセキュリティの向上にもつながるかもしれません。
演算子は変数や値に対して操作を行うために使用されます。
以下の例では、+演算子を使用して2つの値を加算しています:
print(10 + 5)
Pythonでは演算子を次のグループに分けています:
算術演算子は数値値と共に使用され、一般的な数学的操作を実行します:
演算子 | 名前 | 例 |
---|---|---|
+ | 加算 | x + y |
– | 減算 | x – y |
* | 乗算 | x * y |
/ | 除算 | x / y |
% | 剰余 | x % y |
** | 指数 | x ** y |
// | 切り捨て除算 | x // y |
代入演算子は変数に値を代入するために使用されます:
演算子 | 例 | 同じ |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 3 | x = x + 3 |
-= | x -= 3 | x = x – 3 |
*= | x *= 3 | x = x * 3 |
/= | x /= 3 | x = x / 3 |
%= | x %= 3 | x = x % 3 |
//= | x //= 3 | x = x // 3 |
**= | x **= 3 | x = x ** 3 |
&= | x &= 3 | x = x & 3 |
|= | x |= 3 | x = x | 3 |
^= | x ^= 3 | x = x ^ 3 |
>>= | x >>= 3 | x = x >> 3 |
<<= | x <<= 3 | x = x << 3 |
:= | print(x := 3) | x = 3 print(x) |
比較演算子は2つの値を比較するために使用されます:
演算子 | 名前 | 例 |
---|---|---|
== | 等しい | x == y |
!= | 等しくない | x != y |
> | より大きい | x > y |
< | より小さい | x < y |
>= | 以上 | x >= y |
<= | 以下 | x <= y |
論理演算子は条件文を組み合わせるために使用されます:
演算子 | 説明 | 例 |
---|---|---|
and | 両方の文がTrueの場合にTrueを返す | x < 5 and x < 10 |
or | 少なくとも1つの文がTrueの場合にTrueを返す | x < 5 or x < 4 |
not | 結果を反転し、Trueの場合はFalseを返す | not(x < 5 and x < 10) |
同一性演算子はオブジェクトを比較し、等しくないかどうかではなく、実際に同じオブジェクトであるかどうか(同じメモリ位置にあるかどうか)を確認します:
演算子 | 説明 | 例 |
---|---|---|
is | 両方の変数が同じオブジェクトである場合にTrueを返す | x is y |
is not | 両方の変数が同じオブジェクトでない場合にTrueを返す | x is not y |
メンバーシップ演算子はオブジェクト内にシーケンスが存在するかどうかをテストするために使用されます:
演算子 | 説明 | 例 |
---|---|---|
in | 指定された値を含むシーケンスがオブジェクト内に存在する場合にTrueを返す | x in y |
not in | 指定された値を含むシーケンスがオブジェクト内に存在しない場合にTrueを返す | x not in y |
ビット演算子は(バイナリ)数値を比較するために使用されます:
演算子 | 名前 | 説明 | 例 |
---|---|---|---|
& | AND | 両方のビットが1の場合、各ビットを1に設定します | x & y |
| | OR | 1つのビットが1の場合、各ビットを1に設定します | x | y |
^ | XOR | 1つのビットが1の場合、各ビットを1に設定します | x ^ y |
~ | NOT | すべてのビットを反転します | ~x |
<< | 左シフト | 右から0をプッシュして左にシフトし、左端のビットを落とします | x << 2 |
>> | 符号付き右シフト | 左端のビットから左にコピーし、右端のビットを落とします | x >> 2 |
演算子の優先順位は、操作が実行される順序を示します。
例えば、最も優先順位の高いのはかっこで囲まれた部分で、かっこで囲まれた式は最初に評価される必要があります:
print((6 + 3) - (6 + 3))
例えば、乗算*の優先順位は加算+よりも高く、そのため乗算は加算よりも先に評価されます:
print(100 + 5 * 3)
優先順位の順序は以下の表に示されており、上から順に最も優先順位が高いものです:
演算子 | 説明 |
---|---|
() | かっこ |
** | 指数 |
+x, -x, ~x | 単項プラス、単項マイナス、およびビットNOT |
* / // % | 乗算、除算、切り捨て除算、および剰余 |
+ – | 加算と減算 |
<< >> | ビット左シフトおよび右シフト |
& | ビットAND |
^ | ビットXOR |
| | ビットOR |
== != > >= < <= is is not in not in | 比較、同一性、およびメンバーシップ演算子 |
not | 論理NOT |
and | 論理AND |
or | 論理OR |
もし2つの演算子が同じ優先順位を持っている場合、式は左から右に評価されます:
print(5 + 4 - 7 + 3)
真偽値はTrueまたはFalseのいずれかの値を表します。
プログラミングでは、しばしば式がTrueかFalseかを知る必要があります。
Pythonでは任意の式を評価し、TrueまたはFalseのどちらかの答えを得ることができます。
2つの値を比較すると、式が評価され、Pythonは真偽値の答えを返します:
print(10 > 9)
print(10 == 9)
print(10 < 9)
if文で条件を実行すると、PythonはTrueまたはFalseを返します:
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
bool()
関数を使用すると、任意の値を評価してTrueまたはFalseを返すことができます。
文字列と数値を評価する:
print(bool("Hello"))
print(bool(15))
2つの変数を評価する:
x = "Hello"
y = 15
print(bool(x))
print(bool(y))
ほとんどの値は、何らかの内容を持っていればTrueと評価されます。
空でない文字列はTrueです。
0以外の数値はTrueです。
空でないリスト、タプル、セット、辞書はTrueです。
以下はTrueを返します:
bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])
実際には、空の値(()、[]、{}、””)、数値0、および値Noneを除いて、Falseと評価される値はほとんどありません。そしてもちろんFalseの値もFalseと評価されます。
以下はFalseを返します:
bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})
さらに、特定のクラスから作成されたオブジェクトで、__len__
関数が0またはFalseを返す場合、そのオブジェクトもFalseと評価されます:
class myclass():
def __len__(self):
return 0
myobj = myclass()
print(bool(myobj))
真偽値を返す関数を作成することができます:
関数の答えを表示する:
def myFunction() :
return True
print(myFunction())
関数の真偽の答えに基づいてコードを実行することができます:
関数がTrueを返す場合は”YES!”を、それ以外の場合は”NO!”を表示:
def myFunction() :
return True
if myFunction():
print("YES!")
else:
print("NO!")
Pythonには、オブジェクトが特定のデータ型であるかどうかを判定するために使用できるisinstance()
関数を含む多くの組み込み関数があります。
オブジェクトが整数かどうかをチェック:
x = 200
print(isinstance(x, int))
Pythonの文字列はシングルクォートまたはダブルクォートで囲むことができます。
‘hello’は”hello”と同じです。
print()
関数を使って文字列リテラルを表示できます:
print("Hello")
print('Hello')
文字列の中で引用符を使用することができますが、その引用符は文字列を囲む引用符と一致しないようにしてください。
print("It's alright")
print("He is called 'Johnny'")
print('He is called "Johnny"')
文字列を変数に代入するには、変数名の後に等号と文字列を続けます。
a = "Hello"
print(a)
3つの引用符を使って複数行の文字列を変数に代入することができます。
3つのダブルクォートを使用:
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)
または3つのシングルクォートを使用:
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)
注:結果には、コード内の位置に従って改行が挿入されます。
多くの他のプログラミング言語と同様に、Pythonの文字列はユニコード文字を表すバイトの配列です。しかし、Pythonには文字型はなく、1つの文字は単に長さ1の文字列です。
角括弧を使って文字列の要素にアクセスできます。
位置1の文字を取得する(最初の文字は位置0です):
a = "Hello, World!"
print(a[1])
文字列は配列なので、forループで文字列内の文字をループ処理できます。
“banana”という単語の文字をループ処理する:
for x in "banana":
print(x)
Pythonのforループについては、コードラボJPのPython For Loops章で学ぶことができます。
文字列の長さを取得するには、len()
関数を使用します。
len()
関数は文字列の長さを返します:
a = "Hello, World!"
print(len(a))
特定のフレーズや文字が文字列に含まれているかどうかを確認するには、キーワードin
を使用します。
次のテキストに”free”が含まれているかどうかを確認する:
txt = "The best things in life are free!"
print("free" in txt)
if文で使用:
“free”が含まれている場合のみ表示:
txt = "The best things in life are free!"
if "free" in txt:
print("Yes, 'free' is present.")
特定のフレーズや文字が文字列に含まれていないかどうかを確認するには、キーワードnot in
を使用します。
次のテキストに”expensive”が含まれていないかどうかを確認する:
txt = "The best things in life are free!"
print("expensive" not in txt)
if文で使用:
“expensive”が含まれていない場合のみ表示:
txt = "The best things in life are free!"
if "expensive" not in txt:
print("No, 'expensive' is NOT present.")
変数に型を指定したい場合があります。これはキャストを使って行うことができます。Pythonはオブジェクト指向言語であり、そのためプリミティブ型を含むデータ型を定義するためにクラスを使用します。
したがって、Pythonでのキャストはコンストラクタ関数を使用して行います:
int()
– 整数リテラル、浮動小数点リテラル(小数をすべて削除)、または文字列リテラル(文字列が整数を表している場合)から整数を構築します。float()
– 整数リテラル、浮動小数点リテラル、または文字列リテラル(文字列が浮動小数点または整数を表している場合)から浮動小数点数を構築します。str()
– 文字列、整数リテラル、浮動小数点リテラルを含むさまざまなデータ型から文字列を構築します。整数:
x = int(1) # xは1になる
y = int(2.8) # yは2になる
z = int("3") # zは3になる
浮動小数点数:
x = float(1) # xは1.0になる
y = float(2.8) # yは2.8になる
z = float("3") # zは3.0になる
w = float("4.2") # wは4.2になる
文字列:
x = str("s1") # xは's1'になる
y = str(2) # yは'2'になる
z = str(3.0) # zは'3.0'になる
Pythonには3つの数値型があります:
数値型の変数は、値を割り当てるときに作成されます:
x = 1 # int
y = 2.8 # float
z = 1j # complex
Pythonで任意のオブジェクトの型を確認するには、type()
関数を使用します:
print(type(x))
print(type(y))
print(type(z))
整数型は、正または負の小数なしの整数です。長さに制限はありません。
整数:
x = 1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))
浮動小数点数型は、正または負の小数点を含む数値です。
浮動小数点数:
x = 1.10
y = 1.0
z = -35.59
print(type(x))
print(type(y))
print(type(z))
浮動小数点数は、10のべき乗を示すために “e” を含むこともできます。
浮動小数点数:
x = 35e3
y = 12E4
z = -87.7e100
print(type(x))
print(type(y))
print(type(z))
複素数は、虚数部分として “j” を使用して書かれます:
複素数:
x = 3+5j
y = 5j
z = -5j
print(type(x))
print(type(y))
print(type(z))
int(), float(), complex() メソッドを使用して、ある型から別の型に変換できます:
型を変換する:
x = 1 # int
y = 2.8 # float
z = 1j # complex
# intからfloatに変換:
a = float(x)
# floatからintに変換:
b = int(y)
# intからcomplexに変換:
c = complex(x)
print(a)
print(b)
print(c)
print(type(a))
print(type(b))
print(type(c))
注:複素数を他の数値型に変換することはできません。
Pythonには乱数を生成するためのrandom()
関数はありませんが、乱数を生成するための組み込みモジュールrandom
があります:
randomモジュールをインポートし、1から9までの乱数を表示します:
import random
print(random.randrange(1, 10))
プログラミングにおいて、データ型は重要な概念です。
変数は異なる型のデータを格納でき、異なる型は異なることができます。
Pythonには以下の組み込みデータ型がデフォルトで存在します:
str
int
, float
, complex
list
, tuple
, range
dict
set
, frozenset
bool
bytes
, bytearray
, memoryview
NoneType
type()
関数を使用して、任意のオブジェクトのデータ型を取得できます:
変数x
のデータ型を出力します:
x = 5
print(type(x))
Pythonでは、変数に値を割り当てるとデータ型が設定されます:
例 | データ型 |
---|---|
x = "Hello World" |
str |
x = 20 |
int |
x = 20.5 |
float |
x = 1j |
complex |
x = ["apple", "banana", "cherry"] |
list |
x = ("apple", "banana", "cherry") |
tuple |
x = range(6) |
range |
x = {"name" : "John", "age" : 36} |
dict |
x = {"apple", "banana", "cherry"} |
set |
x = frozenset({"apple", "banana", "cherry"}) |
frozenset |
x = True |
bool |
x = b"Hello" |
bytes |
x = bytearray(5) |
bytearray |
x = memoryview(bytes(5)) |
memoryview |
x = None |
NoneType |
特定のデータ型を指定したい場合は、以下のコンストラクタ関数を使用できます:
例 | データ型 |
---|---|
x = str("Hello World") |
str |
x = int(20) |
int |
x = float(20.5) |
float |
x = complex(1j) |
complex |
x = list(("apple", "banana", "cherry")) |
list |
x = tuple(("apple", "banana", "cherry")) |
tuple |
x = range(6) |
range |
x = dict(name="John", age=36) |
dict |
x = set(("apple", "banana", "cherry")) |
set |
x = frozenset(("apple", "banana", "cherry")) |
frozenset |
x = bool(5) |
bool |
x = bytes(5) |
bytes |
x = bytearray(5) |
bytearray |
x = memoryview(bytes(5)) |
memoryview |