1.物件導向
需要有意義的物件導向的**,不是有了類就是物件導向#核心:類 物件
#方法:設計層面 函式:程式運形,過程是一種稱謂
class student():
name = '' ##變數:資料成員
age = 0
#類中的函式稱為方法
def print_file(self):
print('name:' + self.name)
print('age:' + str(self.age))
#類的呼叫
student = student()
student.print_file()
輸出結果:
name:
age:0
2.類和物件
#物件:物件是現實世界或者思維世界中的實體在計算機中的反映,#它將資料以及這些資料上的操作封裝在一起
#類:一類事物的統稱,物件是類具體化的產物,也就是例項化
#不同的物件有什麼不同特點:比如年齡,姓名
class student():
name = ''
age = 0
def do_homework(self):
print('homework')
student1 = student()
student1.do_homework()
student2 = student()
student2.do_homework()
student3 = student()
student3.do_homework()
print(id(student1))
print(id(student2))
print(id(student3))
輸出結果:
homework
homework
homework
139979923068240
139979923070648
139979923071384
3.建構函式
class student():
name = ''
age = 0
#初始化示例時就自己呼叫了
def __init__(self,name,age): #傳遞name,age引數
#建構函式
self.name = name #self方法呼叫
self.age = age
print('student')
# return 'student'
def do_homework(self):
print('homework')
student1 = student('kiki',18)
print(student1.name)
print(student1.age)
#這個函式沒有返回值,初始化的時候返回值為none
# a = student1.__init__()
# print(a)
# print(type(a))
執行結果:
student
kiki
18
str方法:
class dog():
def __init__(self,name):
self.name = name
def __str__(self):
#必須返回乙個字串
return '這是 %s' %(self.name)
gofei = dog('旺財')
print(gofei)
輸出結果:
這是旺財
初始化方法:
self:哪乙個物件呼叫的方法,self就是哪乙個物件的引用
class cat():
def __init__(self,name):
print('這是乙個初始化方法')
self.name = name
def eat(self):
print('%s愛吃魚' %self.name)
cat = cat('tom')
print(cat.name)
hello_kitty = cat('hk')
print(hello_kitty.name)
hello_kitty.eat()
執行結果:
這是乙個初始化方法
tom這是乙個初始化方法
hkhk愛吃魚
練習:
使用類實現棧的工作原理
class stack():
def __init__(self):
self.stack =
def push(self,value):
return true
def pop(self):
#先判斷棧是否為空
if self.stack:
item = self.stack.pop()
return item
else:
return false
def top(self):
if self.stack:
return self.stack[-1]
else:
return false
def length(self):
return len(self.stack)
def view(self):
return ','.join(self.stack)
s = stack()
s.push('1')
s.push('2')
item = s.pop()
print(item)
print(s.view())
輸出結果:
21
物件導向(一) 類
class class nameobject name 乙個或者幾個物件的標識 class crectanglerect 是crectangle型別的物件的名稱 crectangle 和 rect的關係就像 int 和變數a的物件一樣 int 型別名 a 物件名,變數 如果物件需要呼叫類裡面的函式,...
python物件導向(類和物件)
物件導向程式設計的2個非常重要的概念 類和物件 物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類 類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件 賓士汽車 類 賓士smart 類 張三的那輛賓士smart 物件 狗...
Python 物件導向 類和物件
類 和 物件 是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在開發過程中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少 在使用物件導向開發前,應該首先分析需求,確定一下,...