A. python 學習筆記-2、變數的id、type、value
Python中基本數據類型分為可變和不可變兩種。
不可變類型包括數字(Number)、字元串(String)和元組(Tuple)。它們的值一旦創建就不可修改。例如,對於數字18,無論創建多少個變數指向它,它們的id都相同,因為它們都指向同一個內存地址。
可變類型包括列表(List)、字典(Dictionary)和集合(Set)。它們的值可以被修改。例如,對於列表['C', 'java', 'Python'],創建多個變數指向它時,它們的id可能不同,因為它們指向不同的內存地址。然而,如果變數之間共享數據,則指向同一塊內存。
當創建新變數時,如`one = ("C", "java", "Python")`,新的變數會分配新的內存地址。而通過賦值`three = one`或淺復制`four = .(one)`創建的變數會指向相同的內存地址。深復制`five = .deep(one)`則會創建新數據,擁有獨立的內存地址。
因此,理解Python中變數的id、type和value有助於掌握數據的存儲和操作方式。不可變類型變數id相同表示它們指向同一內存地址,可變類型則顯示了數據共享和復制的差異。
B. 流暢的python-學習筆記
第二章,序列的分類
在深入學習Python的過程中,了解序列的分類對於編寫高效代碼至關重要。本章將帶你探索序列的兩大分類方法,以及它們之間的繼承關系。
1.1. 分類方法一
序列的分類方法之一在於它們是否可變。可變序列具備添加、刪除元素的能力,而不可變序列則不能。
1.2. 分類方法二
另一種分類方式側重於序列的數據類型,如列表、元組、字元串等。列表是動態的可變序列,元組是靜態的可變序列,字元串則是不可變序列。
可變序列繼承不可變序列的所有方法,但它們還能進行額外的操作,如插入、刪除元素等。
第二章,快速構建序列的方式
構建序列時,Python提供了高效且靈活的工具。列表推導式和生成器表達式是其中兩種快速構建序列的方法,它們簡潔地實現復雜操作。
2.1. 列表推導式
列表推導式是一種生成列表的簡潔方式,可以高效地將條件篩選、循環操作整合在一起。
2.2. 生成器表達式
生成器表達式用於創建生成器對象,它在每次迭代時生成一個值,節省內存資源。生成器表達式的笛卡爾積可以實現多個序列的組合。
第三章,深入探索元組
元組作為序列的一種,具有獨特的優勢和用法。它們不僅用於記錄數據,還支持多種操作。
3.1. 元組的作用
元組非常適合用於記錄相關聯的數據,如坐標點、日期等,因為它們不可變,確保數據的完整性和一致性。
3.2. 列表與元組的比較
元組與列表在功能上相似,但元組在支持不涉及增刪項的列表方法上更加高效。元組的不可變性使得它們成為更安全的選擇。
3.3. 拆包
元組的拆包功能提供了多種用途,包括並行賦值、交換變數值、接收多值函數返回結果等。
1)並行賦值
元組的拆包允許我們一次性給多個變數賦值,簡化代碼。
2)對調兩個變數的值
通過拆包,我們可以輕松交換兩個變數的值,而無需臨時變數。
3)接收函數返回的多個值
當函數返回多個值時,我們可以直接將元組拆包到各個變數,實現簡潔的賦值。
4) *
使用星號可以將元組拆包為變數列表,方便進一步處理。
5)嵌套拆包
復雜的拆包操作可以嵌套進行,實現多層數據的結構化處理。