本文主要講解 Python 開(kāi)發(fā)中常用到的基本語(yǔ)法知識(shí)點(diǎn),算是高頻的基礎(chǔ)知識(shí)點(diǎn),以熟悉知識(shí)點(diǎn)為主。
一、編碼格式設(shè)置
- -*- coding: utf-8 -*- # 指定編碼格式為 UTF-8
- -*- coding: GB2312 -*- # 指定編碼格式為 GB2312
二、常用轉(zhuǎn)義字符
- \n 換行符
- \t 制表符(Tab)
- \r 回車(chē)(Enter)
- \\ "\"字符
- \' 單引號(hào) '
- \" 雙引號(hào) "
三、運(yùn)算符(非常規(guī))
- ** 乘方運(yùn)算符
- // 取整運(yùn)算符
- and 與
- or 或
- not 非
- in 包含,同一性運(yùn)算符,判斷的是對(duì)象間的唯一身份標(biāo)識(shí)符,也就是 id 相同(相同字符串 哈希值可能相同但 id 不同)
- not in 不包含
- is 身份運(yùn)算符,判斷兩個(gè)標(biāo)示符是不是引用自同一個(gè)對(duì)象
- is not 身份運(yùn)算符,判斷連個(gè)標(biāo)示符是不是應(yīng)用自不同對(duì)象
四、常用常量
- import 導(dǎo)入模塊
- from … import 導(dǎo)入模塊分支
- global 函數(shù)(方法)內(nèi)使用,提升變量為全局變量
- None 沒(méi)有值的對(duì)象,無(wú)
- True 真
- False 假
- "" 空字符串
- () 空元組
- [] 空列表
- {} 空字典
五、運(yùn)算符優(yōu)先級(jí)
- ** 指數(shù) (最高優(yōu)先級(jí))
- ~ + - 按位翻轉(zhuǎn), 一元加號(hào)和減號(hào) (最后兩個(gè)的方法名為 +@ 和 -@)
- * / % // 乘,除,取模和取整除
- + - 加法減法
- >> << 右移,左移運(yùn)算符
- & 位 'AND'
- ^ | 位運(yùn)算符
- <= < > >= 比較運(yùn)算符
- <> == != 等于運(yùn)算符
- = %= /= //= -= += *= **= 賦值運(yùn)算符
- is is not 身份運(yùn)算符
- in not in 成員運(yùn)算符
- not or and 邏輯運(yùn)算符
六、數(shù)據(jù)分類(lèi)
- 標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型 Number(數(shù)字)、String(字符串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionary(字典)
- 不可變數(shù)據(jù) Number (數(shù)字)、String(字符串)、Tuple(元組)
- 可變數(shù)據(jù) List(列表)、Sets(集合)、Dictionary(字典)
- Number(數(shù)字) int、float、bool、complex(復(fù)數(shù))
七、迭代器 & 生成器
- 迭代器 迭代器是一個(gè)可以記住遍歷的位置的對(duì)象。訪問(wèn)集合元素的一種方式
基本方法:iter() 和 next()
- 生成器 使用了 yield 的函數(shù)被稱(chēng)之為生成器,生成器是一個(gè)返回迭代器的函數(shù),只能用于迭代操作。
在調(diào)用生成器運(yùn)行的過(guò)程中,每次遇到 yield 時(shí),函數(shù)會(huì)暫停并保存當(dāng)前所有的運(yùn)行信息,返回 yield 的值,并在下一次執(zhí)行 next() 方法時(shí)從當(dāng)前位置繼續(xù)運(yùn)行
八、匿名函數(shù)
- Python 使用 lambda 來(lái)創(chuàng)建匿名函數(shù)。
- lambda 只是一個(gè)表達(dá)式,不能訪問(wèn)自己參數(shù)列表之外或全局命名空間里的參數(shù)
語(yǔ)法:lambda[ arg1[ , arg2 [ , arg3…]]] :expression;
九、集合
- 一個(gè)無(wú)序不重復(fù)元素的集,用{}表示,創(chuàng)建空集合必須使用 set() 而不是 {} ,后者默認(rèn)表示一個(gè)空字典
十、作用域
- 內(nèi)部函數(shù),不修改全局變量可以訪問(wèn)全局變量
- 內(nèi)部函數(shù),修改同名全局變量,則python會(huì)認(rèn)為它是一個(gè)局部變量
- 在內(nèi)部函數(shù)修改同名全局變量之前調(diào)用變量名稱(chēng)(如print sum),則引發(fā)Unbound-LocalError
十一、模塊
- 把這些定義存放在文件中,為一些腳本或者交互式的解釋器實(shí)例使用,這個(gè)文件被稱(chēng)為模塊。
- 模塊是一個(gè)包含所有你定義的函數(shù)和變量的文件,其后綴名是.py。模塊可以被別的程序引入,
- 以使用該模塊中的函數(shù)等功能。這也是使用 python 標(biāo)準(zhǔn)庫(kù)的方法。