python接口自动化学习十一之面向对象(类)详解

 

一、概念

类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。

对象:对象是类的实例,对象包括两个数据成员(类变量和实例变量)和方法。对象的创建,就是实例化的过程

属性:类属性(类变量):共有的属性,类变量定义在类中且在函数体之外。类属性属于类,也属于对象 ,可以通过类或对象访问

           实例属性(实例变量): 只属于对象,只能通过对象访问。

          局部变量:定义在方法中的变量,只作用于当前实例的类。更多地是在函数式编程里面用到。

方法:类中定义的函数。

二、创建实例对象、访问类属性、实例属性

class Person(object):
	#类属性
	gongtong='China'
	def __init__(self,name,age):
		#实例属性
		self.name=name
		self.age=age

	def getName(self):
		return self.name
	def getAge(self):
		return self.age
	def setName(self,name):
		self.name=name
	def setAge(self,age):
		self.age=age
	def info(self):
		return 'name:{0},age:{1},from:{2}'.format(self.getName(),self.getAge(),self.gongtong)

#创建实例对象
per=Person('wuya',18)
'''通过类名.属性访问类属性,通过对象.属性访问实例属性'''
print(per.getName(),per.getAge(),Person.gongtong)
per2=Person('wuya',20)
per2.setName('lisi')
per2.setAge(25)
print(per2.getName(),per2.getAge())
print(per.info())

三、动态参数在类中的应用

class Person(object):
	def __init__(self,*args,**kwargs):
		self.args=args
		self.kwargs=kwargs
	def info(self):
		print(self.args[0],self.kwargs)

per1=Person(name='wuya',age=18)
per1.info()
per2=Person('wuya',18,'xian')
per2.info()

四、构造函数

一个类,不管是否写了构造函数,它都是有构造函数的。

一个类,可以有多个构造函数。

构造函数:初始化属性。

class Person(object):
	def __init__(self,name,age):
		self.name=name
		self.age=age
	def __init__(self,address):
		self.address=address

per=Person('xian')
per1=Person('wuya',18)

五、方法执行顺序

先执行构造函数,然后执行调用的方法,最后执行析构函数。

class Person(object):

	def __init__(self):
		print(&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值