(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....