Python 对象和类

面向对象:将数据与函数绑定到一起,就是对变量与函数的封装
#定义类

class Name(object): # 大驼峰命名方法
	__slots__=("property")
	property= #类属性
	__property= #类私有属性	
	def __new__(cls):#创建实例对象,用于实现单一实例
	def __del__(self): #当对象死亡时调用(程序终止时,对象也死亡)
	def __str__(self):#用print打印对象时,用于显示对象基本信息,默认的是对象的地址
	def __int__(self,arg1,arg2):#初始化实例对象
		self.property= arg1#实例对象属性
		self.__property= arg2 #实例对象私有属性
	def func(self): #实例独享方法
	def __func(sefl): #实例对象私有方法
	@classmethod
	def func(cls): #类对象方法
	@staticmethod()
	@property

类属性

类对象属性,它被所有的类对象和实例对象所共有,在内存中只有一个地址
如果实例对象,添加了类对象相同的属性名,则会优先调用实例对象的属性。

类方法 @classmethod

类方法,它倍所有的类的对象和实例所共有,第一个参数必须是类对象,一般用"cls"来表示

静态方法 @staticmethod

静态方法不需要多定义参数,静态方法中引用类属性的话,必须通过类对象来引用

@property

讲方法转换为属性

  1. self 关键字 指代对象自己,类的方法要传递自己self这是一个编码规范
  2. 私有属性,私有方法都不可以在类外面被调用(只可以通过类内部的方法来调用),这种特性用来保护比较重要(可能会更改失误,或者不想被其他人知道)的属性和方法,使得只能通过if中的特殊条件才能访问
  3. del obj删除的是引用,sys.getrefcount()获得对象的引用计数
  4. 类属性和方法是所有对象共用的

实例化

  1. 调用__new__方法(new__默认会调用object的__new(cls)方法来创建类对象)
  2. 调用__init__方法(实例会去类里面找,__init__是类里面的方法)
    (2和3合起来是构造方法)
  3. 返回对象的引用

其他

下划线的作用

name:公有
_name:模块私有,import *
_name:类私有,模块私有,import *;(其实可以用变成了_class__name)
name:Python系统方法
name
:避免冲突

getter和setter方法

name = property(getter,setter) 相当于对方法名的封装
相当于@property 方法名就是属性

Python 闭包

定义函数不会被执行,只有在调用的时候才会返回执行
闭包: 就是函数的嵌套,然后返回内层函数的引用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值