Pythonデータ型の可変オブジェクト
10636 ワード
データ型
可変オブジェクトデジタルNumber 文字列Strring ブール値Bloon 可変オブジェクトとは、データ型自体がいくつかの組み込みメソッドまたは属性を呼び出すと、その値は変更されず、新しいオブジェクトが生成されることを意味します.
デジタルNumber
結果:
int整数
int()メソッドは、文字列タイプデータを数値タイプに変換できます.Input()ユーザが入力した値の変換がよく用いられる.
結果:
浮動小数点数float整数部と小数部 は科学計数法 を採用することができる.
結果:
float()メソッド
数値タイプを文字列タイプに変換します.
結果:
ブール値は真偽の2つの値を表します:TrueとFalse ブール値を数値とする場合:Trueは1、Falseは0 数値をブール値とした場合:0はFalse、残りはTrue
結果:
注:Pythonでは、0以外の数字はTrueとして扱われます.
文字列タイプStr文字列定義 一般的な方法、組み込み方法 文字列フォーマット(%、format()、f-string、モジュール) 一重引用符'、二重引用符'、または三重引用符で囲まれたテキスト.文字列では、1つのスペースも1つの文字として計算されます.
結果:
注意:単一引用符と二重引用符は同じ意味で、単行文字列を表し、三重引用符は複数行文字列を表します.
文字列で一般的なメソッドとプロパティ
遍歴とアクセス
文字列の各文字はfor......in......ループで巡回できます.str[start:end:step]メソッドで文字列にアクセスして変更します.
結果:
スライス操作
スライスはPythonで最も一般的な操作方法で、1つのオブジェクトから一部の値を抽出することを意味します.スライスとは?文字列のサブストリングを抽出して返します.一般的なスライス操作「[start:end:step]」. start:スライスの開始位置で、メソッドがインデックス(本インデックスビットを含む)であることを示します.0の場合は、文字列の先頭からスライスすることを示します.startを省略すると、デフォルトでは先頭からスライスします. end:スライスの最終インデックスビットで、抽出された文字はstartからend-1までの文字です.0の場合、デフォルトのスライスstartから文字列の末尾までのすべての文字. step:スライスのステップ長は、スライスの長さを決定する.正の場合は、左から右にスライスを開始します.負の場合は、右から左にスライスを開始します.
start,end,stepの正負はスライスの方向に影響する.
以下、スライスstr 1="I am Tom,I love Python!"例として,スライスに関する操作を詳細に述べる.
個々の文字を切り取る
結果:
startが負数の場合,文字列の末尾から前方にスライスすることを示す.
完全な文字列の切り取り
結果:
startとendがともに正(+)の場合
結果:
startとendがともに負(-)の場合
結果:
startとendが正負(+-)を混合した場合
結果:
一般的な組み込み方法
分割方法str.split(str,num)と"".join(str)
str.split(str 1,num)は、文字列strで指定された文字str 1を分割子(カンマ",")として文字列全体を分割し、listとして出力することを表す.numはnum+1サブ文字列に分割され、numが-1またはタイミングを指さない場合、文字列全体を分割することを表す.
結果:
"".join(str)は、「」の内容を分割子として、文字列strをすべて分割し、list形式で出力することを表す.上記str 1を例にとると、
結果:
str.split(str 1)と「」、join(str)の違い: splitは、元の文字列の文字を分割子とし、分割の回数を規定することができる.指定された文字は消え、分割子 になります. joinは、文字列内の文字をすべて分割する分割子をカスタマイズできます.**指定した分割子が文字列の文字と同じであっても、文字列の文字は消えません.
str.replace(oldStr,newStr,num)置換方法
str.replace(oldStr,newStr,num)はstr中のoldStr文字列をnewStr文字列で置換することを表し、numは置換回数を表し、結局重複する文字が現れる.
結果:
その他の一般的な組み込み方法
結果:
del str削除文字列
削除した変数に再アクセスすると、メモリにこの変数がないことを示すエラーが表示されます.
文字列のフォーマット(%、format()、f-string)
フォーマット:あるデータ型を別のタイプに変換します.≪アクション|Action|emdw≫:ユーザーが入力したデータのセキュリティを検出できます.
%()旧式フォーマット
テキスト内または出力が必要な場所で%(s,d,r)を用いて変換が必要なタイプを表し,その後%(str 1[num[list]])に続く.などのデータを出力します.
結果:
入力するデータ型を%s,%d,%rでそれぞれ表し,%()の中のものをタイプ別に置き換えて出力することがわかる.ここで,%sは文字列,%dは数字,%rは元のデータオブジェクトを表すため,出力時に二重あだ名を付けて元のデータオブジェクトであることを示す.
特に注意:二重引用符の%で表される記号の数は、%()のデータの数と同じでなければなりません.そうしないと、プログラムがエラーになります.
format()新しいフォーマットは関数形式でフォーマットされ、代わりに%パーセントフォーマットされた インデックスパラメータを使用してフォーマットされます. は、名前付きパラメータを使用してフォーマットされます. は、辞書dictを使用してフォーマットされます.
format()はPythonの最新の文字列フォーマット関数です.そのフォーマットは「{}.format()」であり、{}は後ろの括弧内のデータに対応している.
format関数は「{}」を用いてビットを占め,「{}」のある場所ではformat内のパラメータを用いることができる.
結果:
format()は%と同じ機能を実現できることがわかる.さらにformat()は、インデックス、ネーミングパラメータ、dict方式で文字をフォーマットできます.ただし、「**」は解包を表す
結果:
f-stringフォーマット
書式:f"{}".{}では、渡す必要があるパラメータ値です.
結果:
f-stringフォーマットは、主にユーザが入力したデータのセキュリティを検出するために使用される.
付加:r""""""""""""は改行入力を実現し、その中のエスケープ文字も機能せず、普通の文字出力に相当する.
結果:
inとnot in
in文字が文字列に属するかどうかを検出し、文字列にTrueが返された場合、Falseが返されます.not inは、文字列にTrueが返されない場合に逆効果です.
結果:
エスケープ文字(t,,,r")
エスケープ文字は、特殊な意味を持つ文字シリーズです.改行を表す場合、tはタブを表し、はスラッシュを表します.引用符にエスケープ文字がある場合、一般的には特殊文字として扱われ、r""は普通文字と見なすことができる.
結果:
一般的なエスケープ文字:
例:
結果:
noneタイプ
noenは空の値を表し、何もありません.一般的には、関数で返すために使用されます.関数にreturnがない場合はデフォルトでreturn noneになります.
可変オブジェクト
デジタルNumber
#
a = 123
print(a)
結果:
123
int整数
int()メソッドは、文字列タイプデータを数値タイプに変換できます.Input()ユーザが入力した値の変換がよく用いられる.
# int()
bNum = input(" :")
print(" :", type(bNum))
print(" :", int(bNum))
print(" :", type(int(bNum)))
結果:
:10
:
: 10
:
浮動小数点数float
#
b = 3.141592
print(b)
#
b = 3.14e2
print(b)
# 1 , 0
c = .7
print(c)
結果:
3.141592
314.0
0.7
float()メソッド
数値タイプを文字列タイプに変換します.
#
cFlo = 123
print(float(cFlo))
print(type(float(cFlo)))
結果:
123.0
ブール値
#
a = 1 + True
print(a)
print(True)
#
b = 1 + False
print(b)
# True
if -1:
print("-1 True")
else:
print("-1 False")
結果:
2
True
1
-1 True
注:Pythonでは、0以外の数字はTrueとして扱われます.
文字列タイプStr
#
str1 = 'Tom'
print(str1)
#
str2 = "Bob"
print(str2)
#
str3 = """
I am
Jon
I love my home!
"""
print(str3)
結果:
Tom
Bob
I am
Jon
I love my home!
注意:単一引用符と二重引用符は同じ意味で、単行文字列を表し、三重引用符は複数行文字列を表します.
文字列で一般的なメソッドとプロパティ
遍歴とアクセス
文字列の各文字はfor......in......ループで巡回できます.str[start:end:step]メソッドで文字列にアクセスして変更します.
#
str1 = "hello world!"
for i in str1:
print(i)
#
str2 = "I love python!"
print(str2[2 : 6])
結果:
h
e
l
l
o
w
o
r
l
d
!
love
スライス操作
スライスはPythonで最も一般的な操作方法で、1つのオブジェクトから一部の値を抽出することを意味します.スライスとは?文字列のサブストリングを抽出して返します.一般的なスライス操作「[start:end:step]」.
start,end,stepの正負はスライスの方向に影響する.
以下、スライスstr 1="I am Tom,I love Python!"例として,スライスに関する操作を詳細に述べる.
個々の文字を切り取る
#
str1 = "I am Tom, I love Python!"
#
print(str1[0]) #
print(str1[-1])#
結果:
I
!
I am Tom, I love Python!
I am Tom, I love Python!
!nohtyP evol I ,moT ma I
startが負数の場合,文字列の末尾から前方にスライスすることを示す.
完全な文字列の切り取り
#
print(str1[ : ]) #
print(str1[ : : ]) #
print(str1[ : : -1]) #
結果:
I am Tom, I love Python!
I am Tom, I love Python!
!nohtyP evol I ,moT ma I
startとendがともに正(+)の場合
# start end - 1
print(str1[1 : 7]) # 1 6
#
print(str1[3 : 4])
# start end
print(str1[7 : 3]) #
#step
print(str1[2 : : -1]) #
結果:
am To
m
a I
startとendがともに負(-)の場合
# ,
print(str1[-8 : -1])
# -7
print(str1[ : -7 : -1])
# ,start = -2 end=-7 , ,
print(str1[-2 : -7])
#
print(str1[-5 : -11 : -1])
#
print(str1[-8 : ]) # -8
#
print(str1[ : -8]) # -8
結果:
Python
!nohty
tyP ev
Python!
I am Tom, I love
startとendが正負(+-)を混合した場合
# start=2,step=1, ,end 7
print(str1[2 : -7])
# start=-2, 2 ,step=1, , 5, 。
print(str1[-2 : 5])
結果:
am Tom, I love
一般的な組み込み方法
分割方法str.split(str,num)と"".join(str)
str.split(str 1,num)は、文字列strで指定された文字str 1を分割子(カンマ",")として文字列全体を分割し、listとして出力することを表す.numはnum+1サブ文字列に分割され、numが-1またはタイミングを指さない場合、文字列全体を分割することを表す.
#
str1 = "I am Tom, I love hello world!"
# m ,
print(str1.split("m", 2)) # , ,m “,”
# l , 3
print(str1.split("l", 3)) # l,num 3, 3
#
print(str1.split(" "))
結果:
['I a', ' To', ', I love hello world!']
['I am Tom, I ', 'ove he', '', 'o world!']
['I', 'am', 'Tom,', 'I', 'love', 'hello', 'world!']
"".join(str)は、「」の内容を分割子として、文字列strをすべて分割し、list形式で出力することを表す.上記str 1を例にとると、
#
print(",".join(str1)) # str1 ,
# |
print("|".join(str1)) #
#
print("l".join(str1))
結果:
I, ,a,m, ,T,o,m,,, ,I, ,l,o,v,e, ,h,e,l,l,o, ,w,o,r,l,d,!
I| |a|m| |T|o|m|,| |I| |l|o|v|e| |h|e|l|l|o| |w|o|r|l|d|!
Il lalml lTlolml,l lIl lllolvlel lhlelllllol lwlolrllldl!
str.split(str 1)と「」、join(str)の違い:
str.replace(oldStr,newStr,num)置換方法
str.replace(oldStr,newStr,num)はstr中のoldStr文字列をnewStr文字列で置換することを表し、numは置換回数を表し、結局重複する文字が現れる.
#
str2 = "Hello worlD!"
# g l
print(str2.replace("l", "g", 2)) # 2
print(str2.replace("l", "w", -1)) #num -1 ,
結果:
Heggo worlD!
Hewwo worwD!
その他の一般的な組み込み方法
#
print(str2.lower())
#
print(str2.upper())
# ,
print(str2.swapcase())
#
print(str2.title()) # ,
# ,
print(len(str2))
#
print(max(str2))
#
print(min(str2)) #
# l
print(str2.count("l"))
結果:
hello world!
HELLO WORLD!
hELLO WORLd!
Hello World!
12
w
3
del str削除文字列
#
del str2 # ,
削除した変数に再アクセスすると、メモリにこの変数がないことを示すエラーが表示されます.
文字列のフォーマット(%、format()、f-string)
フォーマット:あるデータ型を別のタイプに変換します.≪アクション|Action|emdw≫:ユーザーが入力したデータのセキュリティを検出できます.
%()旧式フォーマット
テキスト内または出力が必要な場所で%(s,d,r)を用いて変換が必要なタイプを表し,その後%(str 1[num[list]])に続く.などのデータを出力します.
# %()
str3 = "Tom"
age = 25
print("I am %s, I %d years old today, I vervy love %r!" %(str3, age, "Python"))
結果:
I am Tom, I 25 years old today, I vervy love 'Python'!
入力するデータ型を%s,%d,%rでそれぞれ表し,%()の中のものをタイプ別に置き換えて出力することがわかる.ここで,%sは文字列,%dは数字,%rは元のデータオブジェクトを表すため,出力時に二重あだ名を付けて元のデータオブジェクトであることを示す.
特に注意:二重引用符の%で表される記号の数は、%()のデータの数と同じでなければなりません.そうしないと、プログラムがエラーになります.
format()新しいフォーマット
format()はPythonの最新の文字列フォーマット関数です.そのフォーマットは「{}.format()」であり、{}は後ろの括弧内のデータに対応している.
format関数は「{}」を用いてビットを占め,「{}」のある場所ではformat内のパラメータを用いることができる.
# format()
print("I am {}, I {} years old today, I vervy love {}!".format(str3, age, "Python")) #{} () 。
# {}
print("I am {1}, I {2} years old today, I vervy love {0}!".format("Python", age, str3))
#
s = " {name}, {age} , {Object}!"
print(s.format(name = "Tom", age = 25, Object = "Python"))
# dict
dict_s = {"name" : "Tom", "age" : 25, "Object" : "Python"} # age
s = s.format(**dict_s) # ** 。
print(s)
結果:
I am Tom, I 25 years old today, I vervy love Python!
I am 25, I Tom years old today, I vervy love Python!
Tom, 25 , Python!
Tom, 25 , Python!
format()は%と同じ機能を実現できることがわかる.さらにformat()は、インデックス、ネーミングパラメータ、dict方式で文字をフォーマットできます.ただし、「**」は解包を表す
# format ,
s = "{}{}{}{}{}{}!"
print(s.format("hello ", "world", ",", "I ", "love ", "Python"))
結果:
hello world,I love Python!
f-stringフォーマット
書式:f"{}".{}では、渡す必要があるパラメータ値です.
#f-string
obj = "Python"
print(f"I am {str3}, I {age} years old, I vervy love {obj}!")
結果:
I am Tom, I 25 years old, I vervy love Python!
f-stringフォーマットは、主にユーザが入力したデータのセキュリティを検出するために使用される.
付加:r""""""""""""は改行入力を実現し、その中のエスケープ文字も機能せず、普通の文字出力に相当する.
#
print(r"""I am Tom, I
25 years old
""") # , 。
結果:
I am Tom, I
25 years old
inとnot in
in文字が文字列に属するかどうかを検出し、文字列にTrueが返された場合、Falseが返されます.not inは、文字列にTrueが返されない場合に逆効果です.
# in、not in
str4 = "hello python!"
print("h" in str4)
print("w" in str4)
print("w" not in str4)
print("l" not in str4)
結果:
True
False
True
False
エスケープ文字(t,,,r")
エスケープ文字は、特殊な意味を持つ文字シリーズです.改行を表す場合、tはタブを表し、はスラッシュを表します.引用符にエスケープ文字がある場合、一般的には特殊文字として扱われ、r""は普通文字と見なすことができる.
#
print(r"
\t\\")
結果:
\t\\
一般的なエスケープ文字:
\: ,
:
\r:
\t:
\000:
\':
\"":
\\:
例:
#
print("I love Python!")
#
print("I love
Python!")
print(r"I love \\ Python!")
# ,
print("I love \
Python!")
結果:
I love Python!
I love
Python!
I love \\ Python!
I love Python!
noneタイプ
noenは空の値を表し、何もありません.一般的には、関数で返すために使用されます.関数にreturnがない場合はデフォルトでreturn noneになります.
#
def a():
return none