绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Python面向对象程序设计:类变量与成员变量方法分析(含实例)
2020-01-09 17:39:29

前言:

今天为大家带来的内容是Python面向对象程序设计:类变量与成员变量方法分析(含实例),喜欢的记得点赞转发关注不迷路哦!!!

本文实例讲述了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法。分享给大家供大家参考,具体如下:

  1. 类变量与成员变量
  2. 在类中声明的变量我们称之为类变量[静态成员变量],
  3. 在init()函数中声明的变量并且绑定在实例上的变量我们称之为成员变量。
  4. 类变量直接可以通过类名来调用。

1、若类变量与成员同时存在并且同名

使用对象来调用的时候,获取的结果是成员变量的值,

使用类名来调用,获取的是类变量的值。

2、若类变量存在,成员变量不存在,

使用对象来调用的时候,它首先寻找成员变量,

如果成员变量不存在。则去寻找类变量。

3、若类变量不存在,成员变量存在:

使用类名来调用,则会报错

总结:

类变量通过类名或者对象来调用都不会报错,但是成员变量只能通过对象来调用。

通过对象来修改类属性的时候,只能作用到对象自己本身,作用不到类,

若是通过类名来修改类属性,则只对类变量的值进行修改。

Python面向对象程序设计:类变量与成员变量方法分析(含实例)

输出:

Python面向对象程序设计:类变量与成员变量方法分析(含实例)

类方法与成员方法

类方法,成员方法

类方法:使用类名来调用的方法

成员方法:使用对象来调用的方法

若一个方法定义在类中,但是没有参数[一般默认self],此时我们只能通过类名来调用

若我们需要使用到一个类的对象,首先要实例化。

Python面向对象程序设计:类变量与成员变量方法分析(含实例)

输出:

I am xiaoming, I am 19 year old

hello I am class function

类方法与静态方法

静态方法

当调用此方法时,不会将类的实例传递给它。

在类中定义的函数。

无需实例化类,就可以调用。它的定义在继承中,是不可变的。

类方法:

当调用此方法时,将函数所属的类作为个参数传递。

Python面向对象程序设计:类变量与成员变量方法分析(含实例)

输出:

Python面向对象程序设计:类变量与成员变量方法分析(含实例)

下划线

下划线定义特殊的方法,一般情况下是系统定义名字,

如:

__init()__、__del()__

前双下划线(age):表示私有类型的变量(privated),只能在本类中进行访问,外界不能直接访问。如__age.

单下划线(_age):以单下划线开头的表示保护类型变量(protected),

错误提示:

  1. 保护类型的变量只允许本身以及子类访问,不能用于from module import *
  2. [使用单下划线开头的时候,虽然变量能够直接被访问,但是请把变量视为一个保护类型的变量,尽量不要去访问。

以上就是本文的全部内容!!!

分享好友

分享这个小栈给你的朋友们,一起进步吧。

MySQL&python小菜鸟打怪升级栈
创建时间:2019-07-06 12:51:25
MySQL and python 菜鸟漫长升级路
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • sql_master
    栈主

小栈成员

查看更多
  • local0
  • 栈栈
  • chinacc
  • daxuesheng
戳我,来吐槽~