Python类和对象使用

本文深入探讨Python的面向对象编程,包括类的定义、实例化、构造函数、私有成员,以及继承、组合的概念。同时,介绍了内置函数如`issubclass()`、`isinstance()`等用于检查类和对象的关系。此外,还讲解了Python的魔法方法如`__new__`和`__del__`,以及何时调用它们。面向对象编程是Python强大的特性之一,理解这些概念对于编写高效代码至关重要。
摘要由CSDN通过智能技术生成

Python学习的第N天
类和对象
一、定义类

class 类名 :
	变量
	方法
1.1	def 方法名(self,参数):
		内容	(self.name=name)
注意:self不是参数,而是必须带的,相当于指针
1.2	构造函数
		class B:
			def _init_(self,name)
				self.name=name;
			def kk(self)
				plant(self.name)
		 t=B('sss')
		 t.kk()	结果为sss
1.3  私有符号  只需要在前面加__,两个下划线代表私有

二、声明对象

t=类名()
t.方法(参数)

三、继承

class Mylist(list):
	def _init_(self):
		super()._init_()
		self.xx=xx
		
pass
上面的 Mylist就继承了list,可以使用list的各种方法

四、组合

class A:
	...

class B:
	...
class C:
	def _init_(self,x,y)
		self.a=A(x)
		self.b=B(y) 

五、一些BIF

5.1、 issubclass(A,B)
	判断A是不是B的子类  返回结果为bool型
5.2、isinstace(A,B)
	判断A是不是B的对象
5.3、hasattr(A,'X')
	判断X是不是A的一个属性
5.4、getattr(A,'X')
	判断X是不是A的一个属性,并返回X的值
5.5、setattr(A,'Y',value)
	判断Y是不是A的一个属性,如果有,则将其值设置为value,如果没有同样新建一个属性Y并赋值
5.6、delattr(A,'Y')
	判断Y是不是A的一个属性,如果有则删除
5.7、property(get,set,del)
	通过属性去设置属性,里面的三个方法是自己写的,如
	class A:
		def _init_(self,size=10)
			self.size=size
		def get(self)
			return self.size
		def set(self,size)
			self.size=size
		def del(self)
			del self.size
		c1=A()
		c1.x=11  通过设置x的值去调用set函数,从而改变size的值

六、魔法方法

6.1、_new_(cls,string)
class A(str):
	def _new_(cls,string):
		string=string.upper()
		return str._new_(cls,string)

a=A('sss')
a   结果为SSS

6.2、_del_(self)
class A():
	def _init_(self)
		print("XXX")
	def_del_(self)
		print("YYY")
a=A()  b=a  c=b
注意只有所有指向A的对象都被销毁才会调用_del_(self)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值