Python中如何区分类变量和实例变量(类属性与实例属性)?

2026-06-11 03:340阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2213个文字,预计阅读时间需要9分钟。

Python中如何区分类变量和实例变量(类属性与实例属性)?

无 论是属性还是方法,都无法像普通变量或函数那样直接使用。我们可以将类看作一个独立的空间,其中属性实际上是在类体中定义的变量,而方法是类体中定义的函数。

无论是类属性还是类方法,都无法像普通变量或者函数那样,在类的外部直接使用它们。我们可以将类看做一个独立的空间,则类属性其实就是在类体中定义的变量,类方法是在类体中定义的函数。

前面章节提到过,在类体中,根据变量定义的位置不同,以及定义的方式不同,类属性又可细分为以下 3 种类型:
  1. 类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;
  2. 类体中,所有函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
  3. 类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量。

不仅如此,类方法也可细分为实例方法、静态方法和类方法,后续章节会做详细介绍。

那么,类变量、实例变量以及局部变量之间有哪些不同呢?接下来就围绕此问题做详细地讲解。

类变量(类属性)

类变量指的是在类中,但在各个类方法外定义的变量。举个例子:

class CLanguage : # 下面定义了2个类变量 name = "C语言中文网" add = "c.biancheng.net" # 下面定义了一个say实例方法 def say(self, content): print(content) 上面程序中,name 和 add 就属于类变量。

阅读全文

本文共计2213个文字,预计阅读时间需要9分钟。

Python中如何区分类变量和实例变量(类属性与实例属性)?

无 论是属性还是方法,都无法像普通变量或函数那样直接使用。我们可以将类看作一个独立的空间,其中属性实际上是在类体中定义的变量,而方法是类体中定义的函数。

无论是类属性还是类方法,都无法像普通变量或者函数那样,在类的外部直接使用它们。我们可以将类看做一个独立的空间,则类属性其实就是在类体中定义的变量,类方法是在类体中定义的函数。

前面章节提到过,在类体中,根据变量定义的位置不同,以及定义的方式不同,类属性又可细分为以下 3 种类型:
  1. 类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;
  2. 类体中,所有函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
  3. 类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量。

不仅如此,类方法也可细分为实例方法、静态方法和类方法,后续章节会做详细介绍。

那么,类变量、实例变量以及局部变量之间有哪些不同呢?接下来就围绕此问题做详细地讲解。

类变量(类属性)

类变量指的是在类中,但在各个类方法外定义的变量。举个例子:

class CLanguage : # 下面定义了2个类变量 name = "C语言中文网" add = "c.biancheng.net" # 下面定义了一个say实例方法 def say(self, content): print(content) 上面程序中,name 和 add 就属于类变量。

阅读全文