python物件導向一(類和物件以及常用內建方法)

2021-09-18 01:47:45 字數 3188 閱讀 7853

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 物件導向 類和物件

類 和 物件 是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在開發過程中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少 在使用物件導向開發前,應該首先分析需求,確定一下,...