Pythonの基本データ型
ブール型(bool)
PythonのTrueとFalseは、1と0と同等であり、計算に使用できます。C++のtrueとfalseは小文字ですが、PythonではTrueとFalseで、先頭を大文字にする必要があります。
文字列型(str)
単一引用符または二重引用符で囲みます。文字列は+で結合でき、*で複製できますが、-で同じ部分を削除することはできません。例えば:
text1 = 'こんにちは'
text2 = '世界'
print(text1 + text2)
text1 = text1 * 3
print(text1)
結果は:
こんにちは世界
こんにちはこんにちはこんにちは
三重引用符(単一引用符または二重引用符のどちらでも同じです)で囲むこともできます。また、三重引用符は複数行コメントとしても使用できます。
整数型(int)
Pythonは直接長整数をサポートしており、大きな整数の計算を簡単に行うことができます。
浮動小数点型(float)
小数、実数、小数点を含む数値です。
e記法
MATLABと同様に、Pythonもeを使用して10のべき乗を表します。例えば4e5は400000.0を表します。注意:この時の数値は浮動小数点数であり、eの前後が小数であっても最終的に浮動小数点数になります。
データ型の変換
int():整数型に変換します。注意:小数を整数に変換すると小数部分が切り捨てられます。非整数の文字列は変換できません。 float():浮動小数点型に変換します。同様に、数字でない文字列は変換できません。 str():文字列に変換します。
print(int(7.8))
print(int("4")) # int("4.2")はできません
print(float(6))
print(str(6.7))
print(str(6e8))
print(str(6e18))
print(str(False))
結果は:
7
4
6.0
6.7
600000000.0
6e+18
False
型の取得関数type()とisinstance()
type(object)
パラメータobjectの型を取得できます。type自体はクラスであり、**すべての型はtypeクラスです。**例えば:
print(type(2)) # <class 'int'>
print(type(2) == int) # True
print(type(True) == bool) # True
print(type("2.0") == str) # True
print(type(2.0) == float) # <class 'float'>
print(type(type(2)) == type) # True
print(type("2.0") == type) # False
isinstance(object, classinfo)
2つのパラメータを取り、objectがclassinfoの型であればTrueを返し、そうでなければFalseを返します。例えば:
print(isinstance(2, int)) # True
print(isinstance(2.0, float)) # True
print(isinstance("2.0", str)) # True
print(isinstance(True, bool)) # True
print(isinstance(2.0, int)) # False
print(isinstance(2, bool)) # False
違い:
type()は、サブクラスを親クラスの型と見なしません(継承関係を考慮しません)。 isinstance()は、サブクラスを親クラスの型と見なします(継承関係を考慮します)。
class BaseClass:
pass
class SubClass(BaseClass):
pass
print(isinstance(BaseClass(), BaseClass)) # True
print(type(BaseClass()) == BaseClass) # True
print(isinstance(SubClass(), BaseClass)) # True
print(type(SubClass()) == BaseClass) # False