Python3 迭代器与生成器
迭代器
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器:
实例(Python 3.0+)
>>> list= ……继续阅读 »
2年前 (2022-06-23) 198浏览 0评论
0个赞
Java 异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。
比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。
异常发生的原因有很多,通常包含以下几大类:
用户……继续阅读 »
2年前 (2022-06-23) 181浏览 0评论
0个赞
C++ 日期 & 时间
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。
有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。
结构类型 tm 把日期……继续阅读 »
2年前 (2022-06-23) 216浏览 0评论
0个赞
访问者模式
在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。
介绍
意图:主要将数据结构与数据操作分离。
主要解决:稳定的数据结构和易变的操作耦合问题。
何时使用:需要对一个对象结构中的对象进行很多不同……继续阅读 »
2年前 (2022-06-23) 98浏览 0评论
0个赞
Scala 正则表达式
Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式。以下实例演示了使用正则表达式查找单词 Scala :
实例
import scala.util.matching.Regex
object Test {
def main(args: Array[String]) ……继续阅读 »
2年前 (2022-06-23) 114浏览 0评论
0个赞
JSP 服务器响应
Response响应对象主要将JSP容器处理后的结果传回到客户端。可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie、HTTP文件头信息等。
一个典型的响应看起来就像下面这样:
HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
(空行)
<!doctype ...&……继续阅读 »
2年前 (2022-06-23) 259浏览 0评论
0个赞
AJAX 数据库实例
AJAX 可用来与数据库进行交互式通信。
AJAX 数据库实例
下面的实例将演示网页如何通过 AJAX 从数据库读取信息:
实例
function showCustomer(str)
{
var xmlhttp;
if (str==””)
{
document.getElementById(“txtHint”).innerHTML=&……继续阅读 »
2年前 (2022-06-23) 117浏览 0评论
0个赞
Go 语言切片(Slice)
Go 语言切片是对数组的抽象。
Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。
定义切片
你可以声明一个未指定大小的数组来定义切片:
var identifier []type
切片不需要说明长度。
或使用 ……继续阅读 »
2年前 (2022-06-22) 223浏览 0评论
0个赞
工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
介绍
意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
主要解决:主要解决接口选择的问题。
何时使用:……继续阅读 »
2年前 (2022-06-22) 180浏览 0评论
0个赞
Django 中间件
Django 中间件是修改 Django request 或者 response 对象的钩子,可以理解为是介于 HttpRequest 与 HttpResponse 处理之间的一道处理过程。
浏览器从请求到响应的过程中,Django 需要通过很多中间件来处理,可以看如下图所示:
Django 中间件作用:
修改请求,即传送到 view 中的 HttpRequest 对象。
修改响应,即……继续阅读 »
2年前 (2022-06-22) 194浏览 0评论
0个赞
Perl 正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
Perl语言的正则表达式功能非常强大,基本上是常用语言中最强大的,很多语言设计正则式支持的时候都参考Perl的正则表达式。
Perl的正则表达式的三种形式,分别是匹配,替换和转化:
匹配:m//(还可以简写为//,略去……继续阅读 »
2年前 (2022-06-22) 120浏览 0评论
0个赞
C++ 简介
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
C++ 是 C 的……继续阅读 »
2年前 (2022-06-22) 165浏览 0评论
0个赞
Python JSON
本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
JSON 函数
使用 JSON 函数需要导入 json 库:import json。
函数
描述
json.dumps
将 Python 对象编码成 JSON 字符串
json.lo……继续阅读 »
2年前 (2022-06-22) 175浏览 0评论
0个赞
C++ 接口(抽象类)
接口描述了类的行为和功能,而不需要完成类的特定实现。
C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。
如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 “= 0” 来指定的,如下所示:
class Box
{
public:
// 纯虚函数
……继续阅读 »
2年前 (2022-06-22) 122浏览 0评论
0个赞
Java 方法
在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢?
println() 是一个方法。
System 是系统类。
out 是标准输出对象。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。
那么什么是方法呢?
Java方法是语句的集合,它们在一起执行一个功能。
方法是解决一类问题的步骤的有序组合
方法……继续阅读 »
2年前 (2022-06-21) 178浏览 0评论
0个赞
Python 异常处理
python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。
异常处理: 本站Python教程会具体介绍。
断言(Assertions):本站Python教程会具体介绍。
python标准异常
异常名称
描述
BaseException
所有异常的基类
SystemExit
解释器请求退出……继续阅读 »
2年前 (2022-06-21) 238浏览 0评论
0个赞
数据模型
在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。
整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。
进入 zookeeper 安装的 bin 目录,通过sh zkCli.sh打开命令行终端,执行 “ls /” 命令显示:
……继续阅读 »
2年前 (2022-06-21) 123浏览 0评论
0个赞
C# 接口(Interface)
接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 “是什么” 部分,派生类定义了语法合同 “怎么做” 部分。
接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。
接口使得实现接口的类或结构在形式上保持一致。
抽象类在某种程度上与接口类似,但是……继续阅读 »
2年前 (2022-06-21) 141浏览 0评论
0个赞
Docker 安装 Node.js
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台。
1、查看可用的 Node 版本
访问 Node 镜像库地址: https://hub.docker.com/_/node?tab=tags。
可以通过 Sort by 查看其他版本的 Node,默认是最新版本 node:latest。……继续阅读 »
2年前 (2022-06-21) 350浏览 0评论
0个赞
Lua 环境安装
Linux 系统上安装
Linux & Mac上安装 Lua 安装非常简单,只需要下载源码包并在终端解压编译即可,本文使用了5.3.0版本进行安装:
curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
make install
……继续阅读 »
2年前 (2022-06-21) 105浏览 0评论
0个赞
C++ 重载运算符和重载函数
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。
重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。
当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。
C++ 中……继续阅读 »
2年前 (2022-06-21) 208浏览 0评论
0个赞
PHP 数组排序
数组中的元素可以按字母或数字顺序进行降序或升序排列。
PHP – 数组排序函数
在本章中,我们将一一介绍下列 PHP 数组排序函数:
sort() – 对数组进行升序排列
rsort() – 对数组进行降序排列
asort() – 根据关联数组的值,对数组进行升序排列
ksort() – 根据关联数组的键,对数组进行升序排列
ars……继续阅读 »
2年前 (2022-06-21) 95浏览 0评论
0个赞
C# 运算符重载
您可以重定义或重载 C# 中内置的运算符。因此,程序员也可以使用用户自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与其他函数一样,重载运算符有返回类型和参数列表。
例如,请看下面的函数:
public static Box operator+ (Box b, Box c)
{
Bo……继续阅读 »
2年前 (2022-06-21) 114浏览 0评论
0个赞
备忘录模式
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。
介绍
意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。
何时使用:很多时候我们总是需要记录一个对象的内部状……继续阅读 »
2年前 (2022-06-21) 209浏览 0评论
0个赞
Lua 协同程序(coroutine)
什么是协同(coroutine)?
Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。
协同是非常强大的功能,但是用起来也很复杂。
线程和协同程序区别
线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。
在任一指定时刻……继续阅读 »
2年前 (2022-06-21) 178浏览 0评论
0个赞
正则表达式 – 简介
除非您以前使用过正则表达式,否则您可能不熟悉一些术语。但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念。
例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件。? 通配符匹配文件名中的 0 个或 1 个字符,而 * 通配符匹配零个或多个字符。像 data(\w)?\.dat 这样的模式将查找下列文件:
data.dat
data1.dat
data2.dat
data……继续阅读 »
2年前 (2022-06-21) 158浏览 0评论
0个赞
Python 内置函数
内置函数
abs()
divmod()
input()
open()
staticmethod()
all()
enumerate()
int()
ord()
str()
any()
eval()
isinstance()
pow()
sum()
basestring()
execfile()
issubclass()
print()
super()
bi……继续阅读 »
2年前 (2022-06-21) 270浏览 0评论
0个赞
Ruby 迭代器
简单来说:迭代(iterate)指的是重复做相同的事,所以迭代器(iterator)就是用来重复多次相同的事。
迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组(Array)和哈希(Hash)可以称之为集合。
迭代器返回集合的所有元素,一个接着一个。在这里我们将讨论两种迭代器,each 和 collect。
Ruby each 迭代器
each 迭代器返回数组或哈希的所……继续阅读 »
2年前 (2022-06-21) 97浏览 0评论
0个赞
C++ 文件和流
到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。
本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型:
数据类型
描述
ofstream
该数据类型表示输出文件流,用于创建文件并向文件写入信息。
ifstream
该数据类型表示输入文……继续阅读 »
2年前 (2022-06-21) 247浏览 0评论
0个赞
Docker 安装 MySQL
MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。
1、查看可用的 MySQL 版本
访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags 。
可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest 。
你也可以在……继续阅读 »
2年前 (2022-06-21) 262浏览 0评论
0个赞