• 技术文章 >常见问题 >Python常见问题

    python属性和方法的区别是什么

    silencementsilencement2019-11-21 13:32:53原创8807

    对象的创建

    创建对象的过程称之为实例化;当一个对象被创建后,包含三个方面的特性:对象句柄、属性和方法。

    句柄用于区分不同的对象

    对象的属性和方法与类中的成员变量和成员函数对应

    obj=MyClass() //创建类的一个实例(对象)通过对象来调用方法和属性

    类的属性

    类的属性按使用范围:公有属性和私有属性,

    类的属性范围取决于属性的名称。

    公有属性:在类中和类外都能调用属性。

    私有属性:不能在类外及被类意外的函数调用。

    定义方式:以“_”双下划线开始的成员变量就是私有属性

    私有属性,可以通过instance._classname_attribute方式访问。

    内置属性:有系统在定义类的时候默认添加的,由前后双下划线构成,dict,module.

    #!/usr/bin/env python
    #-*-coding:utf-8-*-
    #@Time   : 2018/1/11 15:48
    #!@Auther:bestsky
    #!@File  :demon1-class attributes.py
    class People(object):
        color = "yellow"
        __age = 30  #私有属性
        def think(self):
            self.color = "black"
            print ("I am a %s" %self.color)
            # print self.__age
    ren = People()
    print ren
    print ren.color
    ren.think()

    print ren._People__age #私有属性调用方法,建议:仅程序测试使用

    python学习网,免费的python学习网站,欢迎在线学习!

    类的方法

    方法的定义和函数一样,但是需要self作为第一个参数

    类的方法为:

    公有方法

    公有方法:在类中和类外都能调用的方法

    私有方法

    私有方法:不能被类外部调用,在方法前面加上“__“双下划线就是私有方法;

    类方法

    类方法:被classmethod()函数处理过的函数,能被类所调用,也能被对象所调用(是继承的关系)

    静态方法

    静态方法:相当于“全局函数”,可以被类直接调用,可以被所有实例化对象共享,通过staticmethod()定义, 静态方法没有“self”参数。

    self参数

    用于区分函数和类的方法(必须有一个self),self参数表示执行对象本身。

    专题推荐:属性
    上一篇:树莓派和python有啥关系 下一篇:怎么判断python是否已经安装

    相关文章推荐

    • Python中property特性属性是什么• python rsplit是什么属性

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网