Python基礎知識點(四)

2021-09-22 02:30:59 字數 2876 閱讀 8217

(1)物件導向:將資料與含糊是繫結到一起,進行封裝,減少重複的**

(2)類與物件

類:玩具模型 物件:根據玩具模型設計的玩具

(3)類的構成:

1.類名

2.類屬性

3.類方法

形式:

class 類名:

方法列表

新式類

class 類名(object):

方法列表

注釋:類的命名方法按照『大駝峰』

(4)建立物件

形式: 物件名 = 類名( )

(5)初始化屬性:init

呼叫方法:物件名.屬性

注釋:init(self)中的self用於接收物件名

(6)『魔法方法』(python中方法名為__***__()有特殊化功能的叫魔法方法)

__str__方法與__init__用法類似,但一定要和return一起使用

print輸出物件時,定義了__str__方法,就會列印return的資料

demo:

class test(object):

def __init__(self):

self.name = 'xiaoming'

def __str__(self):

msg = 『test的名字是:』 + self.name

return msg

name = test()

print(name) #輸出的內容是msg

(8)修改屬性

在實際運用時,修改屬性可以有直接修改和間接修改

直接修改;通過屬性直接賦值修改

間接修改:通過定義的方法去修改屬性(建議使用)

(9)私有屬性

self.__name = name

在屬性前面加 __

(10)繼承

1.子類在繼承時,定義類中的( )寫父類的名字

2.父類的屬性方法,會被子類繼承

注釋:父類中的私有屬性不能直接被子類訪問,但是可以通過在父類中定義方法獲取私有屬性,再有子類通過呼叫方法訪問

3.多繼承

子類可以繼承多個父類

(11)重寫父類方法與呼叫父類方法

重寫:子類中有和父類相同的方法,在子類中的方法會覆蓋掉父類的同名方法(多型)

呼叫:方法一:適用於python2

父類名.__init__(self,name)
方法二:

super(子類名,self).__init__(name)
方法三:推薦

super().__init__(name)
注釋一定要有乙個引數傳進來,否者報錯

(12)類屬性與例項屬性(物件屬性)

類屬性:定義在方法之外的變數

可以通過例項(物件)去修改類屬性

修改類屬性:

1.直接修改,必須需通過類物件(類物件:定義類時的名字)修改

2.通過例項修改:通過例項物件修改,實際上是建立了乙個例項屬性,類物件沒有影響,並且之後如果通過例項物件去引⽤該名稱的屬性,例項屬性會強制遮蔽掉類屬性,即引⽤的是 例項屬性 ,除⾮刪除了該 例項屬性

(13)靜態方法和類方法

1.類方法:

用修飾器@classmethod 標識

cls作為第乙個引數

demo:

@classmethod

def getcountry(cls):

return cls.country

可以通過例項物件引用,也可以通過類物件引用

也可以修改類屬性

通過類方法

demo:

@classmethod

def setname(cls):

cls.name = name

2.靜態方法

用@staticmethod 標識 不需要傳引數

不許通過類物件進行引用

(1)形式

try:

**except exception as result:

**

捕獲所有異常,並儲存為result,列印出來

(2)可以與else一起用

try:

**except exception as result:

**else:

**

(3)程式無論異常都要執行(如檔案的關閉,釋放鎖)

用 try…finally

try:

**finally:

**

(4)列表推導式

1:

a = [x for x in range(4)]

a = [0,1,2,3]

2:

a = [x for x in range(3,10,2)]

a = [3,5,7,9]

3.迴圈使用if

a = [x for x in rang(3,10) if x%2==0]

a = [4,6,8]

4.兩個for迴圈

a = [(x,y),for x in range(1,3) for y in range(3)]

a = [(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

4.set,list,tuple

set集合可以去重

三個可以相互轉化

Python基礎知識點

python2與python3編碼相容性 python2如果沒有指定編碼格式,預設的編碼是ascii,不進行轉換會出現unicodedecodeerror錯誤,為了使得python2與3進行相容,可以用如下 實現 import sys from django.utils import six if ...

Python自學 基礎知識點彙總(四)

python基礎06 函式 函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。函式的定義 首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2r...

python基礎知識點概括

1.1.1 輸出 print 要輸出的內容 加引號,就是按照字串的格式輸出,否則就是計算之後輸出,如果要格式化輸出的話,用 隔開 1.1.2 輸入 input 提示資訊 raw input t提示資訊 都可以,讀取的內容都是字串形式,有些時候,就需要將讀取的字串轉為整數,使用int 來轉換 1.2....