python基礎語法 day08(筆記)

2021-10-10 21:52:43 字數 4198 閱讀 8626

乙個程式模組太多,需要建立乙個資料夾來管理這些模組,就有了包的概念。

什麼是包?可以將多個具有相似或者有關聯的多個模組放在乙個資料夾中,便於統一管理。這個資料夾我們就可以稱之為包

'我的test2模組'

test1.py:

y=

'我的test1模組'

test.py:

from test2 import x

import test1

print

(x)#我的test2模組

print

(test1.y)

#我的test1模組

定義類:類名如何定義?使用class來定義乙個類

類名一般都要遵守大駝峰命名法,每乙個單詞的首字母都要大寫

1)class 類名:

2)class 類名 (object):

class

student

(object):

def__init__

(self,name,age,score)

: self.name=name

self.age=age

self.score=score

defscore1

(self)

:print

("{}今年{}歲,他的c語言成績為{}分"

.format

(self.name,self.age,self.score)

)s1=student(

"小明",19

,90)s2=student(

'肖銘',20

,78)s1.score1(

)s2.score1(

)# 小明今年19歲,他的c語言成績為90分

# 肖銘今年20歲,他的c語言成績為78分

這個屬性直接定義在類裡,是乙個元組,用來規定物件可以存在的屬性

class

student

(object):

__slots__ =

('name'

,'age'

,'score'

,'city'

)def

__init__

(self,name,age,score)

: self.name=name

self.age=age

self.score=score

defscore1

(self)

:print

("{}今年{}歲,他的c語言成績為{}分"

.format

(self.name,self.age,self.score)

)student.city=

'北京'

print

(student.city)

s1=student(

"小明",19

,90)s1.score1(

)# 北京

# 小明今年19歲,他的c語言成績為90分

魔法方法,也叫魔術方法,是類裡的特殊的一些方法

特點:1)不需要手動呼叫,會在合適的時間自動呼叫。

2)這些方法,都是使用__開始,使用__結束

3)方法名都是系統自動規定好的,在合適的時機自己呼叫

(1)init:在建立物件的時候會自動呼叫這個方法

(2)del:當物件被銷毀時,會自動呼叫這個方法

import time

class

person

(object):

#在建立物件的時候會自動呼叫這個方法

def__init__

(self,name,age)

:print

('__init__這個方法被呼叫了'

) self.name=name

self.age=age

#當物件被銷毀時,會自動呼叫這個方法

def__del__

(self)

:print

('__del__這個方法被呼叫了'

)s1=person(

'張三',20

)#__init__這個方法被呼叫了

time.sleep(3)

# 等待3秒之後,會自動銷毀

# __del__這個方法被呼叫了

s1=person(

'張三',20

)#__init__這個方法被呼叫了

print

(s1)

#如果不做任何修改,直接列印乙個物件,是物件的型別和記憶體位址

(3)str__或__repr_方法:當列印乙個物件時,會呼叫這個物件的__str__或__repr__方法。如果兩個方法都寫了,就只選擇__str__

def

__repr__

(self)

:return

'hello'

def__str__

(self)

:return

'world'

s1 = person(

'張三',20

)# __init__這個方法被呼叫了

print

(s1)

#world

#如果想要自己調__repr__方法,可以print(repr(s1))

4)物件名()==>會自動呼叫__call__方法

def

__call__

(self,

*args,

**kwargs)

:print

('__call__方法被呼叫了'

)s1 = person(

'張三',20

)s1(

)#__call__方法被呼叫了

s1(1,2

)#會自動呼叫s1.__call__(1,2)方法

5)==會呼叫物件的__eq__方法

class

person

(object):

# 在建立物件的時候會自動呼叫這個方法

def__init__

(self, name, age)

: self.name = name

self.age = age

def__eq__

(self, other)

:print

("__eq__方法被呼叫了"

)s1 = person(

'張三',20

)s2 = person(

'張三',20

)#is 比較兩個物件的記憶體位址

#== 會呼叫物件的__eq__方法,獲取這個方法的比較結果

print

(s1 is s2)

#false

print

(s1 == s2)

#false,__eq__方法被呼叫了

m1=[1,

2,3]

m2=[1,

2,3]

print

(m1 is m2)

#false

print

(m1 == m2)

#true

def

__eq__

(self, other)

:if self.name==other.name:

return

true

return

false

s1 = person(

'張三',20

)s2 = person(

'張三',20

)print

(s1 == s2)

#true

C程式設計基礎day08

return 函式在主函式中return結束程式。在其他函式中return結束該函式,但程式仍執行。exit 在任何函式中執行都會結束程式,也就是結束程序。如果函式不是寫在main函式前邊,那麼需要在函式被呼叫的前邊某個地方宣告。乙個函式可以宣告多次,但只能定義一次,宣告的變數名稱和定義的變數名稱可...

python成長之路day08

一 集合關係運算與常用操作 二 檔案操作 關係運算 friends1 friends2 1 取二者的共同好友 交集 res friends1 friends2 print res 2 取二者所有的好友有哪些 並集 res friends1 friends2 print res 3 去二者所有的好友有...

Python課程回顧(day08)

什麼是檔案 檔案是作業系統提供給使用者 應用程式的一種虛擬單位,這種單位可以直接對映硬碟空間 為什麼要使用檔案 由於使用者無法直接操作硬體,所以使用者或應用程式直接操作檔案 讀 寫 就會被作業系統轉換成具體的硬碟操作,從而實現使用者或應用程式將資料永久的儲存在硬碟中 如何使用檔案 檔案處理的三個步驟...