python棧和佇列

2021-08-14 16:02:21 字數 2968 閱讀 6471

"""

類的定義

設計類: 類名 屬性 行為

定義乙個女朋友

屬性:身高170,年齡20,性別:女 膚色:白

行為:**中的定義

格式:class 類名(父類列表)

屬性1屬性2

行為1(方法)

行為2乙個類是以class關鍵字開始的

類名需要遵循識別符號命名規則,見名知意-----首字母大寫

屬性需要遵循識別符號命名規則,見名知意

""""""

# 一般情況下定義乙個類時,如果該類沒有父類,一般繼承object類(根類,基類,超類)

class student(object):

#定義乙個屬性

name="金三胖胖"

height=160

weight=180

money=10000000000

#吃的行為

#定義類方法的時候,方法中國必須有self引數,且是第乙個引數

# self自己,代表是實在在存在的個體物件

def eat(self):

print("吃的行為")

def sleep(self):

print("睡的行為")

#num=123

#name="胖子"

#類 是一種資料型別的描述 不佔記憶體空間

#物件 是一種具體的資料 ---佔記憶體空間

#建立物件

#建立空參的物件

#格式:物件名=類名()

student1=student()

#建立有初始值

#格式:物件名=類名(多個值)

#建立不同的物件,在記憶體中是不同位置的

student2=student()

#型別, 記憶體位址

print(student1)

#列印記憶體位址

print(id(student1))

#檢視型別

print(type(student1))

#獲取屬性

#格式:物件名.屬性名

print(student1.name)

#呼叫方法

#格式:物件名.函式名()

student1.eat()

""""""

class student(object):

#定義乙個屬性

name="金三胖胖"

height=160

weight=180

money=10000000000

#定義乙個構造方法,一般用來做資料的初始化操作

#注意:__init___方法,是使用者建立物件的時候,自動呼叫的,不需要手動呼叫

#__init__方法可以不寫 不寫時,會預設呼叫空參__init方法

#建立物件是,引數的個數需要與__init__一致

def __int__(self,name,height,weight,money):

self.name=name

self.height=height

self.weight=weight

self.money=money

#吃飯def eat(self):

print("%s在吃飯"%self.name)

#建立乙個有初始化資料的物件

# 格式:物件名=類名(多個值)

student1=student("pgone",150,180,3000)

#stduent2=student()

student2=student("李小璐",150,160,20000)

#取值print(student1.height)

print(student2.height)

#修改值

#注意"""

"""#-----析構函式__del__-----------------------------------------

#析構函式

#程式自動呼叫,當該物件銷毀的時候自動呼叫

def__del__(self):

# 模擬釋放資源,釋放記憶體

print("物件銷毀了")

#當程式執行完畢的時候,物件會自動刪除

student1=student("pgone",160,180,13800)

#手動釋放記憶體,即刪除變數

#del student1

#while true:

#pass

def func():

student1=student("胖胖",160,180,36000)

"""classstudent(object):

#定義乙個屬性

def__init__(self

, name, height, weight, money):

self.name = name

self.height = height

self.weight = weight

self.money = money

"""# 吃飯

def eat(self):

print("%s在吃飯" % self.name)

#當我們執行print方法列印該物件時,會自動呼叫__str__方法,方便程式設計師來檢視值的

#如果物件的屬性需要大量列印,可以重寫__str__方法

#如果不寫__str_-函式,預設列印的是物件的型別和記憶體位址

#檢視所有的資料

student1=student("金三胖胖",160,160,10000)

# student1.name

# student1.height

print("name:%s height:%d weight:%d money:%d"%(student1.name,student1.height,student1.weight,student1.money))

"""

python 棧和佇列

棧結構 類似於桶 先進後出 fifo first in last out 棧結構的常用方法 pop 出棧 push 入棧 size 棧大小 isempty 判斷棧是否為空 top 獲取棧頂元素 class stack object def init self self.stack def push ...

python 棧和佇列

使用list實現棧,使用deque實現佇列 使用list實現佇列效率低 1.使用list實現棧 先進後出 class stack 使用列表實現棧 def init self,lis self.lis lis def pop self,args 1 return self.lis.pop args 返...

python小知識 佇列和棧

佇列可以做兩端增刪資料元素 佇列中的資料元素遵循 先進先出 的原則,也稱為fifo結構 first in first out 從空佇列中彈出資料和向滿佇列中壓入資料,均視為錯誤 class squeue 建立空佇列 def init self self.elem 判空 defis empty sel...