JAYのpython学习笔记——对象和类

为对象定义类

类定义对象的特征和行为
python会在运行时为每个对象赋予一个独特的id来辨识这个对象
数据域:即变量or实例变量,用于描述对象的状态,例如圆的radius,矩形的height和width
python采用方法来定义对象的行为,方法亦即函数
python类使用变量存储数据域,定义方法来完成行为,类定义了对象的数据域和方法,对象是类的一个实例(对象就是实例,实例就是对象),可以创建一个类的多个对象,创建类的实例的过程称为实例化。

定义类

初始化程序:__ init __(双下划线)
语法

class ClassName:
	initializer
	methods
#circle.py
import math

class Circle:
	#constuct a circle object
	def __init__(self, radius = 1):
		self.radius = radius

	def getPerimeter(self):
		return 2*self.radius*math.pi

	def getArea(self):
		return self.radius*self.radius*math.pi

	def setRadius(self, radius):
		self.radius = radius

构造对象

在内存中为类创建一个对象
调用类的__init__方法来初始化对象
所有方法,包括初始化程序,都有第一个参数self,指向调用方法的对象。
__ init __方法中的self参数被自动地设置为引用刚被创建的对象,我们可以为这个参数设置任何名字,但是经常使用的就是self。
构造方法:
类名(参数)
1.在内存中创建类的对象(实例)
2.调用类的 __ init __方法初始化对象,self参数自动设置为引用刚创建的对象

访问对象成员

访问一个对象的数据域并调用对象的方法
语法:

objectRefVar = ClassName(arguments) #类的命名通常采用首字母皆大写的方式,变量的命名采用驼峰命名法

可以使用圆点运算符(.)访问对象的数据域并调用他的方法,也被称为对象成员访问运算符。

objectRefVar.datafield
objectRefVar.method(args)
>>> from circle import circle
>>> c = circle(5)
>>> c.radius
5
>>> c.getPerimeter()
31.415926
>>> c.getArea()
78.539816
>>>

如果我们创建对象不需要被变量引用的话,那么就不用特意赋值给变量了。

print("Area is", Circle(5).getArea())

这种方式创建的对象叫做匿名对象

self参数

self是指向对象本身的参数,可以用self访问在类中定义的对象成员,包括实例变量和实例方法。
一旦实例变量被创建,那么它的作用域就是整个类,例如self.x

def ClassName:
	def __init__(self, ...):
		self.x = 1 #创建/修改x
		...
	
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值