欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基础知识打卡第十一天

程序员文章站 2022-06-11 17:57:53
lambda表达式和内置高阶函数...

面向对象

 面向对象是一种抽象化的编程思想,很多编程语言中都有的一种思想。
 面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。
 在面向对象编程过程中,有两个重要组成部分:类 和对象。
 类和对象的关系:可以用类去创建对象。

1、面向对象实现的方法

1.1 类的定义

类是对一系列具有相同特征和行为的事物的统称,是一个抽象的概念,不是真实存在的事物。
特征即是属性;
行为即是方法。
类比如是制造汽车时要用到的图纸,也就是说类是用来创建对象。

  • 语法
class 类名():
   代码
  ......

注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。

1.2 创建对象

对象也称之为实例,创建对象的过程也叫作实例化对象。
创建对象语法:

 对象名=类名()
# 创建对象
car1 = Car()
# <__main__.Car object at 0x0000018B7B224240>
print(car1)
# car1对象调用实例⽅法
car1.drive()

1.3 self

self指的是调用该函数的对象。

#定义类
class Car():
 	def drive(self):
 		print("我是老司机,我会开车")
		print(self)
# 创建对象
car1=Car()
print(car1)
car1.drive()#car1对象调用实例的方法
car2=Car()
print(car2)

注意:打印对象和self得到的结果是一致的,都是当前对象在内存中存储地址。

1.4 添加和获取对象属性

属性即是特征,比如:汽车的宽度、高度、重量…
对象属性既可以在类外面添加和获取,也能在类内部添加和获取。

1.4.1 类外面添加对象的属性

语法:
对象名.属性名=值

car1.height=1400
car1.width=1700
ca1.lenth=4700

1.4.2类外面获取对象的属性

语法:
对象名.属性名

print(f'car1汽车的宽度是{car1.width}')
print(f'car1汽车的高度是{car1.height}')

1.4.3类内部获取对象的属性

语法:self.属性名

# 定义类
class Car():
def print_info(self):
	# 类⾥里面获取实例属性
	print(f'car1汽车的宽度是{car1.width}')
	print(f'car1汽车的高度是{car1.height}')
# 创建对象
car1= Car()
# 添加实例属性
car1.width = 1700
car1.height = 1400
car1.print_info()

1.5 魔法方法

在Python中,_xx_()’’ 的函数叫做魔法方法,指的是具有特殊功能的函数。

1.5.1 _init_()

_init_() 方法的作用:初始化对象。

#定义类
class Car():
	# 定义初始化功能的函数
	def __init__(self):
	#添加实例属性
	self.width=1700
	self.height=1400
	
 	def print_info(self):
		# 类⾥里面获取实例属性
		print(f'car1汽车的宽度是{self.width}')
		print(f'car1汽车的高度{self.height}')
	# 创建对象
	car1=Car()
	car1.print_info()

注意:
_init_() 方法,在创建一个对象时默认被调用,不需要手动调用。
_init_(self) 中的self参数不需要开发者传递,python解释器会自动把当前的对象引用传递过去。

1.5.2 带参数的_init_()

#定义类
class Car():
	# 定义初始化功能的函数
	def __init__(self,width,height):
	#添加实例属性
	self.width=width
	self.height=height
	
 	def print_info(self):
		# 类⾥里面获取实例属性
		print(f'car1汽车的宽度是{self.width}')
		print(f'car1汽车的高度{self.height}')
	# 创建对象
	car1=Car(1700,1400)
	car1.print_info()
	
    car2=Car(1500,1300)
	car2.print_info()

1.5.3 _str_()

当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了__str__ 方法,那么就会打印从在这个方法中 return 的数据。

class Car():
	# 定义初始化功能的函数
	def __init__(self,width,height):
	#添加实例属性
	self.width=width
	self.height=height
	def __str__(self):
	   return '这是老司机开车手册'
 	def print_info(self):
		# 类⾥里面获取实例属性
		print(f'car1汽车的宽度是{self.width}')
		print(f'car1汽车的高度{self.height}')
	# 创建对象
	car1=Car(1700,1400)
	print(car1)#这是老司机开车手册

1.5.4 _del_()

当删除对象时,python解释器也会默认调用__del__() 方法。

class Car():
	# 定义初始化功能的函数
	def __init__(self,width,height):
	#添加实例属性
	self.width=width
	self.height=height
	def __str__(self):
	   return '这是老司机开车手册'
	def __del__(self):
	   print(f'{self}对象已经被删除')
 	def print_info(self):
		# 类⾥里面获取实例属性
		print(f'car1汽车的宽度是{self.width}')
		print(f'car1汽车的高度{self.height}')
	# 创建对象
	car1=Car(1700,1400)
	del car1# <__main__.Washer object at 0x0000026118223278>对象已经被删除

本文地址:https://blog.csdn.net/qq_35793394/article/details/107200543