變數
基本概念:
1、 變數,名字,資料的唯一標識
2、變數命名:
- 字母、數字、下劃線;
- 不能以數字開頭;
- 區分大小寫;
- 不能使用保留字和關鍵字;
- 命名要有意義;(多個單詞時,推薦使用下劃線連線)
3、變數本身沒有型別,也沒有型別限制,資料型別是根據賦值的型別
加深對變數的認識:
a = 1
b = a
a = 2
print(a) 結果:2
print(b) 結果: 1
分析:
a = [1, 2, 3]
b = a
a[0] = ‘1’
print(a) 結果: [‘1’, 2, 3]
print(b) 結果: [‘1’, 2, 3]
分析:
變數兩個維度:
- 值型別 不可變 int 、string、tuple
- 引用型別 可變 list、set、dict
舉慄
舉栗子前,先介紹一個Python內建函式
id()
,用於獲取記憶體儲存資料的地址。
# 栗子1
print(id('hello')) // 結果:4364624200
a = 'hello'
b = 'hello'
print(id(a)) // 結果: 4364624200
print(id(b)) // 結果: 4364624200
a = a + 'world'
print(id(a)) // 結果:4364610096
# 栗子2
'Python'[0]
'Python'[0] = 'p'
// 結果就會報以下錯誤了
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
通過兩個栗子,從而證明值型別的不可變,變數重新的賦值只是指向了一個新的地址。
不可變的元組與可變的列表
a = [1, 2, 3]
id(a) // 結果: 4636166088 記憶體地址(轉換為16進位制,比較合適)
a.append(4) // 末尾追加一個數值,使用點運算子的鏈式方式
id(a) // 結果:4636166088
得出結論:改變內部的值並不會改變儲存在記憶體的地址
b = (1, 2, 3)
元組定義好後是不可改變的,也沒有上面列表的追加引數的函式方法;在程式上能用元組解決問題的儘量使用元組,少使用列表,團隊合作開發互相呼叫下避免修改。
多維元組,列表
a = (1, 2, 3, (1, 2, 3))
訪問: a[3][2]
b = (1, 2, 3, [1, 2, 3])
b[3][1] = '1'
print(b) // 結果:(1, 2, 3, [1, '1', 3])
修改元組裡的列表裡的值是可以,因為修改的是列表
運算子
運算子這裡就把畫的一個思維導圖放上,只要知道有幾種運算子種類和每個種類運算子可以幹嘛就行了,具體到各個符號用的時候看看思維導圖 就好~
本人剛剛開始學習Python,以上都是自己學習Python時的一些認知,有什麼不對的地方歡迎大家的指正,因為有了你們的指正;我才能更快的成長。
本作品採用《CC 協議》,轉載必須註明作者和本文連結