Python学习笔记八

面向对象(object)编程

对象是指现实中的物体或实体
面向对象:把一切看成对象(实例),让对象和对象之间建立关联关系
对象的特征:对象有很多的属性(名词: 姓名,性别,年龄);
对象有很多行为(动词: 学习,吃饭,睡觉,看书)

类是拥有相同属性和行为的对象分为一组,即为一个类,类是用来描述对象的工具,用类可以创建同类对象。
车(类)-----------> BYD E6(京A.88888) 实例
车(类)-----------> BMW X5(京A.00000) 实例

狗(类)----------->小京巴(户籍号:000001)
----------->导盲犬(户籍号:000002)
int(类)----------->100(对象/实例)
----------->200(对象/实例)
类的创建语句:
语法:class 类名(继承列表):
‘’‘类的文档字符串’’’
实例方法定义(类内的函数称为方法method)
类变量定义
类方法定义
静态方法定义
作用:创建一个类
用于描述词类对象的行为和属性
类用于创建此类的一个或多个对象(实例)
示例:

# 此示例示意类的定义

class Dog:		# 定义一个类,类名为Dog
	pass

dog1 = Dog()		# 构造函数,创建Dog类的对象
print(id(dog1))		# 4378526216
dog2 = Dog()		# 创建Dog类的另一个对象
print(id(dog2))		# 4382983672

# 类似于如下语法:
int1 = int()
int2 = int()

类 对象 实例
class | object | instance

构造函数

表达式:
类名([创建传参列表])
作用:创建这个类的实例对象,并返回此实例对象的引用关系
实例(对象)说明:实例有自己的作用域和名字空间,可以为该实例添加实例变量(属性);实例可以调用类方法和实例方法;实例可以访问类变量和实例变量
示例:

class Dog:
	pass

dog1 = Dog()

实例方法:
语法:
class 类名(继承列表):
def 实例方法名(self, 参数1, 参数2, …):
‘’‘实例方法的文档字符串’’’
语句块
作用:用于描述一个对象的行为,让此类型的全部对象都拥有相同的行为
说明:实例方法实质是函数,是定义在类内的函数;
实例方法至少有一个形参,第一个形参代表调用这个方法的实例, 一般命名为’self’
实例方法的调用语法:
实例.实例方法名(调用参数)

类名.实例方法名(实例,调用传参)
示例:

# 此实例示意如何用实例方法(method)来描述Dog类的行为
class Dog:
	def eat(self, food):
		'''此方法用来描述小狗吃东西的行为'''
		print("小狗正在吃:", food)

	def sleep(self, hour):
		print("小狗睡了", hour, "小时")

# 创建一个Dog类的实例:
dog1 = Dog()
dog1.eat("狗粮")		# 小狗正在吃: 狗粮
dog1.sleep(10)		# 小狗睡了 10 小时
# dog1.play("球")		# 对象不能调用类内不存在的方法

# 创建另一个Dog对象
dog2 = Dog()
dog2.eat("骨头")
dog2.sleep(2)
# 可以用下面的方法调用方法
Dog.eat(dog2, '苹果')
属性(attribute)

属性也叫实例变量,每个实例都可以有自己的变量,此变量称为实例变量(也叫属性)
属性的使用语法:实例.属性名
赋值规则:首次为属性赋值则创建此属性;再次为属性赋值则改变属性的绑定关系
作用:用来记录对象自身的数据
实例:


# 此示例示意为对象添加属性

class Dog:
	pass

# 创建第一个对象
dog1 = Dog()
dog1.kinds = '京巴'		# 添加属性kinds
dog1.color = '白色'		# 添加属性color
dog1.color = '黄色'
print(dog1.color, '的', dog1.kinds)			# 访问属性

dog2 = Dog()
dog2.kinds = '牧羊犬'
dog2.color = '灰色'

实例方法和实例变量(属性)结合在一起使用:
示例:

class Dog:
	def eat(self, food):
		print(self.color, '的', self.kinds, '正在吃', food)

# 创建第一个对象
dog1 = Dog()
dog1.kinds = '京巴'		# 添加
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值