一.Python基本語法
? ? ? ? ? ?1..Python介紹:Python 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言
? ? ? ? ? ?2.發(fā)展歷程: Python: Guido van Rossum 八十年代末和九十年代初 荷蘭
? ? ? ? ? ?3.Python特點: 易于學(xué)習(xí), 易于閱讀, 易于維護, 一個廣泛的標(biāo)準(zhǔn)庫, 互動模式的支持
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可移植, 可擴展, 提供數(shù)據(jù)局接口,GUI編程,可嵌入
? ? ? ? ? ?4.Pycharm及Python安裝詳細教程:(1).下載安裝:python環(huán)境、pycharm? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).檢查版本:cmd→python??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3).創(chuàng)建項目的時候,pycharm指定python環(huán)境?
? ? ? ? ? ?5.Python的數(shù)據(jù)類型:Number(數(shù)字 int float double complex)、String(字符串 “” '')、Tuple(元組)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? List(列表)、Dictionary(字典)、Set(集合)、Boolean(True/False 必須大寫)
? ? ? ? ? ?6.標(biāo)識符:(1).規(guī)則: 標(biāo)識符只能由字母、下劃線“_”、數(shù)字組成。? 標(biāo)識符不能以數(shù)字開頭。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?標(biāo)識符不能使用關(guān)鍵字? ? ?標(biāo)識符對大小寫敏感。(建議:標(biāo)識符命名應(yīng)“見名知意”)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).命名方式:大駝峰:類名? ?小駝峰:變量名、函數(shù)名
? ? ? ? ? ?7.關(guān)鍵字:'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else',? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'try', 'while', 'with', 'yield'
? ? ? ? ? 8.運算符: 算術(shù)運算符: +,-,*,/,%,“”,//
? ? ? ? ? ? ? ? ? ? ? ? ? ? 邏輯運算符:and, or, not
? ? ? ? ? ? ? ? ? ? ? ? ? ? 比較運算符: ==, !=, >,<,>=,<=
? ? ? ? ? ? ? ? ? ? ? ? ? ? 賦值運算符:=, +=, -=, /=, %=, ""=, //=, :=,*=,**=,:=
? ? ? ? ? 9.注釋:# 單行注釋? ? '''多行注釋'''? ? """多行注釋""
? ? ? ? ?10.python中print語句:(1).?print(*objects, sep=' ', end='\n', file=sys.stdout)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *objects? 可變參數(shù)輸出多個對象? ? ??sep=' '? 分割符? ? ?end='\n' 結(jié)束符??file=sys.stdout? 文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2).格式化:%:”字符串%s %d“%(值,值)? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如:print("my name is %s, and my age is %d" %(name,age))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {}:“字{}符{}串”.format(值,值)??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如:print("my name is{}, and my age is{}".format(age,name))
? ? ? ? ? ?11.input:鍵盤錄入: input() 用來獲取控制臺的輸入。? ?語法:?input("描述:")
?二.python基礎(chǔ)--語句
? ? ? ? ? ?1、判斷語句
? ? ? ? ? ? ? ? ? ? ?(1).if語句的使用格式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if 要判斷的條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? (2). if-else的使用格式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if要判斷的條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件不成立時,要做的事情
? ? ? ? ? ? ? ? ? ?(3).if-elif-else的使用格式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if要判斷的條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? elif要判斷的條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件不成立時,要做的事情
? ? ? ? ? ? ? ? ?(4).if嵌套
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if要判斷的條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if要判斷的條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件不成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件不成立時,要做的事情
? ? ? ? ? ?2.循環(huán)語句
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1).while循環(huán)的格式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?.....
? ? ? ? ? ? ? ? ? ? ? ? ? ? (2).while循環(huán)嵌套
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .....
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while條件:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件成立時,要做的事情
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .....
? ? ? ? ? ? ? ? ? ? ? ? ? (3).for循環(huán)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for 臨時變量 in 列表或者字符串等可迭代對象:? ???for i in list:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?循環(huán)滿足條件時執(zhí)行的代碼 :? ?表達式i
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? list:①.1,2,3,4? ②.list、tuple、set? ?③.range(start,end,step)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?案例:


? ? ? ? ? ? ? ? ? ? ? ? ? ? (4).while循環(huán)

? ? ? ? ? ? ? ? ? 面試題:continue與break的區(qū)別
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? continue的作用:當(dāng)滿足條件時,用來結(jié)束本次循環(huán),緊接著執(zhí)行下一次的循環(huán)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break的作用:滿足條件時,立刻結(jié)束break所在的循環(huán)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 案例:三角形 、倒三角形、九九乘法表
? ? ? ? ? ? ? ?pass的使用:1.Pythonpass是空語句,是為了保持程序結(jié)構(gòu)的完整性。 如:?foriinrange(10):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.pass不做任何事情,一般用做占位語句。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pass
?三.Python列表
? ? ? ? ? ? ?1.格式:listName=[元素,元素]
? ? ? ? ? ? ?2.特點:有序、可重復(fù)、可變、任意類型、性能低
? ? ? ? ? ? ?3.增加:(1).append:list.append(元素),追加到末尾
? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).extend:list.extend(元素),追加到末尾,散開添加
? ? ? ? ? ? ? ? ? ? ? ? ? ?(3).insert:list.insert(index,元素),添加元素到指定位置,如果新增的索引不存在添加到末尾
? ? ? ? ? ? ?4.修改:list[index]=新元素? ? 注意:如果index存在則修改,不存在則報索引越界
? ? ? ? ? ? ?5.刪除:(1).del:del list[index] ,刪除指定下標(biāo)對應(yīng)的元素,如果index不存在,則報索引越界
? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).pop:list.pop(),刪除末尾元素
? ? ? ? ? ? ? ? ? ? ? ? ? ?(3).remove:刪除指定元素,list.remove(元素),如果元素不在報錯
? ? ? ? ? ? ?6.查詢:(1).index:list.index(元素),查詢元素對應(yīng)的index,如果元素不存在報錯
? ? ? ? ? ? ? ? ? ? ? ? ?(2).count:list.count(元素),查詢元素出現(xiàn)的個數(shù),如果元素不存在,返回個數(shù)為0
? ? ? ? ? ? ? ? ? ? ? ? ?(3).len:len.len(list),查詢list長度
? ? ? ? ? ? ?7.排序:(1).升序:list.sort()
? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).降序:①.list.sort(Reverse=True)? ?②.list.sort().reverse()
? ? ? ? ? ? ? ? ? ? ? ? ? ?注意:如果不是數(shù)字,則報錯
? ? ? ? ? ? ?8.列表的循環(huán)取值:(1).for?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).while?

? ? ? ? ? ? ?9.list嵌套:①.格式:list=[list1,list2,list3]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?②.取值:list[外層下標(biāo)][內(nèi)層下標(biāo)]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?③.刪除:del list[外層下標(biāo)][內(nèi)層下標(biāo)]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?④.添加:list[外層下標(biāo)].insert(內(nèi)層插入下標(biāo),元素)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?⑤.修改:list[外層下標(biāo)][內(nèi)層下標(biāo)]=值
四.python--元組
? ? ? ? ? ? ? ?1.格式:t =(元素,元素。。。)
? ? ? ? ? ? ? ?2.特點:有序,可重復(fù),不可變,任意類型,性能好
? ? ? ? ? ? ? ?3.訪問:t[index],如果index存在得到對應(yīng)的值,否則報索引越界
? ? ? ? ? ? ? ?4.個數(shù):(1).count:t.count(元素),如果存在該元素得到元組的個數(shù),否則結(jié)果為0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).index:t.index(元素),如果該元素存在得到該元素的下標(biāo),否則報錯
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3).len:len(t),得到元組的長度
? ? ? ? ? ? ? ?5.修改數(shù)據(jù):不能修改,會報錯。如果非要修改,類型轉(zhuǎn)換
? ? ? ? ? ? ? ?6.類型轉(zhuǎn)換:(1).元組轉(zhuǎn)列表:l = list(t)? (2).列表轉(zhuǎn)元組:t = tuple(l)
? ? ? ? ? ? ? ?7.循環(huán)取值:(1).for

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2).while

五.python--字典
? ? ? ? ? 1.格式:變量名={key1:value,key2:value,,,}
? ? ? ? ? 2.訪問:v=d[key],如果存在得到v,否則報錯,如何解決:使用d.get(key,default),如果key存在得到value,否則得到None
? ? ? ? ?3.修改、新增:d[key] = v,如果key存在則修改對應(yīng)得值為value,否則新增元素key:value
? ? ? ? ?4.刪除:(1).del:del d,刪除整個字典; del d[key],刪除對應(yīng)key的元素
? ? ? ? ? ? ? ? ? ? ? ?(2).clear:d.clear(),清空數(shù)據(jù),字典還在
? ? ? ? ?5.長度:len(d)
? ? ? ? ?6.字典中循環(huán)

六.python--集合和函數(shù)
? ? ? ? ? ? ? ?1.格式:(1).s = set()? #不能初始化數(shù)據(jù)? ?(2).s = {元素,元素,元素}? ?注意:s = {},默認字典
? ? ? ? ? ? ? ?2.特點:無序、不可重復(fù)、可變、任意類型,用于給元組和列表去重
? ? ? ? ? ? ? ?3.添加:s.add(元素)
? ? ? ? ? ? ? ?4.修改:s.update(set)
? ? ? ? ? ? ? ?5.刪除:(1).remove:s.remove(元素),元素存在則刪除,否則報錯keyError
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).discard:s.discard(元素),元素存在則刪除,不存在則無操作 (解決報錯問題keyError)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3).pop:s.pop():隨機刪除一個元素
? ? ? ? ? ? ?6.遍歷:for i in set1:? print(i)
? ? ? ? ? ? ?7.交集、并集:交集:得到多個集合公共元素? ? set1 & set2? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?并集:得到所有元素的集合并去重? ?set1 | set2
? ? ? ? ? ? ?8.公共方法:(1).運算符:①.+:字符串、列表、元組、集合和字典不能使用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ②.*:字符串、列表、元組、集合和字典不能使用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ③.in及not in:字符串、列表、元組、字典
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2).內(nèi)置函數(shù):max()? min()? len()? del()? del list tuple dict set
? ? ? ? ? ? ?9.函數(shù):(1).格式

? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).參數(shù):①.位置參數(shù):實參和形參按照位置一一對應(yīng)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?②.關(guān)鍵字參數(shù):指定實參名字
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?③.缺省參數(shù):給形參賦默認值
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?④.不定長參數(shù):未命名不定長參數(shù)、命名不定長參數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 注意:位置參數(shù)→*arges→缺省參數(shù)→**kwargs

? ? ? ? ? ? ? ? ? ? ? ? ? (3).變量:①.局部:定義在方法中得變量,范圍僅限于方法內(nèi)部,使用global聲明全局變量
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ②.全局:定義在方法外的變量,范圍無限

七.python--文件和異常
? ? ? ? ? ? ? ? ? ?1.作用:保存數(shù)據(jù)存放在磁盤,把一些存儲存放起來,可以讓程序下一次執(zhí)行的時候直接使用,而不必重新制作一份,省時省力


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 注意:指定絕對路徑,也可以用相對路徑
? ? ? ? ? ? ? ? ? ?2.文件和文件夾的操作

? ? ? ? ? ? ? ? ? 3.異常:(1).什么是異常:一個正常執(zhí)行的程序發(fā)生錯誤的事件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2).常見異常:FileNotFoundError、IndexError、ValueError、ZeroDivisionError、KeyError
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3).處理

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4).模塊:①.概念:py文件就是一個模塊
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?②.導(dǎo)入:from 包 import 模塊.方法[*]、import 模塊.方法[*]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5).Python中的包:包是一個分層次的文件目錄結(jié)構(gòu)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包和文件得區(qū)別:包中含有模塊_init_.py

八.python--面向?qū)ο?br>
? ? ? ? ? ? ?1.基本概念:類、類變量、數(shù)據(jù)成員、方法重寫、局部變量、實例變量、繼承、實例化、方法、對象
? ? ? ? ? ? ?2.創(chuàng)建類

? ? ? ? ? ? ? 3.python內(nèi)置類屬性:dict: 類的屬性(包含一個字典,由類的數(shù)據(jù)屬性組成)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? doc:類的文檔字符串? ? ? ? ? ? ? ??name: 類名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? module: 類定義所在的模塊(類的全名是'main.className',如果類位于一個導(dǎo)入模塊mymod中,那么className.module等于 mymod)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? bases: 類的所有父類構(gòu)成元素(包含了一個由所有父類組成的元組)
? ? ? ? ? ? ? ?4.類的繼承:注意:python中,類可以多繼承

? ? ? ? ? ? ? ? 5.方法重載:同一類中,方法名相同,參數(shù)個數(shù)和類型不同
? ? ? ? ? ? ? ? 6.類的私有屬性和私有方法:(1).私有屬性:v,只能是本類中使用,在類內(nèi)部的方法中使用時?self.__private_attrs.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2).私有方法:fun,不能在類的外部調(diào)用,在類的內(nèi)部調(diào)用?self.__private_methods.