Python基礎刻意訓練 DAY10

2021-09-29 04:19:31 字數 3215 閱讀 9281

學習內容

主要內容:類與物件

前言

類的存在使得整個程式得到了良好的封裝,同時,使得程式可以直接進行呼叫,而不是重複去書寫以前的**。

建立類的基本格式:

class

name

:##屬性

屬性名=相關數值

##方法

def 函式名(變數):

函式體

**示例:

class

lsgo

:##類名

###屬性

number=

259 location =

'ncepu'

blief =

'study'

shell =

true

###方法

defexersize

(self)

:print

("python基礎刻意訓練"

)def

forward

(self)

:print

("輸出倒逼輸入"

)

tt=lsgo(

)tt.exersize(

)print

(tt.blief)

封裝性

例如:列表中的方法的使用——直接使用,而不出現內部的函式

繼承性

**示例:

class

mylist

(list):

pass

a=mylist()15

)49)99

)for each in a:

print

(each)

基本格式:class 類名-子類(父類)

子類繼承父類,覆蓋的是子類的方法,對於父類不受影響

class

parent

:def

hello

(self)

:print

("dad on doing"

)class

child

(parent)

:def

hello

(self)

:print

("child on doing"

)p = parent(

)p.hello(

)c=child(

)c.hello(

)

多型性:不同物件對於同一方法響應不同的行動

**示例:

classa:

deffun

(self)

:print

('我是1590'

)classb:

deffun

(self)

:print

("8888"

)a=a(

)b=b(

)a.fun(

)b.fun(

)

**示例:

class

ball

:def

setname

(self,name)

: self.name=name

defkick

(self)

:print

("我叫%s,該死的,誰踢我..."

% self.name)

a=ball(

)b=ball(

)c=ball(

)a.setname(

"球a"

)b.setname(

"球b"

)c.setname(

"土豆"

)a.kick(

)c.kick(

)

name mangling(名字重整):

定義私有變數只需要在變數名或者是函式名前面加上兩個』__'下劃線,那麼就會變成私有變數

獲取函式

class

person()

: __name=

"lsgo"

defgetname

(self)

:return self.__name

p=person(

)print

(p.getname())

print

(p._person__name)

注:python的私有變數機制偽私有機制(無許可權控制):p.__類名__name---- >找到該變數

issubclass(class,classinfo)

判斷後者是否是前者的子類

注:1.乙個類被認為是自身的子類

2.classinfo可以使類物件組成的元組,只要class是其中的任何乙個候選類的子類,就返回true

3.object:所有類

另外一些常用bif:

bif含義

getattr(object, name[, default])

返回乙個物件屬性值

setattr(object, name, value)

用於設定屬性值,該屬性不一定是存在的

delattr(object, name)

delattr 函式用於刪除屬性

hasattr(object, name)

判斷物件是否包含對應的屬性

注意:name一定要有字元

isinstance(object,classinfo)

object是否是classinfo的例項

classc:

def__init__

(self,size=10)

: self.size=size

defgetsize

(self)

:return self.size

defsetsize

(self,value)

: self.size=value

defdelsize

(self)

:del self.size

x=property

(getsize,setsize,delsize)

Python基礎刻意訓練 DAY8

學習內容 主要內容 異常處理 異常形式 含義assertionerror 斷言語句 assert 失敗 attributeerror 嘗試訪問未知的物件屬性 eoferror 使用者輸入檔案末尾標誌eof ctrl d floatingpointerror 浮點計算錯誤 generatorexit ...

Python基礎刻意訓練 DAY12

學習內容 主要內容 模組 呼叫模組的方式 import 模組名 from 模組名 import 函式名 使用簡單的函式名 import 模組名 as 新名字 重新簡寫名字 最常用也是最簡單的方式 import turtle as tt 重新簡寫名字方便使用 tt.forward 20 ifname ...

python基礎刻意練習 day10

python基礎刻意練習 day10 檔案系統 我們所知道常用的作業系統有windows,mac os,linx,unix等,這些作業系統底層對於檔案系統的訪問工作原理是不一樣的,因此可能就要針對不同的系統來考慮使用哪些檔案系統模組。這樣是很麻煩的,因為這就意味著當程式的執行環境一改變,就要相應的去...