Python-类的特性
------------恢复内容开始------------
类及类的定义
Cat类
类的特殊方法-构造函数、析构函数
- class Cat:
- # 构造函数
- def __init__(self, name, *args, **kwargs):
- self.name = name
- def eat(self):
- pass
- # 析构函数
- def __del__(self):
- pass
- pass
其他类的特殊方法
__doc__:文档信息
__module__:模块信息
tag:自定义的类属性
catch:自定义的类方法
__dict__:
类的实现
- class Cat(object):
- """
- 猫科动物类
- """
- tag = '我是家猫'
- def __init__(self, name, age, sex=None):
- self.name = name
- self.__age = age
- self.sex = sex
- def set_age(self, age):
- """
- 改变猫的年龄
- :param age: int 年龄
- """
- self.__age = age
- # return self.__age
- def show_info(self):
- """
- 显示猫的信息
- :return:
- """
- rest = '我叫:{0}, 今年{1}岁.'.format(self.name, self.__age)
- print('我的性别:{0}'.format(self.sex))
- print(rest)
- return rest
- def eat(self):
- """ 吃 """
- print('猫喜欢吃鱼')
- def catch(self):
- """ 猫捉老鼠 """
- print('我能捉老鼠')
- class Tiger(object):
- pass
- if __name__ == '__main__':
- # 实例化你家的小黑
- cat_black = Cat('小黑', 2, '公的')
- cat_black.eat()
- cat_black.show_info()
- print('------------')
- # print(cat_black.name)
- # print(cat_black.age)
- # print(cat_black.__age) # 无法访问私有变量
- # 更改猫的名称
- cat_black.name = '黑黑' # 可以直接改变
- cat_black.__age = 6 # 无法操作私有变量
- cat_black.show_info()
- print('-------------')
- cat_black.set_age(7)
- cat_black.show_info()
- print(Cat.tag)
- print(cat_black.tag)
- # 实例化我家的小白
- print('xxxxxxxxxxxxxxxxxxx')
- cat_white = Cat('小白', 3, '母的')
- cat_white.show_info()
- print(cat_white.tag)
- # 类的实例判断
- print(isinstance(cat_black, Cat))
- print(isinstance(cat_white, Cat))
- print(isinstance(cat_black, Tiger))
- print(isinstance(cat_white, Tiger))
------------恢复内容结束------------
Python-类的特性的更多相关文章
- Python 类的特性讲解
类的特性讲解 类的特性 #定义一个类, class是定义类的语法,Role是类名, (object)是新式类的写法,必须这样 写,以后再讲为什么 class Role(object): #初始化函数, ...
- python类的特性
#encoding=utf-8 class Province: #静态字段 memo = '这里是静态变量' def __init__(self,name,capital,leader,flag): ...
- Python的高级特性8:你真的了解类,对象,实例,方法吗
Python的高级特性1-7系列是本人从Python2过渡3时写下的一些个人见解(不敢说一定对),接下来的系列主要会以类级为主. 类,对象,实例,方法是几个面向对象的几个基本概念,其实我觉得很多人并不 ...
- 转:从pickle看python类成员的动态加载和类的定位
pickle是Python轻便的对象序列化工具.使用pickle可以方便地把python对象写入文件对象中,或者像soap那样在socket间传送. 按照python的一贯作风,类的成员在 ...
- python 类知识点总结
python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...
- python类:magic魔术方法
http://blog.csdn.net/pipisorry/article/details/50708812 魔术方法是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法&q ...
- (转)python类:magic魔术方法
原文:https://blog.csdn.net/pipisorry/article/details/50708812 版权声明:本文为博主皮皮http://blog.csdn.net/pipisor ...
- Python学习笔记之面向对象编程(三)Python类的魔术方法
python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法.这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分 ...
- python类和元类
python 类和元类详解 小麦麦子 2016-09-06 11:11:00 今天在网上看到一篇关于python语言中类和元类(metaclass)的一些讲解和简单运用,感觉对pyth ...
- Python类对象
python类对象 python类对象支持两种操作:属性引用和实例化. 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name. 有效的属性名称是类对象被创建时存在于类命名空 ...
随机推荐
- Android中使用AsyncTask
>##今天写作业用到了AnsyncTask,记录一下自己的使用情况 >###1.Android.os.AsyncTask类 > 1.AsyncTask类对线程间通讯进行了包装,我们 ...
- Java框架之SpringBoot-Web构建-yml-模块-注解
SpringBoot Spring Boot是一站式整合所有应用框架的框架,简化Spring应用开发,约定大于配置,去繁从简,开箱即用,准生产环境的运行时应用监控框架 快速构建 SpringBoot ...
- 使用timeit测试Python函数的性能
timeit是Python标准库内置的小工具,可以快速测试小段代码的性能. 认识timeit timeit 函数: timeit.timeit(stmt, setup,timer, number) 参 ...
- css手写一个表头固定
Bootstrap,layui等前端框架里面都对表头固定,表格滚动有实现,偏偏刚入职的公司选择了手动渲染表格,后期又觉得表格数据拉太长想要做表头固定.为了避免对代码改动太大,所以决定手写表头固定 主要 ...
- text-decoration与color属性
text-decoration属性值 如果指定某个标签的text-decoration属性时,希望为其添加多个样式(比如:上划线.下划线.删除线),那么需要把所有的值合并到一个规则中才会生效 p{ t ...
- Python 存储数据到json文件
1 前言 很多程序都要求用户输入某种信息,程序一般将信息存储在列表和字典等数据结构中. 用户关闭程序时,就需要将信息进行保存,一种简单的方式是使用模块json来存储数据. 模块json让你能够将简单的 ...
- Python 第一天学习记录
- elasticsearch 单机安装
一.elasticsearch下载 1.elastic 官网:https://www.elastic.co/cn/ 2.elasticsearch 下载地址:https://www.elastic.c ...
- 【S2-053】Struts2远程命令执行漏洞(CVE-2017-12611)
继S2-052之后,Apache Struts 2再次被曝存在远程代码执行漏洞,漏洞编号S2-053,CVE编号CVE-2017-1000112. 当开发人员在Freemarker标签中使用错误的构造 ...
- si4745 FM-AM-SW 音量控制芯片 驱动详解
在论坛上看到有人发这个dsp 芯片,仔细看了下,发现功能正合我意,网上能找到的资料(源码)不多 软件环境:linux4.1.36 arm-linux-gcc 4.3.2 实现功能:自动搜台,上一台, ...