Python实例属性

Python实例属性

Python 中的实例属性是指定义在 的方法的内部的属性,Python 中的实例属性可以有 0 个或者多个。

Python实例属性创建详解

语法

class People: money = 10000 def __init__(self, name, age): self.nm = name self.ag = age pass

说明

我们定义了一个 People 类,People 类的 money 属性是定义在 函数 外部的,因此 money 属性属于类属性。

其中,__init__ 函数的 参数 name 和 age,并不是实例属性,这只是 __init__ 函数中的局部 变量,我们必须在函数内部将这两个参数赋值给 self. 的形式,这时类中才有了实例属性。

因此,类 Person 中的实例属性只有 nm 和 ag,而不是 name 和 age。

Python实例属性调用详解

说明

Python 的实例属性只能通过 “实例.属性” 的方法来调用。

语法

p.nm

参数

参数 描述
p 类的实例,也叫对象。
nm 类实例的属性。

说明

通过 “实例.属性” 的方法,访问实例属性。

案例

实例属性调用

通过实例访问实例属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self, name, age): print("Call init") stu = Student("HaiCoder", 18) print("Name =", stu.name, "Age =", stu.age, "Score =", stu.score)

程序运行后,控制台输出如下:

12_python对象属性.png

我们创建了一个类 Student,接着,为该类添加了一个类属性 score,和一个 __init__ 方法,其中 __init__ 方法中有三个参数。

接着,我们创建了一个 Student 类的实例,并通过实例来调用实例属性,此时程序报错,因为此时的 name 和 age 并不是实例属性,只是局部变量。

实例属性调用

通过实例访问实例属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self, name, age): self.nm = name self.ag = age stu = Student("HaiCoder", 18) print("Name =", stu.nm, "Age =", stu.ag, "Score =", stu.score)

程序运行后,控制台输出如下:

13_python对象属性.png

我们创建了一个类 Student,接着,为该类添加了一个类属性 score,和一个 __init__ 方法,其中 __init__ 方法中有三个参数。

接着,我们在 __init__ 方法里面,通过 “self.” 的形式,将 self 函数的参数 name 和 age 分别赋值给类 Student 的实例属性 nm 和 age,此时类 Student 中就有了两个实例属性,即 nm 和 ag。

接着,我们创建了一个 Student 类的实例,并通过实例来调用实例属性和类属性。

Python实例属性总结

Python 中的实例属性是指定义在类的方法的内部的属性,Python 中的实例属性可以有 0 个或者多个。Python 实例属性创建语法:

class People: money = 10000 def __init__(self, name, age): self.nm = name self.ag = age pass

Python 的实例属性只能通过 “实例.属性” 的方法来调用。