Python进阶与提高2--面向对象

目标

1、dir 内置函数
2、类的定义
3、方法中的 self 参数
4、初始化方法

一、dir 内置函数

1、在标识符/数据后输入一个 . ,然后按下 TAB 键,ipython会提示该对象能够调用的方法列表。
2、使用内置函数 dir 传入标识符/数据,可以查看对象内的所有属性和方法。常用的内置方法:①__new__:创建对象时,会被自动调用。
②__init__:对象被初始化时,会被自动调用。
③__del__:对象从内存中销毁时,会被自动调用。
④__str__:返回对象的描述信息,print 函数输出使用。

二、类的定义

**语法为:

class 类名: 
	def 方法1(self, 参数列表):  
		pass 
	def 方法2(self, 参数列表):  
		pass 

三、创建对象

第一个面向对象程序:
小猫爱吃鱼,小猫爱喝水。

class Cat:    
	def eat(self):        
		print('小猫爱吃鱼')    
	def drink(self):        
		print('小猫爱喝水')
Tom = Cat()
Tom.eat()
Tom.drink()

输出为:

小猫爱吃鱼
小猫爱喝水

四、方法中的 self 参数

Tom对象增加属性:
1、直接在外部增加属性(不推荐使用)

Tom.name = 'TOM'
print(Tom.name)

输出为:

TOM

2、self 理解
哪一个对象调用的方法,self 就是哪一个对象的引用

class Cat:    
	def eat(self):        
		print('%s爱吃鱼'%self.name)    
	def drink(self):        
		print('%s爱喝水'%self.name)
Tom = Cat()
Tom.name = '汤姆'
Tom.eat()
Tom.drink()

输出为:

汤姆爱吃鱼
汤姆爱喝水

五、初始化方法以及__str__、__del__方法

当使用类名()创建对象时,会自动执行以下操作:
1、为对象在内存中分配空间–创建对象。
2、为对象的属性设置初始值–初始化方法__init__,是专门用来定义一个类中具有哪些属性的方法。

class Cat:    
	def __init__(self,new_name):        
		self.name = new_name    
	def eat(self):       
		print('%s爱吃鱼'%self.name)    
	def drink(self):        
		print('%s爱喝水'%self.name)
Tom = Cat('汤姆')
Tom.eat()
Tom.drink()

输出为:

汤姆爱吃鱼
汤姆爱喝水

3、__str__和__del__方法

class Cat:
    def __init__(self, new_name):
        self.name = new_name
        
    #返回print函数打印对象名时想输出的结果,且__str__必须返回一个字符串
    def __str__(self):
        return 'hello %s'%self.name
    
    #返回对象被销毁时执行结果
    def __del__(self):
        print('hello world')
Tom = Cat('汤姆')
print(Tom)

输出为:

hello 汤姆
hello world
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值