摘要: IO模型介绍 本文讨论的背景是Linux环境下的network IO,对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,该操作会经历两个阶段: 等 阅读全文
posted @ 2018-12-24 23:23 silencio。 阅读(239) 评论(0) 推荐(0) 编辑
摘要: socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。 套接字分类 基于文件类型的套接字家族:AF_UNI 阅读全文
posted @ 2018-12-24 23:21 silencio。 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 数据库管理软件分类 关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用 非关系型:mongodb,redis,memcache 可以简单的理解为:关系型数据库需要有表结构,非关系型数据库是key-value存储的,没有表结构 mysq 阅读全文
posted @ 2018-12-24 18:56 silencio。 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 模块 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能,自定义的模块名不应该与系统内置模块重名,当文件被当做模块导入时:__name__等于模块名。尽量避免出现循环/嵌套导入,由于在python中模块被导入一次之后,就不会重新导入,只会在第一次导入时执行模块内代码 一、模块分类 使 阅读全文
posted @ 2018-12-24 16:53 silencio。 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 错误异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 常见的错误类型和继承关系:点击 一、分成两种 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就 阅读全文
posted @ 2018-12-24 01:26 silencio。 阅读(361) 评论(0) 推荐(0) 编辑
摘要: __str__,__repr__ __str__定义在类内部,必须返回一个字符串类型 __repr__定义在类内部,必须返回一个字符串类型 打印由这个类产生的对象时,会触发执行__str__,如果没有__str__会触发__repr__ class Bar: def __init__(self, n 阅读全文
posted @ 2018-12-24 01:24 silencio。 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 模块:本质上就是一个.py文件,使用其中的函数。 模块分为:内置函数、第三方模块、自定义模块。 #!/usr/bin/env python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from 阅读全文
posted @ 2018-12-24 01:13 silencio。 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 正则表达式 正则表达式是一种用来模糊匹配字符串的方法,它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配了”,否则该“没有匹配到该字符串” 在线调试工具:点击 一、常用正则表达式 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配 阅读全文
posted @ 2018-12-24 01:11 silencio。 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 闭包函数 闭包函数:函数内部定义函数,成为内部函数。该内部函数包含对外部作用域,而不是对全局作用域名字的引用,那么该内部函数成为闭包函数。 name='alex' #定义全局变量name='alex' def func(): name='egon' #定义局部变量name='egon' def ba 阅读全文
posted @ 2018-12-24 01:09 silencio。 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 一、内置函数 官方文档:点击 # 匿名函数 f=lambda a,b:a+b print(f(2,3)) # 5 # abs() 取绝对值 print(abs(-111)) # 111 # all() 循环可迭代对象的每个元素,都为真则返回True,否则返回假 # 0,None ,"",[],(), 阅读全文
posted @ 2018-12-24 01:04 silencio。 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 函数基础 一、定义函数 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 """ #语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 #函数名要能反映其意义 """ def tol 阅读全文
posted @ 2018-12-24 00:52 silencio。 阅读(444) 评论(0) 推荐(0) 编辑
摘要: ES6 常用语法 新增 let、const 命令 来声明变量,和var 相比,let 声明的变量不存在变量提升问题,但没有改变JS弱类型的特点,依然可以接受任意类型变量的声明;const 声明的变量不允许在后续逻辑中改变,提高了JS语法的严谨性。 新增解构赋值、rest 语法、箭头函数等,这些都是为 阅读全文
posted @ 2018-12-24 00:47 silencio。 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 文件操作 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序 阅读全文
posted @ 2018-12-24 00:39 silencio。 阅读(397) 评论(0) 推荐(0) 编辑