Python変数は何のオブジェクトですか.


前の投稿で<質問2.>解読では、以下のコードが書かれています.
age = int(input())
balance = 9000
if age>=7 and age<=12:
    balance = balance - 650
elif age>=13 and age<=18:
    balance = balance - 1050
elif age>=19:
    balance = balance - 1250
print(balance)
ここで気になるのは
a = 1300
b = 1300
c = a
  • これらはすべて同じ人ですか?
  • a = 1300
    b = 1300
    c = a
    a = a-200
  • ここではa=1300のaと
    a=a-200中左航のaは同じ人ですか
    もしaが同じ奴だったらc値は変わるのか
  • 私はもう好奇心に耐えられない.
    例を挙げる
    通帳の残高が1000万あるのを試してみてください.
    そしてこの通帳には300万ウォンの給料が入っています.
    固定支出は100万ウォンを失う.
    コードで検索すると.
    Jan_account_balance = 10000000
    salary = 3000000
    expenditure = 1000000
    Feb_account_balance = Jan_account_balance + salary - expenditure
    Mar_account_balance = Feb_account_balance + salary - expenditure
    .
    .
    .
    まずJan account balance、給与、支出、Feb account balanceなどは変数です
    そして宇宙飛行の価値は客体です.
    重要なのは、変数が指す値が何であるかをより容易に知るために変数を作成することです.
    では、上のコードを持ってきてください.
    a = 1300
    b = 1300
    c = a
    このコードでは、aは変数であり、1300はオブジェクトである.
    では、これらはどこに保管されていますか?
    記憶という言葉を何度も聞いたことがありますか?
    実際,変数バインドのオブジェクト値はメモリに格納され,下位通帳残高計算を行う右項もメモリに演算される.
    しかし、オブジェクトがメモリに格納されている場合、勝手に物を捨てるように私たちの引き出しに格納されますか?
    オブジェクトがこのメモリに格納されると、特定のidアドレスが表示されます.
    a = 1370
    b = 1370
    c = int(a)
    a = a-100
    
    print(a)
    print(b)
    print(c)
    
    print(id(a))
    print(id(b))
    print(id(c))
    
    if a==c:
        print('참')
    else:
        print('거짓')
    出力値
    a>> 1270
    b>> 1370
    c>> 1370
    id(a)>> 140214946784688
    id(b)>> 140214946784528
    id(c)>> 140214946784528
    a==c>>偽
    しゅつりょく
    a=a-100がなければ
    a>> 1370
    b>> 1370
    c>> 1370
    id(a)>> 140214946784528
    id(b)>> 140214946784528
    id(c)>> 140214946784528
    a==c>>本当に
    このように出力します.
    すなわち、変数a,b,cが同じオブジェクト値にバインドされている場合は、下図のようになります.

    a=a-100を追加すると、aが示すオブジェクト値が変更されます.

    上述したように、aはb、cおよび他のオブジェクトをバインドする.
    これは、メモリに割り当てられた1370という値です.
    a = 1370 , b = 1370
    この2つの変数が存在するため、メモリ内部に1370を別のアドレスに割り当てるメモリ使用は効率的ではないため、それぞれを効率的に使用するために、同じアドレスのidがバインドされる.
    実際には、すべての場合、オブジェクトをメモリに1回だけ配置し、同じメモリで同じオブジェクトの値を指すすべての変数を管理するわけではありません.
    本ではint値-255-256が同一ID内にある.
    以上の値またはそれ以下の値では、同じ300値を指しても異なるidアドレスがバインドされ、pychamでコードを実行すると、数値が100000を超えても同じメモリで管理されます.
    これからは関連内容の知識が増えます.
    異常終了