notes for lxf(四)
类名首字母通常大写
创建实例 类名 +()
__init__方法 创建实例时把一些属性绑上去
__init__方法第一参数永远是self 表示船舰的实例本身
类是实例的模板 实例是一个一个具体的对象 各个实例拥有的数据都互相独立互不影响
私有变量 内部属性不能被外部访问 属性前有两个下划线__ 内部可以访问 外部不可以访问
__xxx__特殊变量是可以直接访问的 不是私有变量
继承
父类 超类 基类 子类
特点 子类获得了父类的全部功能 子类可以新增自己的方法 子类和父类有相同的方法时会覆盖父类的方法
在继承关系中 如果一个实例的数据类型是一个子类 那么它的数据类型也可以看作是父类 反过来不行
多态
定义class时就相当于定义了一种数据类型
调用方只管调用 对扩展开放 对修改封闭
python的鸭子类型 并不要求严格的继承体系(静态语言 如果要传入一个类型 则传入的对象必须是这个类型或其子类)一个对象只要看起来像鸭子 走起路来像鸭子 就把它当作鸭子(意思是只要传入的这个对象实现了真正对象的方法)
type()查看对象类型 import ypes 判断一个对象是否是函数 isinstance()判断对象类型 dir()获得一个对象的所有属性和方法 测试对象属性hasattr() setattr() getattr()
实例的属性比类属性高 del obj.attr 删除实例属性 编程时实例属性和类属性不要使用相同的名字
实例属性属于各个实例所有 互不干扰 类属性属于类所有 所有实例共享一个属性
a.b 说明对象a有b的属性
notes for lxf(四)的更多相关文章
- notes for lxf(五)
类和实例的绑定方法和属性 实例绑定 obj.func = func obj.func(obj, &argv) obj.func = MethodType(func, obj) 第一个参数是方 ...
- notes for lxf(三)
纯函数式编程是没有变量的,只要输入确定输出就确定 指高度抽象的编程范式 特点 函数本身可以作为参数传入 或者允许返回一个函数 Higher-order function 一个函数可以接收另一个函数作为 ...
- notes for lxf(二)
函数 abs()绝对值 max()返回最大值 raise 后接异常类 引发异常 函数返回多个值其实就是返回一个tuple 函数默认返回None 如果有必要检查参数类型用isinstance() typ ...
- notes for lxf(一)
python代码不能用word和windows自带的记事本保存 word保存的不是纯文本文件 记事本会在文件开始的地方加上特殊字符(UTF-8 BOM) 交互模式启动了解释器 直接运行.py文件是一次 ...
- django notes 四: Writing views
views 其实没什么可看的, 在 django 中 views 就是 controller, 是处理请求的, 就是一个普通的 python 方法. 一般从 request 中提取请求参数, 然后 ...
- Notes 20180312 : String第四讲_String上的操作
作为一个基本的工具类,同时又是使用频率很高的类,Java为其提供了丰富的方法支持.Java中的String类中包含了50多个方法.最令人惊讶的是绝大多数方法都很有用,下面我们根据功能来分类介绍一下: ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- Machine Learning Algorithms Study Notes(1)--Introduction
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1 Introduction 1 1.1 ...
- Notes on Convolutional Neural Networks
这是Jake Bouvrie在2006年写的关于CNN的训练原理,虽然文献老了点,不过对理解经典CNN的训练过程还是很有帮助的.该作者是剑桥的研究认知科学的.翻译如有不对之处,还望告知,我好及时改正, ...
随机推荐
- TF Multi-GPU single input queue
多GPU的数据训练,feed images, labels = cifar10.distorted_inputs() split_images = tf.split(images, FLAGS.num ...
- 强连通分量(Tarjan)
//P2002解题思路: //先求SCC,缩点后,转换为DAG(有向无环图) //在DAG上统计入度为0的scc数量即可 //Tarjan时间复杂度:O(N+E),每个点和每条边刚好被访问一次,在空间 ...
- spring-cloud-sleuth 和 分布式链路跟踪系统
==================spring-cloud-sleuth==================spring-cloud-sleuth 可以用来增强 log 的跟踪识别能力, 经常在微服 ...
- Java裸写爬虫技术,运用多线程技术,高效爬取某个医疗机构网站数据
最近喜欢上了数据的庞大的感觉,就爬取了一下某个医疗机构网站医疗数据,由于数据量庞大,只爬取了江西省的各个市的各个医院的各个科室的各个科室.中各种信息.其中用的持久层技术是hibernate框架,和用到 ...
- 第四周WordCount优化
一.GitHub地址 https://github.com/kawoyi/Advanced-WordCounter最终由组长整合的组长github 二.psp表格 三.个人模块及实现 我负责的是输入模 ...
- further configuration avilable 不见了
Dynameic Web Module的further configuration avilable 不见了 打开目录下的 org.eclipse.wst.common.project.facet. ...
- 微信支付errcode:40163,code been used,错误小结
1.配置时注意,支付平台中的支付授权目录, 注意大小写. 昨天碰到的问题,就是自己跳转时,路径写的全小写.跳转支付页面也能跳转过去,但是log中总是调用两次code,报40163错误.后改成和公总号支 ...
- Revit二次开发封装族的替代方法
使用草图平面:
- VS2012发布网站详细步骤问题
http://blog.csdn.net/mrobama/article/details/43118387
- SharpMap在web上的应用
最近公司用SharpMap做了一个做桌面程序,它是一个开源的Gis项目,功能还可以,最大的特点就是简单易用,这里介绍下怎么在web下使用: 这次我们根据demo先了解一下如何show一个地图.这是最基 ...