賦值語句、表達式語句、打印
## 賦值語句
> 賦值語句建立對象引用值
> 變量在首次賦值時會被創建
> 變量名引用前必須先賦值
## 賦值語句形式
### 元組和列表分解賦值運算
```python
[spam, ham] = ['yum', 'YUM']
spam, ham = 'yum', 'YUM'
a, b, c, d = 'spam'
(a, b), c = 'SP', 'AM'
```
### 擴展序列解包運算
```python
*a, b = 'spam' ==> a = 'spa', b = 'm'
a, *b = 'spam' ==> a = 's', b = 'pam'
a, *b, c = 'spam' ==> a = 's', b = 'pa', c = 'm'
```
### 多重賦值運算
```python
spam = ham= 'lunch'
```
### 增強賦值運算

## 變量命名規則
* 變量名可以使用數字字母下劃線,變量名開頭不能以數字開頭
* 區分大小寫
* 禁止使用保留字
* 常量一般使用大寫字母表示, 如PIE
### python3 保留字
```
False class finally is return
None connitue for lambda try
True def from nolocal while
and del global not with
as elif if or yield
assert else import pass break
except in raise
```
### 命名慣例
* 以單一下劃線開頭的變量名 (\_x),不會被`from module import` \* 語句導入;
單個下劃線是一個Python命名約定,表示這個名稱是供內部使用的。 它通常不由Python解釋器強制執行,**僅僅作為一種對程序員的提示**。
* 單末尾下劃線 var_,用來避免與Python關鍵字產生命名沖突。
* 前后有下劃線的變量名 (\_\_x\_\_),是系統定義的變量名,對解釋器有特殊意義,比如__name__, \_\_doc__;
* 以兩個下劃線開頭,兩個下劃線開頭的變量名 (\_\_x)是類的**本地變量**;
雙下劃線前綴會導致Python解釋器重寫屬性名稱,以避免子類中的命名沖突。
重寫格式:`_ClassName__method() _ClassName__var`
* 通過交互模式運行,單個下劃線的變量名 (\_)會保存最后表達式的結果。
### 變量名沒有類型,變量(對象)才有
```
x = 0 ,x是整型
x = 'hello',x變成字符型
```
## 引用計數器
對象的頭部信息:類型標識符來標記對象類型,引用計數器用來決定是否可以回收。
### 增加對象引用計數的場景
* 對象創建時
* 對象被添加進容器時
* 對象被當作參數傳遞給函數
* 為對象創建另外的變量名
### 減少引用計數場景
* 引用對象的變量名被顯式銷毀:del x
* 從容器中移除對象和容器本身被銷毀
* 給引用此對象的變量名重新賦值
- 前言
- 環境搭建
- pypi
- 打包
- Python 2 和 Python 3 的版本之間差別
- 項目
- 第一部分
- 第1章 基礎
- Python安裝
- python代碼文件類型
- python對象
- 核心數據類型
- 核心數據類型--整型和浮點型
- 核心數據類型--字符串
- str.format
- 核心數據類型--列表
- 核心數據類型--元組
- 核心數據類型--字典
- 核心數據類型--集合
- 核心數據類型--文件對象
- 調用bash
- 標準輸入輸出
- str-repr
- 字符編碼
- 迭代器和生成器
- 第2章 語句和語法
- 賦值語句
- if語句
- while語句
- for語句
- assert
- 第3章 函數
- 函數作用域
- 工廠函數
- 內置函數
- 遞歸
- 嵌套作用域和lambda
- 參數傳遞
- 函數式編程
- property可寫與可讀
- 第5章 模塊
- 模塊導入
- 模塊命名空間
- 相對導入和絕對導入
- 模塊重載
- 在模塊中隱藏數據
- 過渡性重載
- 第6章 類
- 面向對象還是面向過程?
- 構造函數 析構函數
- call
- 運算符重載
- str()
- 待定
- 即時生成屬性
- 多態
- 線程和進程
- thread模塊
- threading模塊
- threading線程鎖
- 糖果機
- multiprocessing
- 阻塞非阻塞同步異步
- 單線程和多線程對比
- 生產者消費者模型
- 第二部分
- 獲取系統資源信息
- 獲取進程所占的物理內存
- dmidecode獲取系統信息
- 網絡編程
- 網絡基礎
- python中的套接字
- socket模塊
- 第三部分 高級功能
- 閉包入門
- 閉包的應用
- 裝飾器入門
- 裝飾器應用
- 第四部分 項目實戰
- graphite
- 模塊
- collections
- datetime
- Enum
- faker
- fabric
- fileinput
- fire
- fnmatch
- getpass
- glob
- hashlib
- heapq
- json模塊
- log
- os
- Paramiko
- parser
- platform
- pyyaml
- Queue
- random
- re
- 特殊符號和字符
- re模塊
- shelves
- subprocess
- time
- urllib_urllib2_requests
- urllib urllib2
- requests
- 標準模塊ConfigParser
- 擴展模塊Mysqldb
- 擴展模塊dns
- 擴展模塊request
- uuid
- cacheout 緩存庫
- delorean 時間
- 附錄
- 內置函數
- python實現各種排序算法
- 常見報錯
- pymongo
- pyrocksdb
- 常用
- ERROR