------------恢复内容开始------------

类及类的定义

Cat类

类的特殊方法-构造函数、析构函数

  1. class Cat
  2.   # 构造函数
  3.   def __init__(self, name, *args, **kwargs):
  4.     self.name = name
  5.   def eat(self):
  6.     pass
  7.   # 析构函数
  8.   def __del__(self):
  9.     pass
  10.   pass

其他类的特殊方法

  __doc__:文档信息

  __module__:模块信息

  tag:自定义的类属性

  catch:自定义的类方法

  __dict__:

类的实现

  1. class Cat(object):
  2. """
  3. 猫科动物类
  4. """
  5.  
  6. tag = '我是家猫'
  7.  
  8. def __init__(self, name, age, sex=None):
  9. self.name = name
  10. self.__age = age
  11. self.sex = sex
  12.  
  13. def set_age(self, age):
  14. """
  15. 改变猫的年龄
  16. :param age: int 年龄
  17. """
  18. self.__age = age
  19. # return self.__age
  20.  
  21. def show_info(self):
  22. """
  23. 显示猫的信息
  24. :return:
  25. """
  26. rest = '我叫:{0}, 今年{1}岁.'.format(self.name, self.__age)
  27. print('我的性别:{0}'.format(self.sex))
  28. print(rest)
  29. return rest
  30.  
  31. def eat(self):
  32. """ 吃 """
  33. print('猫喜欢吃鱼')
  34.  
  35. def catch(self):
  36. """ 猫捉老鼠 """
  37. print('我能捉老鼠')
  38.  
  39. class Tiger(object):
  40. pass
  41.  
  42. if __name__ == '__main__':
  43. # 实例化你家的小黑
  44. cat_black = Cat('小黑', 2, '公的')
  45. cat_black.eat()
  46. cat_black.show_info()
  47. print('------------')
  48. # print(cat_black.name)
  49. # print(cat_black.age)
  50. # print(cat_black.__age) # 无法访问私有变量
  51. # 更改猫的名称
  52. cat_black.name = '黑黑' # 可以直接改变
  53. cat_black.__age = 6 # 无法操作私有变量
  54. cat_black.show_info()
  55.  
  56. print('-------------')
  57. cat_black.set_age(7)
  58. cat_black.show_info()
  59.  
  60. print(Cat.tag)
  61. print(cat_black.tag)
  62.  
  63. # 实例化我家的小白
  64. print('xxxxxxxxxxxxxxxxxxx')
  65. cat_white = Cat('小白', 3, '母的')
  66. cat_white.show_info()
  67. print(cat_white.tag)
  68.  
  69. # 类的实例判断
  70. print(isinstance(cat_black, Cat))
  71. print(isinstance(cat_white, Cat))
  72. print(isinstance(cat_black, Tiger))
  73. print(isinstance(cat_white, Tiger))

  

------------恢复内容结束------------

Python-类的特性的更多相关文章

  1. Python 类的特性讲解

    类的特性讲解 类的特性 #定义一个类, class是定义类的语法,Role是类名, (object)是新式类的写法,必须这样 写,以后再讲为什么 class Role(object): #初始化函数, ...

  2. python类的特性

    #encoding=utf-8 class Province: #静态字段 memo = '这里是静态变量' def __init__(self,name,capital,leader,flag): ...

  3. Python的高级特性8:你真的了解类,对象,实例,方法吗

    Python的高级特性1-7系列是本人从Python2过渡3时写下的一些个人见解(不敢说一定对),接下来的系列主要会以类级为主. 类,对象,实例,方法是几个面向对象的几个基本概念,其实我觉得很多人并不 ...

  4. 转:从pickle看python类成员的动态加载和类的定位

      pickle是Python轻便的对象序列化工具.使用pickle可以方便地把python对象写入文件对象中,或者像soap那样在socket间传送.     按照python的一贯作风,类的成员在 ...

  5. python 类知识点总结

    python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...

  6. python类:magic魔术方法

    http://blog.csdn.net/pipisorry/article/details/50708812 魔术方法是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法&q ...

  7. (转)python类:magic魔术方法

    原文:https://blog.csdn.net/pipisorry/article/details/50708812 版权声明:本文为博主皮皮http://blog.csdn.net/pipisor ...

  8. Python学习笔记之面向对象编程(三)Python类的魔术方法

    python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法.这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分 ...

  9. python类和元类

    python 类和元类详解  小麦麦子 2016-09-06 11:11:00        今天在网上看到一篇关于python语言中类和元类(metaclass)的一些讲解和简单运用,感觉对pyth ...

  10. Python类对象

    python类对象 python类对象支持两种操作:属性引用和实例化. 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name. 有效的属性名称是类对象被创建时存在于类命名空 ...

随机推荐

  1. Android中使用AsyncTask

    >##今天写作业用到了AnsyncTask,记录一下自己的使用情况 >###1.Android.os.AsyncTask类 >  1.AsyncTask类对线程间通讯进行了包装,我们 ...

  2. Java框架之SpringBoot-Web构建-yml-模块-注解

    SpringBoot Spring Boot是一站式整合所有应用框架的框架,简化Spring应用开发,约定大于配置,去繁从简,开箱即用,准生产环境的运行时应用监控框架 快速构建 SpringBoot ...

  3. 使用timeit测试Python函数的性能

    timeit是Python标准库内置的小工具,可以快速测试小段代码的性能. 认识timeit timeit 函数: timeit.timeit(stmt, setup,timer, number) 参 ...

  4. css手写一个表头固定

    Bootstrap,layui等前端框架里面都对表头固定,表格滚动有实现,偏偏刚入职的公司选择了手动渲染表格,后期又觉得表格数据拉太长想要做表头固定.为了避免对代码改动太大,所以决定手写表头固定 主要 ...

  5. text-decoration与color属性

    text-decoration属性值 如果指定某个标签的text-decoration属性时,希望为其添加多个样式(比如:上划线.下划线.删除线),那么需要把所有的值合并到一个规则中才会生效 p{ t ...

  6. Python 存储数据到json文件

    1 前言 很多程序都要求用户输入某种信息,程序一般将信息存储在列表和字典等数据结构中. 用户关闭程序时,就需要将信息进行保存,一种简单的方式是使用模块json来存储数据. 模块json让你能够将简单的 ...

  7. Python 第一天学习记录

  8. elasticsearch 单机安装

    一.elasticsearch下载 1.elastic 官网:https://www.elastic.co/cn/ 2.elasticsearch 下载地址:https://www.elastic.c ...

  9. 【S2-053】Struts2远程命令执行漏洞(CVE-2017-12611)

    继S2-052之后,Apache Struts 2再次被曝存在远程代码执行漏洞,漏洞编号S2-053,CVE编号CVE-2017-1000112. 当开发人员在Freemarker标签中使用错误的构造 ...

  10. si4745 FM-AM-SW 音量控制芯片 驱动详解

    在论坛上看到有人发这个dsp 芯片,仔细看了下,发现功能正合我意,网上能找到的资料(源码)不多 软件环境:linux4.1.36  arm-linux-gcc 4.3.2 实现功能:自动搜台,上一台, ...