天天看點

第十節:python異常處理、類

python個人筆記,純屬友善查詢。

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>python異常處理</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>try</code><code>:</code>

<code>        </code><code>name</code><code>=</code><code>[</code><code>'a'</code><code>,</code><code>'b'</code><code>,</code><code>'c'</code><code>]</code>

<code>        </code><code>name[</code><code>3</code><code>]</code>

<code>except</code> <code>IndexError:</code>

<code>        </code><code>print</code> <code>'you list is out of range.........'</code>

<code>意思是讓原本的錯誤改成自己想要的錯誤提示。</code>

<code>        </code><code>#name[3]</code>

<code>        </code><code>info_dic</code><code>=</code><code>{}</code>

<code>        </code><code>info_dic[</code><code>'alex'</code><code>]</code>

<code>#except (IndexError,KeyError):</code>

<code>except</code> <code>KeyError:</code>

<code>        </code><code>print</code> <code>'The key error...............'</code>

<code>自定義異常:</code>

<code>class</code> <code>myexception(exception):</code>

<code>pass</code>

<code>raise</code> <code>myexception</code>

<code>name</code><code>=</code><code>raw_input</code><code>().strip()</code>

<code>if</code> <code>name !</code><code>=</code> <code>'darren'</code><code>:</code>

<code>except</code> <code>myexception:</code>

<code>print</code> <code>'no valid name specil!'</code>

<code>總是列印一個錯誤:</code>

<code>name</code><code>=</code><code>raw_input</code><code>()</code>

<code>if</code> <code>len</code><code>(name)</code><code>=</code><code>2</code><code>:</code>

<code>print</code> <code>'aaa.........'</code>

<code>else</code><code>:</code>

<code>print</code> <code>'bbb..........'</code>

<code>finally</code><code>:</code>

<code>print</code> <code>'going to shutdown........'</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>python類</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>類的文法:</code>

<code>class</code> <code>dog:</code>

<code>def</code> <code>name(</code><code>self</code><code>):</code>

<code>print</code> <code>"hello,master,my name is python!"</code>

<code>D</code><code>=</code><code>dog()    </code><code>#将類賦給D這個變量</code>

<code>D.name()   </code><code>#引用dog類下面的name方法。</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>#初始化函數:def __init__為初始化函數,函數裡的第一個變量就是類的名字,等于把類Person傳給self,</code>

<code>#!/usr/bin/env python</code>

<code>class</code> <code>Person:</code>

<code>        </code><code>def</code> <code>__init__(</code><code>self</code><code>,name,age):</code>

<code>                </code><code>print</code> <code>"i am being called right now"</code>

<code>                </code><code>self</code><code>.Name</code><code>=</code><code>name</code>

<code>                </code><code>self</code><code>.Age</code><code>=</code><code>age</code>

<code>        </code><code>def</code> <code>sayhi(</code><code>self</code><code>):</code>

<code>                </code><code>print</code> <code>"hi,my name is %s,my age:%s"</code> <code>%</code><code>(</code><code>self</code><code>.Name,</code><code>self</code>

<code>.Age)</code>

<code>p</code><code>=</code> <code>Person(</code><code>'darren'</code><code>,</code><code>22</code><code>)</code>

<code>p.sayhi()</code>

<code>##################################################</code>

<code>class</code> <code>Dog:</code>

<code>        </code><code>name</code><code>=</code><code>'hanxin'</code>

<code>        </code><code>print</code> <code>"hello,master,my name is python!"</code>

<code>            </code><code>print</code> <code>"my name is:"</code><code>,</code><code>self</code><code>.name</code>

<code>def</code> <code>saying(</code><code>self</code><code>,food):</code>

<code>if</code> <code>food </code><code>=</code><code>=</code> <code>'bone'</code><code>:</code>

<code>print</code> <code>'i like it very much'</code>

<code>print</code>  <code>"do not give me"</code>

<code>d </code><code>=</code> <code>Dog()</code>

<code>d.sayhi()</code>

<code>d.saying(bone)</code>

<code>#這裡的類等于把dog傳給self,self就是類。類下的多個函數是不能互相通信的,如果要通信要先傳給類</code>

<code>#########################################</code>

<code>                </code><code>print</code> <code>"hello,master,my name is python!"</code>

<code>                </code><code>print</code> <code>"my name is:"</code><code>,</code><code>self</code><code>.name</code>

<code>                </code><code>likefood</code><code>=</code><code>'bone'</code>

<code>                </code><code>self</code><code>.likefood</code><code>=</code><code>likefood  </code><code>#把函數變量變為類變量</code>

<code>        </code><code>def</code> <code>saying(</code><code>self</code><code>,food):</code>

<code>                </code><code>if</code> <code>food </code><code>=</code><code>=</code> <code>self</code><code>.likefood: </code><code>#調用其他函數的變量這裡不能直接調用,而是需要調用類變量才可以。</code>

<code>                        </code><code>print</code> <code>'i like it very much'</code>

<code>                </code><code>else</code><code>:</code>

<code>                        </code><code>print</code>  <code>"do not give me"</code>

<code>d.saying(</code><code>'bone'</code><code>)</code>

<code>########################################</code>

<code>#類的繼承:</code>

<code>class</code> <code>schoolmember:</code>

<code>def</code> <code>__init__(</code><code>self</code><code>,name,sex,national</code><code>=</code><code>'china'</code><code>):</code>

<code>self</code><code>.name</code><code>=</code><code>name</code>

<code>self</code><code>.sex</code><code>=</code><code>sex</code>

<code>self</code><code>.national</code><code>=</code><code>national</code>

<code>def</code> <code>tell(</code><code>self</code><code>):</code>

<code>print</code> <code>"hi,my name is %s,i am from %s"</code><code>%</code><code>(</code><code>self</code><code>.name,</code><code>self</code><code>.national)</code>

<code>class</code> <code>student(schoolmember):</code>

<code>def</code> <code>__init__(</code><code>self</code><code>,NAME,SEX,CLASS,SCORE,NATIONAL):</code>

<code>schoolmember.__init__(</code><code>self</code><code>,NAME,SEX,NATIONAL)</code>

<code>self</code><code>.CLASS</code><code>=</code><code>CLASS</code>

<code>self</code><code>.SCORE</code><code>=</code><code>SCORE</code>

<code>def</code> <code>paytuition(</code><code>self</code><code>,amount):</code>

<code>if</code> <code>amount &lt; </code><code>6499</code><code>:</code>

<code>print</code> <code>"get the fuck off....."</code>

<code>print</code> <code>'welcome onboard!'</code>

<code>class</code> <code>teacher(schoolmember):</code>

<code>def</code> <code>__init__(</code><code>self</code><code>,NAME,SEX,COURSE,SALARY,NATIONAL):</code>

<code>self</code><code>.COURSE</code><code>=</code><code>COURSE</code>

<code>self</code><code>.SALARY</code><code>=</code><code>SALARY</code>

<code>def</code> <code>teachering(</code><code>self</code><code>):</code>

<code>print</code> <code>"i am teaching %s,i am makeing %s per month!"</code><code>%</code><code>(</code><code>self</code><code>.COURSE,</code><code>self</code><code>.SALARY)</code>

<code>s1</code><code>=</code><code>student(</code><code>'wangzhendong'</code><code>,</code><code>'man'</code><code>,</code><code>'python'</code><code>,</code><code>'A+'</code><code>,</code><code>'china'</code><code>)</code>

<code>s1.tell()</code>

<code>s2</code><code>=</code><code>student(</code><code>'darren'</code><code>,</code><code>'man'</code><code>,</code><code>'linux'</code><code>,</code><code>'a+'</code><code>,</code><code>'us'</code><code>)</code>

<code>s2.tell()</code>

<code>t1</code><code>=</code><code>teacher(</code><code>'darren'</code><code>,</code><code>'man'</code><code>,</code><code>'couse'</code><code>,</code><code>'7000'</code><code>,</code><code>'hanguo'</code><code>)</code>

<code>##############################################################</code>

本文轉自 王家東哥 51CTO部落格,原文連結:http://blog.51cto.com/xiaodongge/1877788