class Solution:
def __init__(self):
self.stack1=[]
self.stack2=[]
def push(self, node):#进栈进1栈
# write code here
self.stack1.append(node)
def pop(self):#若栈2为空,先push再pop;若栈2不为空,则直接pop
# return xx
if self.stack2==[]:
while self.stack1:
target=self.stack1.pop()
self.stack2.append(target)
return self.stack2.pop()
__init __函数用法:
两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。__init__函数(方法)的第一个参数必须为self,后续参数为自己定义。这个例子讲的比较好
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:
class Students:
def __init__(self):#给实例增加了name、score变量
self.name=name
self.score=score
调用方法:
class Person:
def __init__(self, newPersionName):
self.name = newPersionName
#此处正确的,通过访问self.name的形式,实现了:
# 1.给实例中,增加了name变量
# 2.并且给name赋了初值,为newPersionName
def sayYourName(self):
print('My name is %s'%(self.name))
#此处由于开始正确的初始化了self对象,使得其中有了name变量,
#所以此处可以正确访问了name值了
;
p = Person('Bob')
p.sayYourName() #第一种调用方法
print("-" * 50)
Person('Bob').sayYourName()#第二种调用方法
几种内置函数:
参考链接
__new __(cls, *args, **kwargs)
创建对象时自动调用的函数,主要作用是创建对象,给该对象分配空间,方便之后的的操作;
该函数会返回创建出来的对象实体,一旦正常的返回实体后,调用初始化函数
__init __(self)
初始化函数(构造函数),作用:给当前对象创建各类变量,并给变量赋初值,一般用于对象的初始设置,该函数没有返回值
__ str__(self)
对象描述函数,作用:返回当前对象的字符串类型的信息描述,一般用于对象的直接输出显示
__ del__(self)
删除该对象时会自动调用,一般用于工具型对象的资源回收