QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
编程 JavaScript Java C++ Python SQL C Io ML COBOL Racket APL OCaml ABC Sed Bash Visual Basic Modula-2 Logo Delphi IDL Groovy Julia REXX Chapel X10 Forth Eiffel C# Go Rust PHP Swift Kotlin R Dart Perl Ruby TypeScript MATLAB Shell Lua Scala Objective-C F# Haskell Elixir Lisp Prolog Ada Fortran Erlang Scheme Smalltalk ABAP D ActionScript Tcl AWK IDL J PostScript IDL PL/SQL PowerShell

python中属性定义及注意点

日期:2025/04/03 21:37来源:未知 人气:54

导读:一、类的属性 1、类属性 python 的属性分为实例属性和类属性,实例属性是以 self 为前缀的属性,如果构造函数中定义的属性没有使 用 self 作为前缀声明,则该变量只是普通的局部变量,类中其它方法定义的变量也只是局部变量,而非类的实例 属性我们先来了解类属性(属性又称为变量)。在前面的例子中我们已经接触到了类属性,顾名思义,类属性就是类对象所拥有的属性,它被所有类对象......

一、类的属性

1、类属性

python 的属性分为实例属性和类属性,实例属性是以 self 为前缀的属性,如果构造函数中定义的属性没有使 用 self 作为前缀声明,则该变量只是普通的局部变量,类中其它方法定义的变量也只是局部变量,而非类的实例 属性

我们先来了解类属性(属性又称为变量)。

在前面的例子中我们已经接触到了类属性,顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的 实例对象所共有,在内存中只存在一个副本,这个和 C++中类的静态成员变量有点类似。因此,类属性又称为静 态属性。而对于静态属性,在类外可以通过类名打点直接访问。我们来看以下示例:

创建学生类,并定义类属性 count,用来记录创建的学生对象数量。代码如下:

总结如下:

1) 类属性(又称静态属性或静态变量)就是给 类对象 中定义的 属性

2) 通常用来记录 与这个类相关 的特征

3) 类属性 不会用于记录 具体对象的特征() 4) 类属性 可以通过类对象(即类名)打点调用,也可以通过类的实例打点调用。

2、实例属性

实例属性,顾名思义,就是类的实例的属性。如任务 1-1 中对象 stu1 的属性分别是姓名、身高和性别。实 例属性的定义有两方式:

一、实例属性是以 self 为前缀的属性,比如任务 1-1 中的 name,height,sex。

二、实例属性可以不在类中显示定义,在类外对类对象 Student 进行实例化之后,产生了一个实例对象 stu1,然 后 stu1.age = 12 这句给 stu1 添加了一个实例属性 age,赋值为 12。这个实例属性是实例对象 stu1 所特有的,注 意,类对象 Student 和实例对象 stu2,stu3 并不拥有它(所以不能通过类对象来访问这个 age 属性)。示例如下:

上述示例中,对象 stu2 访问 stu1 特有的属性时报错,但 stu1 访问并没有问题。 需要注意的是,如果需要在类外修改类属性(静态属性),必须通过类对象去引用然后进行修改。如果通过 实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性,不会影响到类属性,并且之后如果 通过实例对象去引用该名称的属性,实例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属 性。

3、静态属性和实例属性的区别

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告