next

python之six用法

◇◆丶佛笑我妖孽 提交于 2021-02-10 15:39:46
six.PY2 返回一个表示当前运行环境是否为python2的boolean值 six.PY3 返回一个表示当前运行环境是否为python3的boolean值 import six,sys print (six.PY2) # python2结果为True print (six.PY3) # python3结果为True sys.version_info[0] # PY2 = 2 sys.version_info[0] # PY3 = 3 sys.version_info[0:2] # PY34>= (3, 4) 常量 six.class_types 这里主要是针对python中的old-style和new-style, new-style为type, old-style为 types.ClassType。 python2中同时有old-style和new-style,python3中只有new-style。 six.integer_types 这里针对python2和python3中各自支持的int类型进行了区分:在python2中,存在 int 和 long 两种整数类型;在python3中,仅存在一种类型int。 six.string_types 这里针对python2和python3中各自的string类型进行了区分:在python2中,使用的为basestring

Iterate over dates in java

会有一股神秘感。 提交于 2021-02-10 12:47:34
问题 I need to iterate through a range of dates. Not sure on how to take next day in for loop. I am using java.util.Date . So plusDays(1) cannot be used in the for loop for taking next date. Used date1 = new Date(date1.getTime() + (1000 * 60 * 60 * 24)) in for loop. But I don't think its a good idea to create objects by calling new each time in for loop. Please suggest a better way for taking next day in for loop. 回答1: tl;dr LocalDate.now().plusDays( 1 ) // Get tomorrow's date. Avoid legacy date

《Java程序设计》在线课程使用说明

荒凉一梦 提交于 2021-02-10 09:48:32
20200223更新 零、课程链接 学银在线平台(主要用于SPOC): http://www.xueyinonline.com/detail/201383259 学堂在线平台(主要用于MOOC): https://next.xuetangx.com/course/jmu08091002869/3963025 一、简介 本课程主要讲授Java基础语法、JDK常用类库与Java面向对象编程思想。 具体章节:“绪论、Java基本语法、面向对象-基础、面向对象-继承与覆盖、面向对象-接口、集合与泛型、异常、文件与流”。 课程主要资源 超星平台(理论学习):教学视频、章节测验、 讨论集 、互评作业。 PTA平台(编程实践):在线编程实验题目集A、题集B, 题集A实验任务指导书 、题集B的参考代码。请选课的老师联系课程负责人索取。 课程特点: 重视编程能力与面向对象编程能力的培养。理论与编程实践相结合。 面向对象部分,继承、多态、接口部分讲解的比较细致,并辅以案例讲解。讲解了常用的DAO模式。 语法方面覆盖了Java 8。 课程链接: http://www.xueyinonline.com/detail/201383259 **课程负责人:**集美大学计算机工程学院 郑老师 QQ: 398620541 **教师交流群:**Java&Python MOOC 教师讨论群 群号: 938999254

ArrayList(JDK1.8)源码解析

孤街醉人 提交于 2021-02-10 05:14:24
既然是看源码,那我们要怎么看一个类的源码呢?这里我推荐的方法是: 1)看继承结构 看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解。 2)看构造方法 在构造方法中,看做了哪些事情,跟踪方法中里面的方法。 3)看常用的方法 跟构造方法一样,这个方法实现功能是如何实现的 注:既然是源码,为什么要这样设计类,有这样的继承关系。这就要说到设计模式的问题了。所以我们要了解常用的设计模式,才能更深刻的去理解这个类。 简介 ArrayList 是 Java 集合框架中 List 接口的一个实现类。底层是数组,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。 ArrayList是Vector的翻版,区别在于ArrayList是线程不安全的,而Vector则是线程安全的。但是Vector是一个较老的集合,具有很多缺点,不建议使用,这里我们就不对其进行分析了。 ArrayList 可以说是我们使用最多的 List 集合,它有以下特点: 它是基于数组实现的List类 可以动态地调整容量 有序的(元素输出顺序与输入顺序一致) 元素可以为 null 不同步,非线程安全,效率高 查询快,增删慢 占用空间更小,对比 LinkedList,不用占用额外空间维护链表结构 ArrayList 为什么有这些优点呢?我们通过源码来分析分析。在阅读源码前先来看看ArrayList继承关系。

HNOI2018

坚强是说给别人听的谎言 提交于 2021-02-10 02:26:45
为什么HN今年风格也这么诡异呀。 先给个Achen的题解链接: http://www.cnblogs.com/Achenchen/p/8921650.html ,我的题解太简略了。 D1T1 我觉得这是一道很有趣的题呀 如果第i个数之前的运算符是and,则这一位设为1,否则为0,得到的二进制数记为xx。 对每一位分别考虑,对于第i位,如果第j个数是1,那么这一位设为1,否则为0,得到的二进制数记为$b_i$。 以左边为最低位,按前缀归纳容易证明,第i位的结果为1,当且仅当$x < b_i$ 我们将b从大到小排序,结果设为c,那么答案不为零仅当在c的顺序下,r中没有任何0在1的前面。 找到r中第一个0的位置,假设是k,那么解x要满足$c_k≤x<c_{k–1}$,于是答案是$c_{k – 1} – c_k$ //Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll long long #define db double #define For(i,a,b) for(int i=(a);i<=(b);++i) #define Rep(i,a,b)

python实现顺序查找和哈希查找

喜夏-厌秋 提交于 2021-02-09 20:32:13
顺序查找非常简单,只是个开胃菜,今天主要练习的是哈希查找 先上 顺序查找 代码: def sequence_search(array, num): for i in range(len(array)): if array[i] == num: return i return False array_0 = [23, 43, 12, 54, 65, 48 ] print (sequence_search(array_0, 12 )) >>> 2 在来看 hash查找 : 算法思想 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。 算法流程   1)用给定的哈希函数构造哈希表;   2)根据选择的冲突处理方法解决地址冲突;      常见的解决冲突的方法:拉链法和线性探测法。   3)在哈希表的基础上执行哈希查找。  单纯论查找复杂度:对于无冲突的Hash表而言,查找复杂度为O(1)(注意,在查找之前我们需要构建相应的Hash表)。 class HashSearch: def __init__ (self, num): if isinstance(num, int): self.num = abs(num) self.empty

Ultimate Guide to WeChat for Business 2019

China☆狼群 提交于 2021-02-09 16:10:21
Ultimate Guide to WeChat for Business 2019 By Iaroslav Kudritskiy (source :https://rocketbots.io/blog/ultimate-wechat-official-account-for-business-guide) This is the guide for you if you're interested in the Chinese market. Companies all over are interested in creating a presence in China. One of the best ways of doing this is by using WeChat Official Account for Business. This guide is going to be a little more intricate than the others because WeChat is one of the more mysterious messaging apps. This post is designed to help you with your research, we're going to be answering questions like

Not so Mobile UVA

半城伤御伤魂 提交于 2021-02-09 13:47:46
  Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wires suspending colourfull things. This kind of mobile is usually found hanging over cradles of small babies.   The figure illustrates a simple mobile. It is just a wire, suspended by a string, with an object on each side. It can also be seen as a kind of lever with the fulcrum on the point where the string ties the wire. From the lever principle we know that to balance a simple mobile the product of the weight of the objects by their distance to the fulcrum must be equal. That is Wl × Dl = Wr

遍历“容器”的优雅方法——总结迭代器模式

久未见 提交于 2021-02-09 10:03:48
前言 本文主要是读书笔记的整理,自己总结的倒不多,做个记录 聚集(集合)的概念 如果能把多个普通类的对象聚在一起形成一个总体,这个总体就被称之为聚集(Aggregate),举例子: 1、在任何编程语言中:数组都是最基本的聚集,在Java中,数组也是其他的 JAVA 聚集对象的设计基础。 2、在Java里,JAVA聚集对象都是实现了 java.util.Collection 接口的对象,是 JAVA 对聚集概念的直接支持。从 JDK 1.2 开始,JAVA 提供了多种现成的聚集 API,包括 Vector、ArrayList、HashSet、HashMap、Hashtable、ConcurrentHashMap 等。 自定义容器的封闭需求 假如因业务需要,RD 定义了专属的数据元素的聚集,还要把它提供给客户端,让其调用(不特别强调,也包括其他依赖服务)。但是有时候为了安全,RD 不想让客户端看到聚集的内部实现,只是能让她们访问就可以了,比如遍历等操作。还有的时候,客户端不需要了解具体实现,能否让客户端跳开复杂的数据结构?因为调用者们不需要了解实现方式,只要能开箱即用即可。 为了解决这个问题,那么就需要有一种策略能让客户端遍历这个聚集体的时候,无法窥破RD存储对象的方式,无需了解内部的复杂数据结构。 迭代器的引出——茶餐厅和煎饼铺子合并的经典案例 有两个遗留的点餐系统

理解koa-router 路由一般使用

不羁岁月 提交于 2021-02-09 10:02:24
阅读目录 一:理解koa-router一般的路由 二:理解koa-router命名路由 三:理解koa-router多个中间件使用 四:理解koa-router嵌套路由 五:分割路由文件 回到顶部 一:理解koa-router一般的路由 koa-router是koa的路由库,什么是路由库呢?比如当我们访问 http://localhost:3001/ 的时候,浏览器就会显示index页面的内容(一般默认是index)。如果当用户访问 http://localhost:3001/home 的时候,浏览器就会显示home页面的内容。 假如要实现上述功能,如果我们不使用 koa-router 或者其他路由中间件的话,我们一般需要在app.js如下代码编写: const Koa = require('koa' ); const app = new Koa(); const route = (ctx, next) => { console.log(ctx.path); switch (ctx.path) { case '/' : ctx.body = '<h1>欢迎光临index page 页面</h1>' ; break ; case '/home' : ctx.body = '<h1>欢迎光临home页面</h1>' ; break ; default : // 404页面 return