next

Python-迭代协议-__iter__ __next__ iter next yield

血红的双手。 提交于 2020-11-29 22:00:25
iter   本质是for循环调用的实质,for循环通过调用这个函数返回可迭代对象生成器形式,开始迭代取值捕获StopIteration错误退出循环   for循环首先找__iter__方法,然后再找 __getitem__方法,如果都没找到则报错,对象不是可迭代对象 __iter__   如果是自定义类生成的对象则iter方法调用__iter__函数, 这个函数必须返回迭代器对象 next   启动生成器。并获取生成器第一个值 __next__   将对象变成生成器对象,也是 next方法调用对象中 __next__ 方法 from random import randint class BeiMenChuiXue: """自己实现的迭代器""" def __init__(self, iterable): self.iterable = iterable def __next__(self): for member in self.iterable: yield member class DuGuJiuJiu: """可迭代对象""" def __init__(self, numbers): self.numbers = numbers def __iter__(self): # 通过全局函数 iter实现 # return iter(self.numbers) #

数据结构---线性表---链式表(单链表)

断了今生、忘了曾经 提交于 2020-11-29 19:55:44
线性表的链式表示 不要求逻辑上相邻的元素在物理存储上相邻,使用指针来表示元素之间的逻辑关系。 优点: 对线性表进行插入删除操作时不需要移动大量的元素,只需要修改对应元素的指针域即可,方便省时; 不需要为整个线性链表提前分配足够的存储空间; 当节点不再使用时,可以将存储空间进行及时的回收。 抽象链式类的定义 链式表使用指针来表示前后元素之间的关系,因此每个元素节点除了包含自身数据的相关信息外,还包括存储后续元素地址的指针。节点类的定义如下: template <class type> class ListNode {//链表节点类定义 public: ListNode(); { next = nullptr;}//默认构造函数 ListNode(ListNode(const type &item, ListNode<type> *next1 = nullptr)) { data = item; next = next1; } //带参数的构造函数 type data; //节点数据域 ListNode<type> *next; //节点指针域 };   节点类的两个数据成员:data用于存储数据元素值,next用于指向下一个节点。两个构造函数用于给数据成员设置初值。其链表结构如下: 指示链表的第一个结点的指针称为头指针head,最后一个结点没有后继结点,指针域为空NULL或^

Java SPI机制和使用示例

折月煮酒 提交于 2020-11-29 15:46:39
JAVA SPI 简介 SPI 是 Java 提供的一种服务加载方式,全名为 Service Provider Interface。根据 Java 的 SPI 规范,我们可以定义一个服务接口,具体的实现由对应的实现者去提供,即服务提供者。然后在使用的时候再根据 SPI 的规范去获取对应的服务提供者的服务实现。通过 SPI 服务加载机制进行服务的注册和发现,可以有效的避免在代码中将服务提供者写死。从而可以基于接口编程,实现模块间的解耦。 SPI 机制的约定 1 在 META-INF/services/ 目录中创建以接口全限定名命名的文件,该文件内容为API具体实现类的全限定名 2 使用 ServiceLoader 类动态加载 META-INF 中的实现类 3 如 SPI 的实现类为 Jar 则需要放在主程序 ClassPath 中 4 API 具体实现类必须有一个不带参数的构造方法 SPI 应用场景举例 JDBC jdbc4.0以前, 开发人员还需要基于Class.forName("xxx")的方式来装载驱动,jdbc4也基于spi的机制来发现驱动提供商了,可以通过METAINF/services/java.sql.Driver文件里指定实现类的方式来暴露驱动提供者. COMMON-LOGGING apache最早提供的日志的门面接口。只有接口,没有实现。具体方案由各提供商实现,

【学生套餐】华为云服务器

妖精的绣舞 提交于 2020-11-29 12:15:09
【学生套餐】 华为云 服务器 写在前面 首先,介绍下写这篇blog的缘由,主要是很早就想弄个服务器玩儿,碰巧 牛客网 出了个活动,一年的 华为云 服务器只要9块钱,于是就"白嫖"一个。为了拿到手环,写了这个blog。 【学生套餐】 华为云 服务器 华为云 服务器¥99,现在满足下面条件的朋友, 通过牛客网专属链接注册 华为云 进行购买的新用户享受牛客网 ¥90 的返费。 那么,¥9 元享受一整年的服务,真香! ps:详细的条件在下面的链接里看,注意不要慌着去下单,先看清条件满足不。 活动时间: 2019年11月21日12:00 — 2019年12月15日晚上23:59。 附上链接地址: 详细购买及返现流程请戳: 华为云 服务器的快速使用(小白版)(windows ) Step 1:登录 Step 2:控制台 Step 3:资源 (我这里是为了方便,官方文档不是这样,推荐看官方文档) Next ) Next 有2种方法可以登录Windows弹性云服务器:管理控制台提供的“ VNC远程登录方式 ”和“ MSTSC方式 ”。 这里的话看下指南(不然直接跳到后面) 登录Windows弹性云服务器:管理控制台提供的 VNC远程登录方式 ) + Next Next 登录Windows弹性云服务器:管理控制台提供的 MSTSC方式 ”。 前提: 华为云 资源为开启状态 windows+R 输入

Vue 3.0 升级指南

拥有回忆 提交于 2020-11-29 10:21:45
本文由葡萄城技术团队原创并首发 转载请注明出处: 葡萄城官网 ,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 2020年9月18日Vue 3.0正式发布,距离2016年10月1日Vue 2.0发布已经过去了4年。不知道发布日期的选择是否是作者尤大有意为之,在这四年间,Vue作为个人项目取得了巨大成功,github上的 star数迅速超过10W,成为了三大前端流行框架之一,而在国内它更是作为前端初学者入门的首选占据着霸主地位。 众所周知,软件开发过程里的重构就像是凤凰浴火,浴火直至永生。2018年2月尤大就有了重构Vue,并于同年九月建立了原型的同时也创建了vue-next的repo,而后正式宣布Vue 3.0项目的启动。随后确定了早期实现的方式(class, TypeScript, hooks, time slicing)以及建立了RFC(Request for Comments,征求意见)流程。 在Composition API 确定之前,团队经历了Class API 和 Function API的讨论,功能的回退。团队始终希望保持Vue平缓的学习曲线,以及与用户一起成长的态度,Vue 3.0开发并不激进。在2019年8月确定了 Composition API RFC,随后关于3.0周边的开发也加快了步伐,并与2020年1月2日发布了alpha版本

Next JS config multiple plugin configuration

╄→尐↘猪︶ㄣ 提交于 2020-11-29 09:52:13
问题 const { DEVELOPMENT_SERVER, PRODUCTION_BUILD } = require("next/constants"); require('dotenv').config() const path = require('path') const Dotenv = require('dotenv-webpack') const nextConfig = { webpack: config => ({ ...config, node: { fs: "empty" } }) }; module.exports = phase => { if (phase === DEVELOPMENT_SERVER || phase === PRODUCTION_BUILD) { const withCSS = require("@zeit/next-css"); return withCSS(nextConfig); } return nextConfig; }; *module.exports = { webpack: (config) => { config

Next JS config multiple plugin configuration

大城市里の小女人 提交于 2020-11-29 09:50:35
问题 const { DEVELOPMENT_SERVER, PRODUCTION_BUILD } = require("next/constants"); require('dotenv').config() const path = require('path') const Dotenv = require('dotenv-webpack') const nextConfig = { webpack: config => ({ ...config, node: { fs: "empty" } }) }; module.exports = phase => { if (phase === DEVELOPMENT_SERVER || phase === PRODUCTION_BUILD) { const withCSS = require("@zeit/next-css"); return withCSS(nextConfig); } return nextConfig; }; *module.exports = { webpack: (config) => { config

leetcode 206 反转链表 Reverse Linked List

大兔子大兔子 提交于 2020-11-29 06:00:47
C++解法一:迭代法,使用前驱指针pre,当前指针cur,临时后继指针nxt; /* * * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public : ListNode * reverseList(ListNode* head) { ListNode * pre=NULL,*cur= head; while (cur!= NULL){ ListNode * nxt=cur-> next; cur ->next= pre; pre =cur;cur= nxt; } return pre; } }; C++方法二:递归法,Space:O(n),Time O(n) /* * * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public : ListNode *

Python安装教程

瘦欲@ 提交于 2020-11-29 05:50:39
Python安装 1.浏览器打开网址:www.python.org 2.根据电脑系统选择下载 3.确定电脑系统属性,此处我们以win10的64位操作系统为例 4.安装python 3.6.3 双击下载的安装包 python-3.6.3.exe 注意要勾选:Add Python 3.6 to PATH 点击 Customize installation进入一步(方便我们自定义安装路径) (下节会为大家介绍环境变量的配置) 5.点击Next 6.选择自己想要存储的文件夹,点击Install 7.开始安装 8.点击Close结束安装 9.开始——搜索框中输入“cmd”——回车,启动命令提示符——输入Python 这样就代表安装成功啦。 来源: oschina 链接: https://my.oschina.net/u/4414230/blog/3480089

cookie、session登录验证csrf

只愿长相守 提交于 2020-11-29 04:51:07
cookie 在上节课,我们简单了解了登录过程,但是很明显,每次都需要登录,但是在平常逛网站的只需要登录一次,那么网站是如何记录登录信息的呢? 有没有什么办法可以让浏览器记住登录信息,下次再次打开的时候,可以自动登录呢? 设置cookie与获取cookie import sys import time import tornado.web import tornado.ioloop import tornado.httpserver import tornado.options from tornado.web import RequestHandler from tornado.options import define,options import util.ui_modules import util.ui_methods # import time from data.connect import session from data.user_modules import UserDetails, User define( ' port ' ,default=8080,help= ' run server ' ,type= int) class MainHandler(RequestHandler): def get(self): self.write( ' cookie