奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >常見問題 > 課程問題 > 只要你會中文 就能學會的Python面向對象的完整教程

只要你會中文 就能學會的Python面向對象的完整教程

來源:奇酷教育 發表于:

Python面向對象完整教程


  奇酷學員講師們專為小白編寫的Python面向對象的完整教程,在給大家分享之前呢!奇小酷推薦一個奇酷的交流圣地,里面都是一群熱愛并在學習Python的奇酷學員們,群資料也上傳了好多Python的課程視頻教程,里面的老師們積極解決小白的問題,這個Python群:514317840 歡迎大家進來一起交流討論,一起進步,讓奇酷成為你學習Python路上的摯友。



 

  簡介?

  面向對象、解釋型的編程語言。python3.x各方面更成熟,將來肯定是主流,python2.x處理速度更快點。python3.x簡潔、易學、幾乎全能、支持面向對象,越來越多公司用python3.x。??

  建議學python3.x??

  能做什么??

  數據分析與挖掘、黑客逆向編成、機器學習、網絡爬蟲、開發游戲、自動化運維、開發WEB項目。??

  python 安裝??

  python3.5.2 64位 穩定??

  官網 www.python.org(搜狗瀏覽器訪問,download windows )??

  管理員身份運行??

  customise??

  勾選2、3 1隨便 最后兩個不勾??

  設置安裝盤??

  advanced options (選creat、add)??

  設置環境變量---> 告訴系統python安裝在什么地方了??

  (比較慢、)??

  python語法基礎??

  輸出??

  輸出hellow world??

  輸入IDLE---> python??

  print(“要輸出的內容”)??

  shell一行一行執行。ctrl+N 多行執行??

  后綴名.py??

  注釋??

  #注釋法?

  三引號注釋法---英文輸入法下兩端輸入三個單引號或者多引號(前后要對應)?

  標識符??

  命名規則:第一個字符為字母或下劃線;除了第一個字的其他字符可以是字母、下劃線或數字。如_jh3ih/j_3hhf??

  變量??

  和標識符命名規則相同。??

  賦值=從右往左看??

  數據類型??

  默認數據類型:數、??

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

  列表(list)---存儲多個元素[,隔開,從0開始編號]列表內元素可以賦值?

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

  集合(set)---=set{"字符串"}輸出{'','',....}---去重、集合運算?

  字典(dictionary)---{鍵:值,鍵:值.....}---d={"abc":6,"q":"daa"}。取值規則:字典名["對應鍵名"]--d["q"]輸出daa?

  運算符 +、-、*、/、%?;镜臄祵W運算符的優先級規律在python上基本使用。實在不清楚優先級規律,為需要先執行的運算加上括號。+號可以進行字符串的連接---j="da",k="abc"+j--> k="abcda"?

  縮進??

  同一層次的代碼,處于同一個縮進幅度上,下一層次的代碼,需要相對于上一層縮進,使用tab縮進。??

  python控制流??

  三種控制流概述??

  順序結構?

  條件分支結構 if():/ elif():---else if:()/else:?

  循環結構?

  while --while():-->??

  for??

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

  進行常規循環--for i in range(0,10)-->?

  中斷結構??

  break?

  全部直接退出,整個循環中斷??

  continue?

  中斷一次循環,繼續下一次循環??

  乘法口訣??

  for i in range(1,10) : ?

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

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

  print()?

  end代表不換行輸出、注意python中縮進的含義,相同縮進代表相同層級??

  作業:逆向輸出乘法口訣(9-->1)?

  #逆向輸出乘法口訣??

  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()?

  函數??

  函數的本質是功能的封裝--def 函數名(參數)??

  局部變量與全局變量??

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

  函數內部定義的變量是局部變量,不能再外部輸出或調用。??

  函數參數的使用??

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

  def abc(): print("agg")??

  調用----輸入 函數名()??

  參數:與外界溝通的接口??

  形參?

  函數定義的時候使用形參??

  實參?

  函數調用的時候用實參??

  python模塊實戰??

  什么是python模塊??

  為了讓python程序實現更方便,可以根據需求類別將一些廠檢單功能(函數)組合在一起,形成模塊。以后要實現這一類功能的時候,直接導入該模塊即可,模塊里面的函數叫做模塊的方法。系統自帶的模塊在安裝目錄的lib目錄中。??

  模塊內的函數叫做模塊的方法。??

  模塊的導入??

  import模塊名?

  import cgi??

  cgi.closelog()??

  from...import...?

  from cgi import closelog??

  第三方模塊的安裝??

  模塊的類別??

  自帶模塊?

  第三方模塊(較常用)?

  pip方式?

  cmd---pip---網絡安裝??

  whl下載安裝?

  下載lfd python---sp35 amd64--下載另存d盤爬蟲--cmd--d:-cd 文件夾---pip install+下載文件全名(包括后綴)??

  直接復制?

  復制別人的安裝文件(電腦和python型號相同)html文件??

  anaconda?

  自定義模塊?

  在lib目錄下新建文件--??

  python文件操作??

  文件操作概述??

  直接使用對文件進行打開、關閉、讀取、寫入等操作,使用python可以自動對程序進行處理,比如合并多個Excel表格文件的內容。??

  文件操作實戰??

  文件打開?

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

  操作形式:w-寫、r-讀取、b-二進制、a追加??

  文件關閉?

  fh.close()打開了用完之后一定要關閉文件??

  文件寫入(w/a+)?

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

  w寫入模式下每次關閉都會對內容進行更新替換,如果想每次寫完不替換原先的內容,可以用a+追加寫入模式。??

  python異常處理??

  概述??

  python程序在執行的時候,經常會遇到異常,如果中間異常不處理,經常會導致程序崩潰。比如后面我們寫爬蟲的時候,如果不進行異常處理,很可能蟲爬了一半,直接崩潰了。??

  目的是寫程序的過程中遇到異??梢蕴^,不至于程序崩潰,增強程序的生命力。??

  異常處理實戰??

  在python中創建一個try文件---ctrl+n(new)--ctrl-a--寫一個程---制造異常---??

  異常處理格式??

  try:?

  程序?

  except Exception as 異常名稱:?

  異常處理部分?

  注意: try和except要對應,且縮進量保持一致;try和循環的嵌套關系變化可能帶來不同的處理結果。?

  python面向對象編程??

  概述??

  面向對象編程即OOP編程,區別于面向過程編程,面向對象編程比較適合開發大項目,會以更接近人類的思維角度去寫程序。??

  類和對象??

  類:具有某種特征的事物的集合(群體)??

  對象:群體(類)里面的個體??

  類是抽象的,對象是具體的---類的實例化??

  創造一個類:??

  class 類名:?

  類里面的內容?

  ...?

  class cl1:?

  pass?

  ...?

  實例化一個類??

  a=cl1()?

  ...?

  a即類(cl1)內對象??

  構造函數??

  類在實例化時自動首先觸發的函數:init(self,參數)--雙下劃綫,在類中的方法中必須加上self參數。??

  class cl2?

  def__init__(self):?

  print("hellow,welcome")?

  構造函數作用是初始化??

  給類加上參數---給構造方法加上參數??

  class cl3?

  def __init__(self,name,job):?

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

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

  屬性與方法??

  屬性: 靜態的特征。如頭發、手臂等??

  方法: 動態的特征。如唱歌、寫字等??

  類中屬性的定義和調用:self.屬性名??

  class cl4:?

  def __init__(self,name,job):?

  self.myname=name?

  self.myjob=job----定義類的屬性?

  輸入c=cl4("ag","aqw")--輸入myname--輸出ag--輸入myjob--輸出aqw--直接調用類的屬性??

  方法:類里面的函數def 方法名(self,參數)??

  class cl5:?

  def myfound(self):?

  print("aga")?

  實例化時不需要添加參數,調用的時候需要添加??

  class cl6:?

  def myfound1(self,name):?

  print("hellow"+" "+name)?

  調用類里面的方法:??

  c=cl6()------實例化?

  c.myfound("liuyong")---調用函數myfound()并加參數?

  輸出hellow liuyong??

  class cl7:?

  def __init__(self,name):?

  self.myname=name?

  def myfound1(self):?

  print("hellow"+" "+myname)?

  調用類里面的方法:??

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

  c.myfound()---調用函數myfound()并加參數?

  繼承與重載??

  繼承: 把某一個或多個類(基類)的特征拿過來(單繼承、多繼承)??

  重載: 把子類(派生類)里面對繼承過來的特征重新定義??

  父類: 基類??

  子類: 派生類??

  案例講解??

  某一個家庭有父親、母親、兒子、女兒,父親可以說話,母親可以寫字,大兒子繼承了父親寫字的能力,女兒同時繼承了父母親、并且有能力聽東西,小兒子繼承了父親,但是優化(減弱)了父親說話的能力。??

  父親類(基類):??

  class father():?

  def speak(self):?

  print("I can speak")?

  單繼承類:class 子類(父類)??

  class son1(father):?

  pass?

  執行??

  s=son1()?

  s.speak()?

  ---I can speak?

  母親類:??

  class mother()?

  def write(self):?

  print("I can write")?

  多繼承:??

  class daughter(father,mother):?

  def listen(self):?

  print("I can listen")?

  執行??

  d=daughter()?

  d.speak()?

  ---I can speak?

  d.write()?

  ---I can write?

  d.listen()?

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

  重寫(重載):??

  class son2(father):?

  def speak(self):?

  print("I can speak 2")?

  執行??

  s=son2()?

  s.speak()?

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

  作業:??

  將多個Excel表格里面的內容合并到一個文件中。??

  要點:??

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

  注意使用循環;?

  一個Excel中有多個sheet,也需要合并。

  奇小酷非常希望大家能加入到奇酷的大家庭來,我們一起學習、一起進步,當然了,也祝大家學習Python的路上一路順風!

主站蜘蛛池模板: 哈尔滨发电机,黑龙江柴油发电机组-北方星光 | 书信之家_书信标准模板范文大全 最新范文网_实用的精品范文美文网 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | 深圳公司注册-工商注册公司-千百顺代理记账公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | ptc_浴霸_大巴_干衣机_呼吸机_毛巾架_电动车加热器-上海帕克 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 江苏齐宝进出口贸易有限公司 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 粘度计,数显粘度计,指针旋转粘度计 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 |