False | if | break | assert | from | lambda | try |
---|---|---|---|---|---|---|
True | elif | continue | class | global | is | with |
None | else | as | except | import | not | yield |
and | del | return | finally | in | pass | |
or | def | while | for | nonlocal | raise |
Python中
單行注釋用 # 開頭
多行注釋可用多個#或者用 ’ ’ ’ 和” ” ”
Python中數(shù)字有四種類型:
整數(shù)(int)、布爾值(bool)、浮點數(shù)(float) 和 復(fù)數(shù)(complex)
int(整數(shù)):通常被稱為整數(shù),是正或負(fù)整數(shù),不帶小數(shù)點
bool(布爾):True 和 False(通常情況下,True = 1,False = 0)
float(浮點數(shù)):如1.66等
complex(復(fù)數(shù)):如2+2j、1.1+2.2j等
print默認(rèn)輸出是換行的,如果要實現(xiàn)不換行需要在變量末尾加上end=""
模塊有三種----內(nèi)置模塊、開源模塊(公開的第三方模塊)、自定義模塊
import引入math庫
- import math
- from-import<函數(shù)名>
- import <包> as <命名 >
>>>a = '123'>>>int(a)123
float(1) #整數(shù)>>1.0float(-123) #整數(shù)>>-123float('123')#字符串>>123.0float(12.3) #小數(shù)>>12.3
復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成,
可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的實部a和虛部b都是浮點型
>>>a = 5.0+o.66j>>>print(a)(5+0.66j)>>>print(a.real) #輸出a的實部5.0>>>print(a.imag) #輸出a的虛部0.66>>>print(a.conjugate()) #輸出a的共軛復(fù)數(shù)(5-0.66j)
另外是使用complex()函數(shù)的例子
Ps:在輸入復(fù)數(shù)時每一個元素之間不需要空格,否則執(zhí)行不出來
例如:
>>>1+1j(1+1j)>>>complex(1) #默認(rèn)為實部(1+0j)>>>complex(1,2) #(real,imag)(1+2j)>>>complex('1') #可以采用字符串(1+0j)>>>complex('1 + 2j') #每個元素之間不能有空格,否則報錯Traceback (most recent call last): File "<pyshell#26>", line 1, in <module> complex('1 + 2j')ValueError: complex() arg is a malformed string>>>complex('1+2j')(1+2j)
一個布爾值只有True、False兩種值,其分別對應(yīng)與二進(jìn)制的0和1。
而對于真(True)的值太多,而我們只需要記住假(False)的值。
即None、””、{}、[]、( )、0這些結(jié)果都是False。
溫馨提示:空值是python里一個特殊的值,用None表示。
None不能理解為0,因為0是有意義的,而None是一個特殊的值,表示空。
與或非(and、or、not):
and:如果a為True,輸出b反之輸出a
or:如果a為True,輸出a反之輸出b
not:若a為True則輸出False
分割字符串
就是使用split()方法把字符串分割成列表
語法格式:str .split (sep , maxsplit)
Sep:用于指定分隔符,可以包含多個字符,默認(rèn)為None,即所有空字符(包括空格、換行”n”等)
Maxsplit:可選參數(shù),用于指定分割的次數(shù),如果不指定或者為-1,則分割次數(shù)沒有限制,否則返回結(jié)果列表的元素個數(shù)
與字符串相關(guān)的函數(shù)
str.upper()—全部字符變大寫、str.lower()—全部字符變小寫
str.split(sep)—根據(jù)sep被分隔的組成部分
str.join(iter)—在iter變量中除最后一個元素外每個元素后增加一個str
e.g. “,”.join(“1234”)→”1,2,3,4”
str.replace(old,new)—所有old被new替換、
str.center(width,<選擇符號>)—根據(jù)寬度width居中,其余用符號填充
len(x)—返回序列x的長度
凱撒密碼—選擇對應(yīng)字符即可
str.strip(a)—從str中去掉出現(xiàn)的a
str.rstrip(a)—刪除str左側(cè)出現(xiàn)的a的意思
與字符串一樣,可以被索引和切片
與字符串不一樣,列表的元素之間可以改變
append(x)—在列表最后增加一個元素x
is.insert(i,x)—在列表is的第i位置增加元素x
is.remove(x)—將列表is中出現(xiàn)的第一個元素x刪除
is.reserve()—將列表is中的元素倒序
is.copy()生成一個新列表,賦值is中所有元素。
is.pop(i)—將列表is中第i位置元素取出并刪除該元素
is.clear()—刪除列表is中所有元素
del is[i:j:k]—刪除從i到j(luò)-1以k為步長的列表中的元素
pop()函數(shù)—移除列表中的一個元素(默認(rèn)最后一個元素)
排序:
從大到小排序:a.sort(reverse=True)
從小到大排序:a.sort()
len(a) #返回列表a的長度
list.index() #取下標(biāo)索引
與列表類似,不同之處在于元組的元素之間不能修改,但可被索引和切片
Python表達(dá)式 | 結(jié)果 | 描述 |
---|---|---|
len((1,2,3)) | 3 | 計算元素個數(shù) |
(1,2,3)+(4,5,6) | (1,2,3,4,5,6) | 連接 |
(‘Hi!’,)*4 | (‘Hi!’,‘Hi!’,‘Hi!’,‘Hi!’) | 復(fù)制 |
3 in(1,2,3) | True | 元素是否存在 |
for x in (1,2,3):print(x,) | 1 2 3 | 迭代 |
len(tuple) #計算元組元素個數(shù)
max(tuple) #返回元組中元素最大值
min(tuple) #返回元組中元素最小值
tuple(seq) #將列表換成元組
注意:創(chuàng)建一個空集合必須用set()而不是{},因為{}是用來創(chuàng)建一個空字典
基本功能:是進(jìn)行成員關(guān)系測試和刪除重復(fù)元素
與列表和元組不同,但和字典類似,是無序不能切片、索引、重復(fù),但支持迭代。
集合有四種基礎(chǔ)運算方法,并,交,差,補
? S|T 并運算,返回一個新集合,包含在集合S和T中的所有元素
? S&T 交運算,返回一個新集合,包含既在S中又在T中的集合
? S-T 差運算,返回一個新的集合,包含在集合S中但是不在集合T中的元素
? S^T 補運算,返回一個新集合,包含集合S和T中的不相同元素
鍵是唯一的,但值可以不唯一。值可以用任何數(shù)據(jù)類型但鍵必須是不可變的(可以是數(shù)字,字符串,元組來表示)
d.items()—返回字典d中所有的鍵值對信息
d.keys()—返回字典d中所有的鍵信息
d.value()—返回字典d中所有的值的信息
d.get(k,<自定義一個元素>)—如果鍵k存在,則返回相應(yīng)值,若不存在則返回自定義元素
d.pop(k,<自定義一個元素>)用法很重要—刪除給定的key以及對應(yīng)的值,返回值為被刪除的值,若不存在,則返回自定義的一個元素。
d.popitem()—隨機(jī)從字典d中取出一個鍵值對,以元組形式返回
d.clear()—刪除所有鍵值對
綜上可知:
不可變數(shù)據(jù)(3個):int、string、tuple
可變數(shù)據(jù)(3個):list、dictionary、set
if-else語句
if-elif-else語句
if嵌套
thon中for循環(huán)和while循環(huán)本質(zhì)上是沒有區(qū)別的,但是在實際應(yīng)用上,針對性不太一樣。
For循環(huán):
for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。
for循環(huán)的一般格式如下:
for <循環(huán)變量> in <遍歷結(jié)構(gòu)> :
<語句塊>
從遍歷結(jié)構(gòu)中逐一提取元素,放在循環(huán)變量中
While循環(huán):與for循環(huán)類似
range():遍歷數(shù)字序列
break和continue的區(qū)別
break:終止循環(huán)
continue:結(jié)束當(dāng)前一次循環(huán),繼續(xù)執(zhí)行后續(xù)次數(shù)循環(huán)
形參:位于def語句中函數(shù)名后面的變量
實參:為調(diào)用函數(shù)時提供的值
函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號 ()
return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None
函數(shù)調(diào)用- - 四個步驟
(1)、調(diào)用程序在調(diào)用處暫停執(zhí)行;
(2)、在調(diào)用時將實參復(fù)制給函數(shù)的形參;
(3)、執(zhí)行函數(shù)體語句;
(4)、函數(shù)調(diào)用結(jié)束給出返回值,程序回到調(diào)用前的暫停處繼續(xù)執(zhí)行。
參數(shù)傳遞
匿名函數(shù)
python 使用 lambda 來創(chuàng)建匿名函數(shù)。
所謂匿名,意即不再使用 def 語句這樣標(biāo)準(zhǔn)的形式定義一個函數(shù)。
lambda 只是一個表達(dá)式,函數(shù)體比 def 簡單很多。
lambda的主體是一個表達(dá)式,而不是一個代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
lambda 函數(shù)擁有自己的命名空間,且不能訪問自己參數(shù)列表之外或全局命名空間里的參數(shù)。
4.讀取文件
f = op
en(filename,mode)
Mode:
Mode:
(1)、’r’(僅讀取文件)
(2)、‘w’(僅寫入文件,并將刪除原有的文件)
(3)、’r+‘(用于打開并讀寫)
(4)、’w+’(用于讀寫模式,同時也會刪除原有內(nèi)容)
(5)、‘a(chǎn)+’(用于追加模式,若不存在此文件,則會新建新的文件)
read()—讀取全部內(nèi)容
readline()—每次讀取一行內(nèi)容
readlines()—一次讀取所有內(nèi)容并返回list
with open(name,mode) as <>:
f.write(str)—把str寫到文件中,write()不會在后面加上一個換行符
f.writelines()—將文件內(nèi)所有內(nèi)容寫入
f.tell()—返回文件標(biāo)記的步長
Round(數(shù)字,保留的位數(shù))
round(x,d)—四舍五入、d是保留的小數(shù)位數(shù),默認(rèn)值為0
e.g.–round(2.333,2)→2.33、round(2.5)→2、round(3.5)→4(注意如果round()里面的數(shù)字是x.5的話,得出的結(jié)果一定要偶數(shù))
pow()函數(shù)—含義:返回x的y次方的值----pow( x , y )
pow()—pow(x,y,z)(x**y%z),z可省略
e.g.–pow(3,2)→9、pow(3,2,2)→1
random()—隨機(jī)數(shù)生成(import random)、randint(a,b)—隨機(jī)生成在[a,b]之間的整數(shù)
切片
S[i:j]和s[i:j:k]之間的意思—返回s中第i到j(luò)-1以k為步長的元素序列,切片
模板:“:”+<填充>+<對齊>+<寬度>+<,>(數(shù)字千位分隔符)+<.精度>+<類型(整數(shù)/浮點數(shù))><模板字符串>.format(<逗號分隔參數(shù)>)
<(左對齊)、>(右對齊)、^(居中對齊)
b(二進(jìn)制)、
x(十六進(jìn)制-0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)、
o(八進(jìn)制)#+b/x/o→0b/0x/0o
isdigit()—判斷是否為數(shù)字
index()—index(x)/index(x,i,j):返回序列x從i開始到j(luò)-1元素中第一次出現(xiàn)的元素x的位置
count(x)—返回序列x中出現(xiàn)x的次數(shù)
isinstance()- - 判斷一個對象是否是一個已知的類型,