変数と型

すべてのプログラムは何かを覚えておく必要があります。クイズはプレイヤーの名前が必要です。ゲームは現在のスコアが必要です。天気スクリプトはチェックしている都市が必要です。Pythonはこのために変数を使用します。値に付けた名前で、プログラム全体で使用できます。
player_name = "太郎"
score = 0
city = "東京"3行、Pythonが覚えておく3つのもの。それぞれについて、Pythonはまず右側の値を処理し、左側の名前で格納します。後でその名前を使用すると、Pythonは値を返します。
値の格納
=記号は数学のクラスから来た人をほぼ誰もが混同します。Pythonでは、=は「等しい」を意味しません。それは**この値をこの名前で格納する**ことを意味します:
city = "東京"cityは"東京"を取得します。Pythonに言っています:"東京"を覚えていて、それにcityというラベルを付けてください。
変数の値をいつでも置き換えることができます。Pythonは最新のものを使用します:
score = 0
score = 10 # scoreは今10です
score = 15 # scoreは今15です=は数学クラスの「等しい」ではなく、「この値をこの名前で隠す」です。いつでも変更できて、Pythonは最新のものを保持します。宣言なし、セットアップなし、あなたがそれに名前を付けて、それが存在します。これを過度に考えるのをやめるのに長すぎました。 変数に名前をつける
名前を選択します。Pythonにはいくつかのハードルールがあり、コミュニティは初日から採用する価値のある慣例に従います。明確な名前はコードを数週間後に読みやすくしたいです。謎めいた名前は痛みを引き起こします。
Pythonが強制するルール:
- 文字、数字、アンダースコアのみ。スペースやハイフンなし。
- 文字またはアンダースコアで開始する必要があり、決して数字ではありません
- 大文字小文字を区別します:
score、Score、SCOREは3つの別個の変数です
誰もが従う慣例(PEP 8):
| もの | スタイル | 例 |
|---|---|---|
| 変数と関数 | snake_case | user_name、total_price |
| 定数 | UPPER_SNAKE_CASE | MAX_RETRIES、BASE_URL |
| クラス | PascalCase | UserAccount、DataLoader |
# 明確な名前、一目瞭然
user_name = "太郎"
total_price = 49.99
is_logged_in = True
MAX_RETRIES = 3
# 1時間以内に後悔するでしょう
x = "太郎"
tp = 49.99
b = True早期に知る価値のある1つのトラップ:list、input、type、printなどのPython組み込み後の変数に名前を付けないでください。Pythonはそれを許可しますが、スコープの残りの組み込みを静かに壊し、結果のエラーは追跡しにくいです。
snake_caseに固執すれば、あなたは黄金です。私の1つのルーキーの間違い:変数をlistまたはprintと呼ばないでください。Pythonはそれを許可し、後で警告なしにすべてが奇妙になります。 あなたが格納できるもの
Pythonには、ほぼすべてのプログラムで使用する4つの型があります。Pythonは、値の書き方からどの型を意味するかを理解します。明確に型を宣言することはありません。
テキスト(str)
任意のテキストは引用符(一重または二重)の中に入ります。引用符はPythonに、変数名ではなく文字通りの文字を意味することを伝えます。作成されたら、文字列はその場で変更することはできません。文字列章は、文字列でできることすべてをカバーしています。
player_name = "太郎"
city = "東京"
message = 'ゲームオーバー'テキストに使用符号が含まれている場合は、二重引用符を使用してそれをエスケープする必要がありません:
note = "It's a great day"
note = 'It\'s a great day' # 同じ結果、エスケープを使用して整数(int)
整数は引用符なしで小数点なしで進みます。Pythonは彼らを整数と呼んでいます。それらは必要なだけ大きくすることができます;Pythonは特別な努力なしに任意に大きな数を処理します。
score = 0
age = 28
population = 8_100_000_000 # アンダースコアは読みやすさのためだけです8_100_000_000のアンダースコアはそれを読むことができるようにそこにあります。 小数点(float)
小数点を持つ任意の数はfloatです。ほとんどの計算のために期待通りに機能します。1つのこと:いくつかの小数値はバイナリに正確に格納することはできないため、小さな丸め誤差を取得できます:
price = 4.99
temperature = 36.6
0.1 + 0.2 # 0.30000000000000004日常の仕事では、これはめったに重要ではありません。セント分数が数える金銭計算では、Pythonにはdecimalモジュールがあり、それを正しく処理します。これは数字章でカバーされています。
0.1 + 0.2は0.30000000000000004を与えます。バグではなく、それはバイナリです。お金のために、decimal.Decimalに到達します。 真または偽(bool)
いくつかのことはオンまたはオフです。Pythonはこれにブール値を使用します。正確に2つの値、TrueとFalse。この段階では小さいかもしれませんが、プログラム内のすべての条件と分岐はブール値で実行されます。
is_logged_in = True
has_errors = FalsePythonはまた、条件で使用されるときに、特定の値をFalseであるかのように扱います:0、0.0、""、およびNone(Pythonの「ここに価値はありません」)はすべてFalseのように動作します。それ以外のすべてがTrueのように動作します。これは制御フロー章で役立つようになります。
TrueとFalse、そしてそれらはあなたが書くすべてのifの背後にあります。楽しい部分:0、""、[]とNoneはすべてFalse、残りはすべてTrueを数えます。 型のチェックと変換
値の型が確実でない場合、type()がそれを伝えます。値が特定の型かどうかをチェックするために、isinstance()がより信頼できるツールです:
print(type("hello")) # <class 'str'>
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type(True)) # <class 'bool'>
isinstance(42, int) # True
isinstance("hi", str) # TruePythonは型を自動的に混合しません。文字列と数値の連結はTypeErrorを発生させます:
score = 42
print("Your score is " + score) # TypeError
print("Your score is " + str(score)) # works型名を関数として使用して明示的に変換します:
| 呼び出し | 結果 |
|---|---|
str(42) | "42" |
int(3.9) | 3(丸めず、切り詰めます) |
float("3.14") | 3.14 |
int("3.14") | ValueError:小数点文字列をintに直接変換することはできません |
int(float("3.14")) | 3(最初にfloatに変換し、次にint) |
bool(0) / bool("") | False |
type()は何かを伝え、isinstance()は与えられた型かどうかをチェックします。そしてPythonは文字列と数値を接着しません。`str()`または`int()`で最初に変換してください。誰もが一度それを尻に落とします。 実装で
小さなスクリプトで一緒に働く4つの型。出力行はf-stringsを使用してテキストに値を埋め込みます。開いている引用符の前にfを入れて、変数を{}で包みます。Pythonはそれを変数の実際の値に置き換えます。あなたはそれらを次の章で適切に学びます。
player_name = "太郎"
level = 3
accuracy = 0.94
is_premium = True
print(f"{player_name} is on level {level} with {accuracy:.0%} accuracy.")
print(f"Premium account: {is_premium}")型は重要です。level + 1が機能し、player_name + 1は機能しないため。各変数は正確に1種類のことを保持します;Pythonはそれらをあなたのために静かに混合しません。

