每天進步一點點~
第一節:基本文法
(1)print()函數
1)多個字元串輸出,str()将其他字元型轉為字元串,用拼接符号+連接配接。
2)字元串通常可以用無引号、單引号、雙引号、三引号,這三種方式來表示。
如:
print('123')
print("Let's go!")
print('''123
456''')
雙引号通常在輸出的字元串有單引号時候用,三引号可作為換行符用。其次,三引号也可以在字元串中需要同時出現單引号、雙引号當作字元串的情況使用。
(2)轉義字元:
轉義字元 | 意義 | ASCII碼值(十進制) |
\a | 響鈴(BEL) | 007 |
\b | 倒退(BS) ,将目前位置移到前一列 | 008 |
\f | 換頁(FF),将目前位置移到下頁開頭 | 012 |
\n | 換行(LF) ,将目前位置移到下一行開頭 | 010 |
\r | 回車(CR) ,将目前位置移到本行開頭 | 013 |
\t | 水準制表(HT) (跳到下一個TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一個反斜線字元''\' | 092 |
\' | 代表一個單引号(撇号)字元 | 039 |
\" | 代表一個雙引号字元 | 034 |
\? | 代表一個問号 | 063 |
\0 | 空字元(NUL) | 000 |
\ddd | 1到3位八進制數所代表的任意字元 | 三位八進制 |
\xhh | 十六進制所代表的任意字元 | 十六進制 |
注意:
1. 區分,斜杠:"/" 與 反斜杠:"\" ,此處不可互換
2. \xhh 十六進制轉義不限制字元個數 '\x000000000000F' == '\xF'
(3)變量指派:
- 命名規範:
- 隻能是一個詞;
- 隻能包含字母、數字和下劃線;
- 不能以數字開頭;
- 盡量描述包含的資料内容;
- 不要使用Python函數名或關鍵字。
(4)常見錯誤:
- SyntaxError: unexpected EOF whileparsing
- #文法錯誤,多了無法解析的符号,檢查一下是否多了或者少了括号
- SyntaxError: invalid character inidentifier
- #文法錯誤有無效辨別符,檢查一下中文符号
- IndexError: list index out of range
- #索引錯誤,超出索引範圍,檢查一下清單是否為空
- TypeError: must be str, not int
- #資料類型錯誤,該資料不是正确的資料類型,比如字元串和數字直接拼接,檢查一下資料類型
- IndentationError: expected an indented block
- #縮進錯誤,檢查一下代碼的縮進是否正确
- KeyError: 'fond'
- #鍵錯誤,字典中沒有該的key對應的值,檢查一下鍵名或者字典資料是否正确
- ValueError: substring not found
- #值錯誤,輸入的資料類型跟要求的不符合
- NameError: name 'a' is not defined
- #未初始化對象,變量沒有被定義
- AttributeError: 'tuple' object has noattribute 'remove'
- #屬性錯誤,該對象沒有這個屬性、方法,檢查一下資料類型
- SystemExit
- #解釋器請求退出,出現在exit()函數後
- IOError
- #輸入/輸出操作失敗
- ImportError
- #導入子產品/對象失敗,檢查一下子產品是否能夠正常使用
- UnicodeDecodeError/UnicodeEncodeError/UnicodeTranslateError
- #Unicode 解碼/編碼/轉換/時的錯誤
(5)算術運算符(從左到右,括号裡優先,乘除排在加減前)
- 除了常見的,還有
- % 取模,傳回除法的餘數
- // 取整除,傳回商的整數部分
- x**y 求幂,傳回x的y次幂
- 二進制操作符:增強指派操操符
- 運算結果是變寬的,如整數與浮點運算結果為浮點
- abs()取絕對值
- divmod(x,y)商餘,同時輸出商和餘數,divmod(10,3)---(3,1)
- pow(x,y[,z])幂餘,[..]表示該函數可省略,pow(3,pow(3,99),10000)結果為4587
- round(x[,d])四舍五入,d是保留小數位數,預設為0
- max(s,y,x)取最大值
- min(x,y,z)取最小值
- complex(x)将x變為複數,增加虛數部分,complex(4)---4+0j
(6)函數轉換
1)Int()
對于int()函數的使用,大家要注意一點:隻有符合整數規範的字元串類資料,
才能被int()強制轉換。最後,小數形式的字元串,由于Python的文法規則,
也不能使用int()函數強制轉換。
int()函數的本質是将資料轉換為整數。是以對于浮點數,int()函數會做取整處理。但是,同我們平時對小數四舍五入的處理方法不同,int()函數會直接抹零,直接輸出整數部分。print(int(3.8))=3
(7)條件判斷
if....elif....else
(8)input函數
傳回類型,必為字元串。
(9)python保留字
and | as | assert | break | class | continue |
def | del | elif | else | except | finally |
for | from | False | global | if | import |
in | is | lambda | nonlocal | not | None |
or | pass | raise | return | try | True |
while | with | yield |
保留字說明
and 用于表達式運算,邏輯與操作as用于類型轉換assert斷言,用于判斷變量或條件表達式的值是否為真break中斷循環語句的執行class用于定義類continue繼續執行下一次循環def用于定義函數或方法del删除變量或者序列的值elif條件語句 與if else 結合使用else條件語句 條件語句,與if,elif結合使用。也可以用于異常和循環使用exceptexcept 包括捕獲異常後的操作代碼,與try,finally結合使用exec用于執行python語句for循環語句finally用于異常語句,出現異常後,始終要執行finally包含的代碼塊。與try,except結合使用from用于導入子產品,與import結合使用global定義全局變量if條件語句,與else,elif結合使用import用于導入子產品,與from 結合使用in判斷變量是否存在序列中is判斷變量是否為某個類的執行個體lambda定義匿名函數not用于表達式運算,邏輯非操作or用于表達式運算,邏輯或操作pass空的類,函數,方法的占位符print列印語句raise異常抛出操作return用于從函數傳回計算結果try包含可能會出現異常的語句,與except,finally結合使用while循環語句with簡化Python的語句yield用于從函數依次傳回值
(10)資料類型
1)整數:
- 可以用pow()求指數
- 形式:
- 十進制
- 二進制:以0b、0B開頭
- 八進制:以0o、0O開頭
- 十六進制:0x、0X開頭
2)浮點類型(小數)
取值範圍-10*308~10*309,精度量級10*(-16)次方。(需注意二進制和十進制不是嚴格對等的,其實是無限的一個二級制數。)
round(x,d):對x四舍五入,d是小數截取位數。常用于浮點數間的運算和比較。
使用字母e或者E作為幂的符号,以10為底。如e
---a*10的b次。(11)字元串類型
1)字元串切片
[m:n],m缺失表示取到開頭,n缺失表示取到結尾。
[m:n:k],從m取到n,間隔為k
2)轉義符
轉義字元 | 意義 | ASCII碼值(十進制) |
\a | 響鈴(BEL) | 007 |
\b | 倒退(BS) ,将目前位置移到前一列 | 008 |
\f | 換頁(FF),将目前位置移到下頁開頭 | 012 |
\n | 換行(LF) ,将目前位置移到下一行開頭 | 010 |
\r | 回車(CR) ,将目前位置移到本行開頭 | 013 |
\t | 水準制表(HT) (跳到下一個TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一個反斜線字元''\' | 092 |
\' | 代表一個單引号(撇号)字元 | 039 |
\" | 代表一個雙引号字元 | 034 |
\? | 代表一個問号 | 063 |
\0 | 空字元(NUL) | 000 |
\ddd | 1到3位八進制數所代表的任意字元 | 三位八進制 |
\xhh | 十六進制所代表的任意字元 | 十六進制 |
3)字元串操作符
- x+y連接配接
- n*x或x*n表示複制n次字元串x
- x in s表示如果x是s的子串,傳回true,否則傳回false
- len()傳回字元串長度
- str()轉為字元串
- hex()或oct(),轉為16進制或者8進制
- chr(x)x為unicode編碼,傳回其對應的字元
- ord(x)x為字元,傳回其對應的unicode編碼
- python字元采用unicode編碼(0-1114111)0*10FFFF
- str.lower()或str.upper()傳回字元串的副本,全部字元小寫/大寫
- str.split(sep=None)傳回一個清單,由str根據sep被分割的部分組成
- str.count(sub)傳回字元串sub在str中出現的次數
- str.replace(old,new)傳回字元串str副本,所有old子串被替換為new
- str.center(width,[fillchar])字元串str根據寬度width居中,fillchar可選
- str.strip(chars)從str中去掉在其左側和右側chars中列出的字元
- str.join(iter)在iter的每個元素後加一個str
4)槽
5)format格式控制