python关闭对象语法_python类和对象语法

实例变量

表示每个对象自己的数据。

定义:对象.变量名

调用:对象.变量名

首次通过对象赋值为创建,再次赋值为修改。

w01=Wife()

w01.name="建宁"

w01.name="建宁公主"

__dict__对象的属性,用于存储自身实例变量的字典。

实例方法

定义:

def 方法名称(self,参数列表):

方法体

调用:对象地址.实例方法名(参数列表)

注意,不建议通过类名访问实例方法。

至少有一个形参,第一个参数绑定调用这个方法的对象,一般命名为"self"。

无论创建多少对象,方法只有一份,并且被所有对象共享,用于表示对象行为。

实例变量:自己的数据。

实例方法:操作实例变量。

类成员

类变量:表示所有对象共有的数据。

在类中,方法外定义变量。

class 类名:

变量名=表达式

调用:类名.变量名

注意,不建议通过对象访问类变量

特点:存在优先于对象,随类的加载而创建,只有一份,被所有对象共享。

类方法

定义:

@classmethod

def 方法名称(cls,参数列表):

方法体

调用:类名.方法名(参数列表)

注意:不建议通过对象访问类方法。

至少有一个形参,第一个形参用于绑定类,一般命名为’cls’

使用@classmethod修饰的目的是调用类方法时可以隐式传递类。

类方法中不能访问实例成员,实例方法中可以访问类成员。类方法用于操作类变量,表示大家的行为。

类变量:大家的数据。

类方法:大家的行为。

静态方法

既不访问实例成员也不访问类成员。通常作为类中独立的工具函数。

定义:

@staticmethod

def 方法名称(参数列表)

方法体

调用:类名.方法名(参数列表)

注意:不建议通过对象访问静态方法

使用@staticmethod修饰的目的是该方法不需要隐式传参数。

封装

将一些基本数据类型复合成一个自定义类型。向外提供必要的功能,隐藏实现的细节。

例如:

class Wife:

def __init__(self,name,face_score,age):

self.name=name

self.face_score=face_score

self.age=age

将数据与对数据的操作相关联。代码可读性更高(类是对象的模板)。

私有成员

作用:无需向类外提供的成员,可以通过私有化进行屏蔽。

做法:命名使用双下划线开头。

本质:障眼法,实际也可以访问。

私有成员的名称被修改,可以通过_dict_属性或dir函数查看

属性相关概念

属性@property

公开的实例变量,缺少逻辑验证。私有的实例变量与两个公开的方法相结合,又使调用者的操作略显复杂。而属性可以将两个方法的使用方式像变量一样方便。

定义:

@property

def 属性名(self):

return self.__属性名

@属性名.setter

def 属性名(self,value):

self.__属性名=value

调用:

对象.属性名=数据

变量=对象.属性名

说明:通常两个公开的属性(读、写),保护一个私有的变量。

@property负责读取,@属性名.setter 负责写入。

原文链接:https://blog.csdn.net/u014639859/article/details/108404982

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值