Python面向对象编程

面向对象编程(OOP),是一种编程方式,这种编程方式需要使用“对象”来实现。

对象的特征

1、世间万物皆对象
2、每个对象都是唯一的
3、对象具有属性和行为,对象的行为包括具有功能及具体的实现
4、对象具有状态,状态是指某个瞬间对象的各个属性的取值
5、对象分为类对象和实例对象两大类,类对象就是实例对象的模板,实例对象是由类对象创建出来的

面向对象编程的大体步骤

1、抽象出类对象
2、抽象出类对象的属性
3、抽象出类对象的行为(方法)
4、根据类对象创建实例对象
5、通过实例对象访问属性和方法

抽象:

定义类对象的语法格式:	
class 类名(object):
	属性与方法

#其中,(object)表示该类对象继承自Python内置的类对象object,Python中所有类对象那个都继承自一个统一的基类:object

例:
class LittleCat(object):              #类命名采用驼峰规则
	pass

属性
猫类具有的属性:品种、昵称、年龄、健康状况

抽象如下

class Cat(object):
	def __init__(self, breed, name, age, health):
		self.breed = breed       #品种
		self.name = name		#昵称
		self.age = age				#年龄
		self.health  = health		#健康状况
	

类的方法
行为(方法)是类中特殊的函数

猫类具有的行为:跑、喵喵叫、吃东西

抽象如下

	#跑
	def run(self):
		print("Cat is running")
	#喵
	def miao(self):
		print("Cat is miaoing")	
	#吃
	def eat(self):
		print("Cat is eatting")

类的方法与函数的区别:
方法就是定义在类对象中的函数。方法与函数的区别在于 :1、定义方法时,方法的第一个形参表示调用该方法的实例对象,第一个形参的名称通常是self,也可以是其他名称。2、调用方法时,系统自动将调用该方法的实例对象作为实参传递给第一个形参。第一个实参会传递给第二个形参,第二个实参会传递给第三个形参,以此类推。

根据类对象创建实例对象的语法格式为:
类名([实参])

#根据类对象创建实例对象
cat = Cat("波斯猫", "喵喵", 1,"很好")
print(cat.breed)
print(cat.name)
print(cat.age)
print(cat.health)
cat.run()
cat.miao()
cat.eat()

>>>
波斯猫
喵喵
1
很好
Cat is running
Cat is miaoing
Cat is eatting

实例属性

实例属性是实例对象所绑定的属性

  • 1、在类对象的内部(方法中)
    语法格式:self.属性名 = 属性值
    推荐在特殊方法__init__中进行绑定

  • 2、在类对象的外部
    python是动态语言,所以,在实例对象创建之后,可以对其动态地绑定属性,如果指定名称的实例属性已经存在,则是对实例属性进行修改
    语法格式:实例对象.属性名 = 属性值

访问实例属性的方式有两种:

  • 1、在类对象的内部(方法中)
    语法格式:self.属性名
  • 2、在类对象的外部
    语法格式:实例对象.属性名
class MyClass(object):
    def __init__(self):
        #在类对象的内部(方法中)绑定实例属性 
        self.ial = 18
    
    def do_sth1(self):
        #在类对象的内部(方法中)访问实例属性
        print(self.ial)
        
    def do_sth2(self):
        print(self.ia2)
        
    def do_another(self):
        #在各类对象的内部(方法中)绑定实例属性
        self.ia2 = 56
        
    def do_sth3(self):
        print(self.ia3)
        
mc = MyClass()
mc.do_sth1()
>>>18

mc.do_another()
mc.do_sth2()
>>>56

mc.ia3 = 66
print(mc.ia3)
>>>66

实例对象.__dict __
可获得该实例对象所绑定的所有属性及其值的字典

类对象属性

类属性指的是类对象所绑定的属性

绑定类属性的方式有两种:

  • 1.在类对象的内部(方法外)
    语法格式:属性名 = 属性值

  • 2.在类对象外部
    语法格式: 类对象. 属性名 = 属性值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值