python
落叶红秋
我又回来了!
展开
-
字符串、列表、元组、字典
字符串介绍 <1>python中字符串的格式双引号或者单引号中的数据,就是字符串<2>字符串中”下标”的使用 列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。 如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始) name = 'abcdef' print(name[0]) print(name[1]) print(name原创 2018-01-20 18:36:37 · 2268 阅读 · 0 评论 -
web服务器一
HTTP协议简介1.使用谷歌/火狐浏览器分析在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以:HTML是一种用来定义网页的文本,会HTML,就可以编写网页;HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。Chrome浏览器提供了一套完整地调试工具,非常适合Web开发。安装好Chro原创 2018-03-11 10:56:52 · 271 阅读 · 0 评论 -
web服务器二
Web静态服务器-1-显示固定的页面#coding=utf-8import socketfrom multiprocessing import Processdef handleClient(clientSocket): '用一个新的进程,为一个客户端进行服务' recvData = clientSocket.recv(2014) requestHeaderLi...原创 2018-03-11 11:17:55 · 394 阅读 · 0 评论 -
python核心编程一
python是动态语言1. 动态语言的定义动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用。它是一类 在运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。例如JavaScript便是一个动态语言,除此之外如 PHP 、 Ruby 、 Python 等也都属于动态语言,而 C ...原创 2018-03-11 16:31:31 · 297 阅读 · 0 评论 -
python核心编程二
生成器1. 什么是生成器通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间...原创 2018-03-11 17:31:17 · 462 阅读 · 0 评论 -
python核心编程三
作用域 LEGB 规则Python 使用 LEGB 的顺序来查找一个符号对应的对象locals -> enclosing function -> globals -> builtinslocals,当前所在命名空间(如函数、模块),函数的参数也属于命名空间内的变量 enclosing,外部嵌套函数的命名空间(闭包中常见)def fun1(): a = 1...原创 2018-03-12 11:17:51 · 714 阅读 · 0 评论 -
多线程一
python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用.1.使用threading模块 单线程执行#coding=utf-8import timedef saySorry(): print("亲爱的,我错了,我能吃饭了吗?") time.sleep(1)if __name__ =="...原创 2018-03-05 16:59:34 · 279 阅读 · 0 评论 -
多线程二
from threading import Threadimport timeg_num = 100def work1(): global g_num for i in range(3): g_num += 1 print("----in work1, g_num is %d---"%g_num)def work2(): global g_nu...原创 2018-03-05 18:55:56 · 360 阅读 · 0 评论 -
多线程三
生产者与消费者模式 1. 队列 先进先出Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语(可以理解为原子操作,即要么不做,要么就做完),能够在多线程中直接使用。可以使用队列来实现线程间的同步。用FIFO队列实现上述生产者与...原创 2018-03-06 09:04:02 · 194 阅读 · 0 评论 -
网络编程一
socket简介1.本地的进程间通信(IPC)有很多种方式,例如队列同步(互斥锁、条件变量等)以上通信方式都是在一台机器上不同进程之间的通信方式,那么问题来了网络中进程之间如何通信?2. 网络中进程之间如何通信首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这...原创 2018-03-06 16:24:31 · 215 阅读 · 0 评论 -
函数
函数介绍 如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。<1>定义函数 定义函数的格式如下:(用def定义函数,函数名的命名规则与变量名相同)def 函数名(): 代码<2>调用函数 定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它。调用函数很简单的,通过 函数名原创 2018-01-22 10:11:59 · 525 阅读 · 0 评论 -
文件操作
使用文件的目的:就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力文件的打开与关闭 <1>打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式)示例如下:f = open('test.txt', 'w')访问模式 说明r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式原创 2018-01-25 09:56:49 · 295 阅读 · 0 评论 -
面向对象编程
面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程类和对象 面向对象编程的2个非常重要的概念:类和对象 对象是面向对象编程的核心在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念—类 类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象类的构成 类(Cla原创 2018-01-25 10:21:02 · 523 阅读 · 0 评论 -
名字/片管理系统
名字管理系统 1.一个程序如果要实现多个功能,每完成一个功能的代码紧接着就是测试。然后可以继续添加额外的功能,切勿全部功能全部完成再去测试。 2.当一串代码需要重复执行,但又不知道重复多少次,可以用while True: 遍历字符串、列表、元组获取每个字符或者元素必须for 循环#1. 打印功能提示print("="*50)print("名字关系系统 V8.6")print(" 1原创 2018-01-20 19:00:25 · 633 阅读 · 0 评论 -
数据结构与算法
算法的概念算法是独立存在的一种解决问题的方法和思想。算法的五大特性输入: 算法具有0个或多个输入输出: 算法至少有1个或多个输出有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成确定性:算法中的每一步都有确定的含义,不会出现二义性可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成先来看一道题: 如果 a+原创 2018-01-28 18:39:16 · 470 阅读 · 0 评论 -
爬虫
爬虫基本原理 爬虫是 模拟用户在浏览器或者App应用上的操作,把操作的过程、实现自动化的程序。当我们在浏览器中输入一个url后回车,后台会发生什么?比如说你输入https://www.baidu.com简单来说这段过程发生了以下四个步骤: (1)查找域名对应的IP地址。 浏览器首先访问的是DNS(Domain Name System,域名系统),dns的主要工作就是把域名转换成相应的IP原创 2018-01-27 21:01:26 · 1102 阅读 · 0 评论 -
Python 多线程与锁
多线程类似于同时执行多个不同程序,多线程运行有如下优点:(1)使用线程可以把占据长时间的程序中的任务放到后台去处理。(2)用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度(3)程序的运行速度可能加快(4)在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。原创 2018-02-11 13:50:32 · 1656 阅读 · 0 评论 -
网络编程二
单进程服务器1.完成一个简单的TCP服务器from socket import *serSocket = socket(AF_INET, SOCK_STREAM)# 重复使用绑定的信息serSocket.setsockopt(SOL_SOCKET, SO_REUSEADDR , 1)localAddr = ('', 7788)serSocket.bind(localAddr...原创 2018-03-07 10:23:43 · 244 阅读 · 0 评论