# 定义一个类
class A(object):

# 类属性
    # 实例属性
    # 类方法
    # 实例方法
    # 静态方法

# 类属性,直接在类中定义的属性是类属性
    #   类属性可以通过类或类的实例访问到
    #   但是类属性只能通过类对象来修改,无法通过实例对象修改
    count = 0

def __init__(self):
        # 实例属性,通过实例对象添加的属性属于实例属性
        #   实例属性只能通过实例对象来访问和修改,类对象无法访问修改
        self.name = '孙悟空'

# 实例方法
    #   在类中定义,以self为第一个参数的方法都是实例方法
    #   实例方法在调用时,Python会将调用对象作为self传入  
    #   实例方法可以通过实例和类去调用
    #       当通过实例调用时,会自动将当前调用对象作为self传入
    #       当通过类调用时,不会自动传递self,此时我们必须手动传递self
    def test(self):
        print('这是test方法~~~ ' , self)

# 类方法    
    # 在类内部使用 @classmethod 来修饰的方法属于类方法
    # 类方法的第一个参数是cls,也会被自动传递,cls就是当前的类对象
    #   类方法和实例方法的区别,实例方法的第一个参数是self,而类方法的第一个参数是cls
    #   类方法可以通过类去调用,也可以通过实例调用,没有区别
    @classmethod
    def test_2(cls):
        print('这是test_2方法,他是一个类方法~~~ ',cls)
        print(cls.count)

# 静态方法
    # 在类中使用 @staticmethod 来修饰的方法属于静态方法  
    # 静态方法不需要指定任何的默认参数,静态方法可以通过类和实例去调用  
    # 静态方法,基本上是一个和当前类无关的方法,它只是一个保存到当前类中的函数
    # 静态方法一般都是一些工具方法,和当前类无关
    @staticmethod
    def test_3():
        print('test_3执行了~~~')

a = A()
# 实例属性,通过实例对象添加的属性属于实例属性
# a.count = 10
# A.count = 100
# print('A ,',A.count) 
# print('a ,',a.count) 
# print('A ,',A.name) 
# print('a ,',a.name)

# a.test() 等价于 A.test(a)

# A.test_2() 等价于 a.test_2()

A.test_3()
a.test_3()

类中的属性和方法(Python入门三十三)相关推荐

  1. 在jsp中调用常量类中的属性值

    在jsp中想要调用常量类中的属性值方法: 1.  在jsp中导入此常量类   <%@page import="com.Zyp.constant.FlagConstant"%& ...

  2. python类中没有属性_如何在python语言中在类中删除属性和添加属性

    在python语言中的类,可以使用class定义类,调用__init__方法进行初始化:默认传入self,可以在后面在添加几个属性.可以使用setattr()添加属性,也可以使用delattr()删除 ...

  3. 用生动的例子花式解释:python类中一定需要有 __init__方法么?没有会怎样?

    python 类中一定需要有 __init __方法么?没有的会怎样? 在回答这个问题之前,先说两个问题: ① 面向对象编程? ② 什么是类? 面向对象,先上一个正式点的解释: "把一组数据 ...

  4. python封装:隐藏对象中的属性或方法(三分钟读懂)

    封装:隐藏对象中的属性或方法 隐藏对象中的属性 隐藏:- 将对象的属性名,修改为一个外部不知道的名字 我们使用时,有特殊方法来处理获取(修改)对象中的属性 获取(修改)对象中的属性 需要提供一个get ...

  5. python 类中的变量、方法

    一. python 类中的变量分为类变量,实例变量,self # coding:utf-8class A(object):date = '20201215' # 类变量def __init__(sel ...

  6. flash AS3.0访问加载的SWF文件中的属性、方法以及类、库中的影片剪辑

    对于FLASH,我们可以把任何的可视化元件都看成某个类文件的具体实例,包括swf文件. 我们可以把swf文件看成一个类的具体实例,而它里面拥有个个其他类的实例对象,例如: 我们新建一个loaded.f ...

  7. 创建一个Customer类,类中的属性有姓名(name)、年龄(age)、性别(gender),每一个属性分别有get/set方法。然后创建两个customer对象:张立、18、女和王猛、22、男。把

    创建一个Customer类,类中的属性有姓名(name).年龄(age).性别(gender),每一个属性分别有get/set方法.然后创建两个customer对象:张立.18.女和王猛.22.男.把 ...

  8. python私有函数实现_024孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘...

    (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我们定义类时是否在类的内部代码块中定义过它们,这些私有方法都是存在的.比 ...

  9. moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解

    ☞ ░ 前往老猿Python博文目录 ░ 一.概述 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>和<moviepy音视频剪辑:moviepy中的剪辑基类Cl ...

最新文章

  1. 掌握这些技巧助你轻松绘制程序流程图
  2. Adprep 无法完成,原因是回叫功能失败
  3. java 成员类_Java类的五大成员之一——内部类
  4. linux:date 命令
  5. 摊牌了,我 HTTP 功底贼好!
  6. JS 将有规律的数组,转换成对象数组
  7. Oracle分区表常用命令
  8. java建立tcp服务器长连接_B/S 架构下后端能否建立 TCP 长连接?
  9. 如何使用frame框架,将左边视为导航栏,右边作为链接界面
  10. wamp怎么安装mysql服务器_用wamp的mysq安装pythonmysql
  11. HTML基础知识点(1)
  12. JavaScript多种跨域方式
  13. 半年成java大佬_通过自学60天成为java大佬 第一天 知识点总结 数据类型
  14. 1)Java JDK和JRE
  15. python读取文件路径中有中文_转 python 读取中文文件名/中文路径
  16. 0-day漏洞,1-day漏洞,n-day漏洞各自是什么意思?
  17. 【犯二记录】链表结点换位引发的思维僵化,太可怕,智商 == 0
  18. 支持iCloud的html文本编辑,人人都可用 iCloud网页版iWork完全开放
  19. 立体栅格地图_基于八叉树表示的三维栅格地图路径规划系统及方法与流程
  20. HTML+CSS+JS 01篇

热门文章

  1. 新版本android studio 找不到task打包选项了
  2. 如何查询mysql数据库大小写敏感_MySQL数据库大小写敏感的问题
  3. 解决R语言临时文件目录的问题(tempdir、tempfile)
  4. OBD-II标准故障码定义
  5. Ceph运维存储 命令管理操作
  6. Objects类的常用方法
  7. 学习Word制作名片简单方法(转)
  8. mac 桌面分屏软件_让你更加详细了解Mac分屏功能
  9. 兴奋氨基酸有什么作用?
  10. 计算机屏幕暗度怎么调,电脑显示屏亮度怎么调节「图文」