[python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自动调用, 可以通过super函数(super(FatherCall, self).init())或者未绑定构造方法,来调用父类的构造方法.super是有在__metaclass__=type时才可以使用, 有多个父类时,super能保证每个父类的构造方法都被执行 __del__: 析构方法:对象被回…
在Java8学习笔记(三)--方法引入中,简要总结了方法引入时的使用规则,但不够完善.这里补充下几种情况: 从形参到实例方法的实参 示例 public class Example { static List<Integer> intList = Arrays.asList(1,2,3,4); public String increment(int i) { return String.valueOf(++i); } @Test public void testLambda() { //.map…
本文主要讲Grunt任务配置. 说明:本文所有示例都基于Grunt 0.4.5版本. 一 说明 使用Grunt实现项目的打包等工程化工作,实际上是通过Grunt提供的机制和插件,配置一个个任务(例如:拷贝内容.混淆压缩.格式检查.清除等),当输入grunt命令时,就逐个执行配置好的任务,从而实现项目打包等工程化工作. Grunt的任务配置都是在 Gruntfile.js文件 中的grunt.initConfig(configObj)参数configObj中指定的.如果你还不知道 Gruntfil…
本文主要讲expand使用方法. 当你希望处理大量的单个文件时,这里有一些附加的属性可以用来动态的构建一个文件列表.这些属性都可以用于 Compact 和 Files Array 文件映射格式. expand 设置为true将启用下面的选项: cwd 所有src指定的匹配都将相对于此处指定的路径(但不包括此路径) . src 相对于cwd路径的匹配模式. dest 目标文件路径前缀. ext 对于生成的dest路径中所有实际存在文件,均使用这个属性值替换扩展名. extDot 用于指定标记扩展名…
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7567880.html,记录一下学习过程以备后续查用. 一.引言 接上一篇C#设计模式学习笔记:简单工厂模式(工厂方法模式前奏篇),通过简单工厂模式的了解,它的缺点就是随着需求的变化我们要不停地修改工厂里 面的方法的代码,需求变化越多,里面的if--else也越多,这样就会造成简单工厂的实现逻辑过于复杂. 依设计原则里的开闭原则--对增加代码开放,对修改代码关闭,我们不能总是这样修改简单工厂里面的方法. 下…
声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的字符串连接方式:str1 + str2 这个估计是Python中最常用的方式,直接用 “+” 来连接两个字符串: 'Jim' + 'Green' = 'JimGreen' 2)python 新字符串连接语法:str1, str2 第二种比较特殊,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接…
准备工作 >>> class NewStyle(object): more_code_here >>> class OldStyle: more_code_here 在这两个类中,NewStyle是新式的类,OldStyle是旧式的类,如果文件以__metaclass__ = type 开始,那么两个类都是新式类. 构造方法 构造方法,当一个对象被创建后,会立即调用构造方法.Python中创建一个构造方法,只要把init方法的名字从简单的init修改成__init__…
本文主要讲配置任务中的filter,包括使用默认fs.Stats方法名和自定义过滤函数,以及filter的实现原理. 通过设置filter属性可以实现一些特殊处理逻辑.例如:要清理某个文件夹下的所有空文件夹,这时使用clean任务时,需要判断该文件夹下的哪些是文件,哪些是文件夹,只对空文件执行clean任务. 具体使用方法分为如下两种: 一 使用fs.Stats方法作为过滤函数 fs.stats是NodeJS的一个类,上边提供了很多对文件判断的方法,具体可以参考这里. 如下将filter设置为'…
run()与异常 不管是Threade还是Runnable的run()方法都没有定义抛出异常,也就是说一条线程内部发生的checked异常,必须也只能在内部用try-catch处理掉,不能往外抛,因为线程是一个独立运行的代码片段,它的问题不能影响到其他线程 如果run()内部抛出一个unchecked异常,这个线程可能会终止运行,这个异常也不能被主线程捕获,也影响不到其他线程的执行,比如下面的示例: package testpack; import java.io.IOException; pu…
前言 昨天学习了核心$(),有几个遗留问题,我们今天来看看吧 $.each 遍历数组/对象,将每条数据作为callback的上下文,并传入数据以及数据的索引进行处理,如果其中一条数据的处理结果明确返回false,则停止遍历,并返回elements $.each = function (elements, callback) { var i, key if (likeArray(elements)) { for (i = 0; i < elements.length; i++) { if (cal…