日韩 亚洲一区二_久久vs国产综合色大全_国产精品福利在线_欧美在线一级A片免费观看欧美在线_女同性毛片60分钟

您現(xiàn)在所在的位置:首頁(yè) >常見(jiàn)問(wèn)題 > 課程問(wèn)題 > 只要你會(huì)中文 就能學(xué)會(huì)的Python面向對(duì)象的完整教程

只要你會(huì)中文 就能學(xué)會(huì)的Python面向對(duì)象的完整教程

來(lái)源:奇酷教育 發(fā)表於:

Python面向對(duì)象完整教程


  奇酷學(xué)員講師們專(zhuān)為小白編寫(xiě)的Python面向對(duì)象的完整教程,在給大家分享之前呢!奇小酷推薦一個(gè)奇酷的交流聖地,裡面都是一群熱愛(ài)並在學(xué)習(xí)Python的奇酷學(xué)員們,群資料也上傳了好多Python的課程視頻教程,裡面的老師們積極解決小白的問(wèn)題,這個(gè)Python群:514317840 歡迎大家進(jìn)來(lái)一起交流討論,一起進(jìn)步,讓奇酷成為你學(xué)習(xí)Python路上的摯友。



 

  簡(jiǎn)介

  面向對(duì)象、解釋型的程式語言。python3.x各方面更成熟,將來(lái)肯定是主流,python2.x處理速度更快點(diǎn)。python3.x簡(jiǎn)潔、易學(xué)、幾乎全能、支持面向對(duì)象,越來(lái)越多公司用python3.x。

  建議學(xué)python3.x

  能做什麼

  數(shù)據(jù)分析與挖掘、黑客逆向編成、機(jī)器學(xué)習(xí)、網(wǎng)絡(luò)爬蟲(chóng)、開(kāi)發(fā)遊戲、自動(dòng)化運(yùn)維、開(kāi)發(fā)WEB項(xiàng)目。

  python 安裝

  python3.5.2 64位 穩(wěn)定

  官網(wǎng) www.python.org(搜狗瀏覽器訪(fǎng)問(wèn),download windows )

  管理員身份運(yùn)行

  customise

  勾選2、3 1隨便 最後兩(liǎng)個(gè)不勾

  設(shè)置安裝盤(pán)

  advanced options (選creat、add)

  設(shè)置環(huán)境變量---> 告訴系統(tǒng)python安裝在什麼地方了

  (比較慢、)

  python語法基礎(chǔ)

  輸(shū)出

  輸(shū)出hellow world

  輸(shū)入IDLE---> python

  print(“要輸(shū)出的內(nèi)容”)

  shell一行一行執(zhí)行。ctrl+N 多行執(zhí)行

  後綴名.py

  注釋

  #注釋法

  三引號(hào)注釋法---英文輸(shū)入法下兩(liǎng)端輸(shū)入三個(gè)單引號(hào)或者多引號(hào)(前後要對(duì)應(yīng))

  標(biāo)識符

  命名規(guī)則:第一個(gè)字符為字母或下劃(huà)線(xiàn );除了第一個(gè)字的其他字符可以是字母、下劃(huà)線(xiàn )或數(shù)字。如_jh3ih/j_3hhf

  變量

  和標(biāo)識符命名規(guī)則相同。

  賦值=從右往左看

  數(shù)據(jù)類(lèi)型

  默認(rèn)數(shù)據(jù)類(lèi)型:數(shù)、

  字符串(a='abc'/a2="abc"/a3='''abc''')、

  列表(list)---存儲(chǔ)多個(gè)元素[,隔開(kāi),從0開(kāi)始編號(hào)]列表內(nèi)元素可以賦值

  、元祖(tuple)---()元祖內(nèi)不可以重新賦值,取值和列表方式一樣、

  集合(set)---=set{"字符串"}輸(shū)出{'','',....}---去重、集合運(yùn)算

  字典(dictionary)---{鍵:值,鍵:值.....}---d={"abc":6,"q":"daa"}。取值規(guī)則:字典名["對(duì)應(yīng)鍵名"]--d["q"]輸(shū)出daa

  運(yùn)算符 +、-、*、/、%。基本的數(shù)學(xué)運(yùn)算符的優(yōu)先級(jí)規(guī)律在python上基本使用。實(shí)在不清楚優(yōu)先級(jí)規(guī)律,為需要先執(zhí)行的運(yùn)算加上括號(hào)。+號(hào)可以進(jìn)行字符串的連接---j="da",k="abc"+j--> k="abcda"

  縮進(jìn)

  同一層次的代碼,處於同一個(gè)縮進(jìn)幅度上,下一層次的代碼,需要相對(duì)於上一層縮進(jìn),使用tab縮進(jìn)。

  python控制流

  三種控制流概述

  順序結(jié)構(gòu )

  條件分支結(jié)構(gòu ) if():/ elif():---else if:()/else:

  循環(huán)結(jié)構(gòu )

  while --while():-->

  for

  便利列表--a=["qF","D","fd","d"] for i in a:-->

  進(jìn)行常規(guī)循環(huán)--for i in range(0,10)-->

  中斷結(jié)構(gòu )

  break

  全部直接退出,整個(gè)循環(huán)中斷

  continue

  中斷一次循環(huán),繼續(xù)下一次循環(huán)

  乘法口訣

  for i in range(1,10) : 

  for j in range(1,i+1):

  print(str(i)+"*"+str(j)+"="+str(i*j),end=" ")

  print()

  end代表不換(huàn)行輸(shū)出、注意python中縮進(jìn)的含義,相同縮進(jìn)代表相同層級(jí)

  作業(yè):逆向輸(shū)出乘法口訣(9-->1)

  #逆向輸(shū)出乘法口訣

  for i in range(1,10):

  for j in range(1,11-i):

  print(str(10-i)+"*"+str(11-j-i)+"="+str((10-i)*(11-j-i)),end=" ")

  print()

  for i in range(9,0,-1):

  for j in range(i,0,-1):

  print(str(i)+"*"+str(j)+"="+str(i*j),end=" ")

  print()

  函數(shù)

  函數(shù)的本質(zhì)是功能的封裝--def 函數(shù)名(參數(shù))

  局部變量與全局變量

  作用域從變量開(kāi)始到程序的最末的變量叫做全局變量,作用域只在局部的變量叫做局部分量。

  函數(shù)內(nèi)部定義的變量是局部變量,不能再外部輸(shū)出或調(diào)用。

  函數(shù)參數(shù)的使用

  函數(shù)定義的格式--def 函數(shù)名(參數(shù))

  def abc(): print("agg")

  調(diào)用----輸(shū)入 函數(shù)名()

  參數(shù):與外界溝通的接口

  形參

  函數(shù)定義的時(shí)候使用形參

  實(shí)參

  函數(shù)調(diào)用的時(shí)候用實(shí)參

  python模塊實(shí)戰

  什麼是python模塊

  為了讓python程序實(shí)現(xiàn)更方便,可以根據(jù)需求類(lèi)別將一些廠(chǎng)檢單功能(函數(shù))組合在一起,形成模塊。以後要實(shí)現(xiàn)這一類(lèi)功能的時(shí)候,直接導(dǎo )入該模塊即可,模塊裡面的函數(shù)叫做模塊的方法。系統(tǒng)自帶的模塊在安裝目錄的lib目錄中。

  模塊內(nèi)的函數(shù)叫做模塊的方法。

  模塊的導(dǎo )入

  import模塊名

  import cgi

  cgi.closelog()

  from...import...

  from cgi import closelog

  第三方模塊的安裝

  模塊的類(lèi)別

  自帶模塊

  第三方模塊(較常用)

  pip方式

  cmd---pip---網(wǎng)絡(luò)安裝

  whl下載安裝

  下載lfd python---sp35 amd64--下載另存d盤(pán)爬蟲(chóng)--cmd--d:-cd 文件夾---pip install+下載文件全名(包括後綴)

  直接複製

  複製別人的安裝文件(電腦和python型號(hào)相同)html文件

  anaconda

  自定義模塊

  在lib目錄下新建文件--

  python文件操作

  文件操作概述

  直接使用對(duì)文件進(jìn)行打開(kāi)、關(guān)閉、讀取、寫(xiě)入等操作,使用python可以自動(dòng)對(duì)程序進(jìn)行處理,比如合併多個(gè)Excel表格文件的內(nèi)容。

  文件操作實(shí)戰

  文件打開(kāi)

  操作txt文件---新建txt文檔---寫(xiě)入內(nèi)容--如何用python讀取其中的內(nèi)容--打開(kāi)--open(文件地址,操作形式)--fh=open("D:/sdags/sgas","r")或fh=open("D:sdagssgas","r")---data=fh.read()--data--全部內(nèi)容--fh.readline()---一行一行地讀

  操作形式:w-寫(xiě)、r-讀取、b-二進(jìn)位、a追加

  文件關(guān)閉

  fh.close()打開(kāi)了用完之後一定要關(guān)閉文件

  文件寫(xiě)入(w/a+)

  data="dhaghhh"--open("文件地址","w")--fh2.write(data)--必須要先關(guān)閉寫(xiě)入文件內(nèi)容才會(huì)在文件中保存--fh2.close()--多次寫(xiě)入只需一次文件關(guān)閉(如果用的是w-非追加寫(xiě)入的話(huà))

  w寫(xiě)入模式下每次關(guān)閉都會(huì)對(duì)內(nèi)容進(jìn)行更新替換(huàn),如果想每次寫(xiě)完不替換(huàn)原先的內(nèi)容,可以用a+追加寫(xiě)入模式。

  python異常處理

  概述

  python程序在執(zhí)行的時(shí)候,經(jīng)常會(huì)遇到異常,如果中間異常不處理,經(jīng)常會(huì)導(dǎo )致程序崩潰。比如後面我們寫(xiě)爬蟲(chóng)的時(shí)候,如果不進(jìn)行異常處理,很可能蟲(chóng)爬了一半,直接崩潰了。

  目的是寫(xiě)程序的過(guò)程中遇到異常可以跳過(guò),不至於程序崩潰,增強(qiáng)程序的生命力。

  異常處理實(shí)戰

  在python中創(chuàng)建一個(gè)try文件---ctrl+n(new)--ctrl-a--寫(xiě)一個(gè)程---製造異常---

  異常處理格式

  try:

  程序

  except Exception as 異常名稱(chēng):

  異常處理部分

  注意: try和except要對(duì)應(yīng),且縮進(jìn)量保持一致;try和循環(huán)的嵌套關(guān)係變化可能帶來(lái)不同的處理結(jié)果。

  python面向對(duì)象編程

  概述

  面向對(duì)象編程即OOP編程,區(qū)別於面向過(guò)程編程,面向對(duì)象編程比較適合開(kāi)發(fā)大項(xiàng)目,會(huì)以更接近人類(lèi)的思維角度去寫(xiě)程序。

  類(lèi)和對(duì)象

  類(lèi):具有某種特徵的事物的集合(群體)

  對(duì)象:群體(類(lèi))裡面的個(gè)體

  類(lèi)是抽象的,對(duì)象是具體的---類(lèi)的實(shí)例化

  創(chuàng)造一個(gè)類(lèi):

  class 類(lèi)名:

  類(lèi)裡面的內(nèi)容

  ...

  class cl1:

  pass

  ...

  實(shí)例化一個(gè)類(lèi)

  a=cl1()

  ...

  a即類(lèi)(cl1)內(nèi)對(duì)象

  構(gòu )造函數(shù)

  類(lèi)在實(shí)例化時(shí)自動(dòng)首先觸發(fā)的函數(shù):init(self,參數(shù))--雙下劃(huà)綫,在類(lèi)中的方法中必須加上self參數(shù)。

  class cl2

  def__init__(self):

  print("hellow,welcome")

  構(gòu )造函數(shù)作用是初始化

  給類(lèi)加上參數(shù)---給構(gòu )造方法加上參數(shù)

  class cl3

  def __init__(self,name,job):

  print("my name is "+name+"my job is"+job)

  輸(shū)入c=cl3("ag","aqw")--輸(shū)出my name is ag my job is aqw

  屬性與方法

  屬性: 靜態(tài)的特徵。如頭髮、手臂等

  方法: 動(dòng)態(tài)的特徵。如唱歌、寫(xiě)字等

  類(lèi)中屬性的定義和調(diào)用:self.屬性名

  class cl4:

  def __init__(self,name,job):

  self.myname=name

  self.myjob=job----定義類(lèi)的屬性

  輸(shū)入c=cl4("ag","aqw")--輸(shū)入myname--輸(shū)出ag--輸(shū)入myjob--輸(shū)出aqw--直接調(diào)用類(lèi)的屬性

  方法:類(lèi)裡面的函數(shù)def 方法名(self,參數(shù))

  class cl5:

  def myfound(self):

  print("aga")

  實(shí)例化時(shí)不需要添加參數(shù),調(diào)用的時(shí)候需要添加

  class cl6:

  def myfound1(self,name):

  print("hellow"+" "+name)

  調(diào)用類(lèi)裡面的方法:

  c=cl6()------實(shí)例化

  c.myfound("liuyong")---調(diào)用函數(shù)myfound()並加參數(shù)

  輸(shū)出hellow liuyong

  class cl7:

  def __init__(self,name):

  self.myname=name

  def myfound1(self):

  print("hellow"+" "+myname)

  調(diào)用類(lèi)裡面的方法:

  c=cl7("liuyong")------實(shí)例化即添加參數(shù)

  c.myfound()---調(diào)用函數(shù)myfound()並加參數(shù)

  繼承與重載

  繼承: 把某一個(gè)或多個(gè)類(lèi)(基類(lèi))的特徵拿過(guò)來(lái)(單繼承、多繼承)

  重載: 把子類(lèi)(派生類(lèi))裡面對(duì)繼承過(guò)來(lái)的特徵重新定義

  父類(lèi): 基類(lèi)

  子類(lèi): 派生類(lèi)

  案例講解

  某一個(gè)家庭有父親、母親、兒子、女兒,父親可以說(shuō)話(huà),母親可以寫(xiě)字,大兒子繼承了父親寫(xiě)字的能力,女兒同時(shí)繼承了父母親、並且有能力聽東西,小兒子繼承了父親,但是優(yōu)化(減弱)了父親說(shuō)話(huà)的能力。

  父親類(lèi)(基類(lèi)):

  class father():

  def speak(self):

  print("I can speak")

  單繼承類(lèi):class 子類(lèi)(父類(lèi))

  class son1(father):

  pass

  執(zhí)行

  s=son1()

  s.speak()

  ---I can speak

  母親類(lèi):

  class mother()

  def write(self):

  print("I can write")

  多繼承:

  class daughter(father,mother):

  def listen(self):

  print("I can listen")

  執(zhí)行

  d=daughter()

  d.speak()

  ---I can speak

  d.write()

  ---I can write

  d.listen()

  ---I can listen----多繼承不影響新功能

  重寫(xiě)(重載):

  class son2(father):

  def speak(self):

  print("I can speak 2")

  執(zhí)行

  s=son2()

  s.speak()

  ---I can speak2---重名覆蓋

  作業(yè):

  將多個(gè)Excel表格裡面的內(nèi)容合併到一個(gè)文件中。

  要點(diǎn):

  使用第三方模塊操作,比如xlrd、xlwt;

  注意使用循環(huán);

  一個(gè)Excel中有多個(gè)sheet,也需要合併。

  奇小酷非常希望大家能加入到奇酷的大家庭來(lái),我們一起學(xué)習(xí)、一起進(jìn)步,當(dāng)然了,也祝大家學(xué)習(xí)Python的路上一路順風(fēng)!