
python
Terminator_HWW
金麟本非池中物,一遇風雲化成龍!!
展开
-
python中遵循WSGI协议的HTTP服务器
一、WSGI协议WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web server如何与web application通信的规范。WSGI协议其实是定义了一种server与application解耦的规范,即可以有多个实现WSGI server的服务器,也可以有多个实现WSGI app...原创 2018-12-17 01:10:25 · 632 阅读 · 0 评论 -
python中以解堵塞、长连接方式实现http服务器
一、以解堵塞(非堵塞)、长连接的方式实现http的服务器1、长连接:http 1.1版本建立连接-------------->数据传输---------------->保持连接--------------->数据传输---------------->关闭连接…2、短连接:http 1.0版本建立连接-------------->数据传输------------...原创 2018-12-04 18:20:11 · 2395 阅读 · 0 评论 -
python中的命名规则
一、命名规则今天所整理的规则都是符合个人开发习惯,不一定是必须按照以下规则使用。以下命名规则都要符合标识符的命名规则。由字母、数字、下划线组成,不能以数字开头。区分大小写不能与关键字重名1、变量的命名规则每个单词都使用小写字母单词与单词之间用英文下划线_连接例如:num,file_name2、常量的命名规则一般采用全部单词大写单词之间用英文下划线_连接例如:C...原创 2018-12-04 10:27:29 · 12829 阅读 · 2 评论 -
python中的http服务器
一、http服务器的实现import socketimport redef client_request(new): """浏览器的请求""" # 将浏览器的请求转换成列表 request_data = new.recv(1024).decode("utf-8").splitlines() print(request_data) print("-...原创 2018-12-03 18:27:27 · 447 阅读 · 0 评论 -
python中的深拷贝和浅拷贝
一、浅拷贝copy和深拷贝deepcopycopy模块下的copy.copy和copy.deepcopy赋值运算符中的=相当于浅拷贝浅拷贝的特点:公用一个值拷贝前变量的地址值和拷贝后变量的地址值一样修改原有变量的值,拷贝后的值也发生改变深拷贝的特点:把原有变量的值复制一份修改原有变量的值,拷贝后的值不会发生改变拷贝前变量的地址值和拷贝后变量的地址值不一样1、对于可变类...原创 2018-12-03 15:47:07 · 199 阅读 · 0 评论 -
python中线程、进程、协程三者之间的关系及区别
一、线程线程是操作系统中能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。二、进程进程就是一个程序在一个数据集上的一次动态执行过程。三、协程四、三者之间的关系及区别1.、线程和进程的关系一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。资源分配给进程,同一进程中的所有线程共享该进程的所有资源。2、进程与线程的区别(1)线程作为调度和分配...原创 2018-11-27 14:16:30 · 602 阅读 · 0 评论 -
python中的正则表达式
在python中定义规则(正则表达式),要导入re模块。import rematch、r和\:match从头开始匹配r原生字符串\转义一、匹配单个字符字符功能.匹配任意一个字符,除\n[]匹配[]中列举的字符/d匹配数字0-9/D匹配非数字/w匹配数字(0-9)、字母(a-z和A-Z)、下划线(_)...原创 2018-11-26 18:16:06 · 195 阅读 · 0 评论 -
python中的协程
一、协程1、迭代器(Iterator)(1)、判断能否迭代(2)、想要迭代必须有__iter__方法(3)、__iter__中的return返回的是一个迭代器(iter__和__next)(4)、可以使用 isinstance() 判断一个对象是否是 可迭代的(Iterable) 对象1-1、判断是不是可以迭代,用Iterablefrom collections import Ite...原创 2018-11-25 23:32:27 · 199 阅读 · 0 评论 -
python中的进程
一、进程1、多进程之间不会修改全局变量,多进程之间共享资源用 消息队列(先进先出,后进后出):Queue。2、结论:每个子进程在执行前都会复制一份主进程代码,每个子进程之间都是独立的,互不干扰创建进程(1)、导入multiprocessing包----->import multiprocessing(2)、创建进程对象---->p1 = multiprocessing....原创 2018-11-25 23:23:06 · 385 阅读 · 0 评论 -
python中的线程
一、线程1.多线程之间共享数据时存在资源竞争问题,解决办法:互斥锁(越少越好)2、互斥锁/线程锁(1)、创建互斥锁对象:mutex = theading.Lock(2)、上锁:mutex.acquire()(3)、解锁:mutex.release()3、创建线程:(1)、导入theading包---->import theading(2)、创建线程对象---->t1 ...原创 2018-11-25 23:01:49 · 651 阅读 · 0 评论 -
python网络编程之TCP聊天室
使用ipv4和tcp协议进行通信:一、客户端代码:import socketdef main(): #1.创建TCP套接字 tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2.获取服务器的ip/port server_ip = input("请输入服务器端的ip:") server_port =...原创 2018-11-18 22:54:15 · 1322 阅读 · 0 评论 -
python网络编程之UDP聊天室
下面的代码实现的功能是:使用ipv4和udp协议接收和发送数据,客户端只能发送一条消息,让后等待对方回复,如此重复,当双方都发送exit时结束通讯。import socket#创建套接字send_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)# 绑定IP及端口号send_socket.bind(("ip地址", 端口...原创 2018-11-18 22:22:49 · 1072 阅读 · 0 评论 -
python中的递归函数
一.递归函数它是依据数据结构的栈的原理,不断开辟新的内存空间以满足程序需要,而不是不断改变已有内存空间的值来满足程序需要,所以递归是一种极具消耗内存资源的算法思维,所以在现实项目中,除非代码量影响过大,否则能不用递归就不用递归.特点:必须有个出口,否则会出现死循环函数自己调用自己代码(例): """举例证明角谷猜想:以一个正整数N为例,如果N为偶数,就将它变为N/2,如果除后变为奇数...原创 2018-11-13 09:39:09 · 552 阅读 · 0 评论 -
python中的单例、异常捕获和重写new方法等
一、python中的单例(多个对象一个地址)class MusicPlayer(object): #object:基类 #记录第一次被创建的引用 instance = None def __new__(cls, *args, **kwargs): #1.判断类属性是否为空对象 if cls.instance is None...原创 2018-11-12 23:39:56 · 434 阅读 · 1 评论 -
python中文件的三大操作、模块原则等
一、文件的三大操作#1.打开文件:open接收的变量名 = open("文件名",[r/w/a]) #只读/只写/追加#2-1.读写文件:read/write接收的变量名.read() #读取全部内容2-2.一行一行读取完内容while True: text = 接收的变量名.readline() #一行一行读取内容 # 判断是否...原创 2018-11-12 23:38:07 · 317 阅读 · 0 评论 -
python面向对象之封装、继承和多态
一.封装类似于模板,把事物共有的特征和行为进行打包,然后创建出来的对象就会具有这些特征和行为。1.封装数据的主要原因是:保护隐私 和 隔离复杂度2.类的结构class 类名(object): #类名的命名规则:大驼峰命名法(每个单词首字母大写,单词之间没有下划线) #类属性 属性名 = 值 #类方法 @classmethod ...原创 2018-11-12 23:35:46 · 299 阅读 · 0 评论 -
python之名片管理系统
一.两个文件(crad_main.py)和(crad_tools.py)1.crad_main.py:搭建整体框架 (1)提示用户输入信息 (2)进入界面提示 (3)进行判断 源代码:#!/usr/bin/python3#导入文件import cards_toolswhile True : cards_tools.shou_menu() #提示用...原创 2018-11-12 23:33:06 · 339 阅读 · 0 评论 -
Python中的变量、函数进阶、两个数的交换
一.变量1.全局变量:定义在函数顶部,供所有函数调用2.局部变量:定义在函数内部,函数执行时被创建,执行完毕,被系统收回,在函数内部想要修改全局变量时:global 变量名变量 = 值当全局变量时列表时,在函数内部想要修改全局变量,可以使用列表的append方法不同的函数,可以定义相同名字的局部变量二.函数进阶1.参数传递传递的参数可以是可变类型:tuple,dict不可变类...原创 2018-11-01 17:45:06 · 381 阅读 · 0 评论 -
python基础之名片管理系统
一.两个文件(crad_main.py)和(crad_tools.py)1.crad_main.py:搭建整体框架 (1)提示用户输入信息 (2)进入界面提示 (3)进行判断2.card_tools.py:各功能封装成函数 (1)主界面 (2)增加界面 (3)显示界面 (4)搜索界面 (4-1)进行查找 (4-2)找到后修改、删除、返回菜单 ...原创 2018-11-01 12:33:14 · 371 阅读 · 0 评论 -
python中的字典、字符串、for循环
一.字典(dict)1.字典中可以存储任意类型的对象,数据采用键值对存储,键是唯一的,没有顺序(无序) 多用于保存物体的详细信息 键可以用数字,字符串,元组充当,不能用列表,否则就会报错2.定义及格式:字典名={键(key) : 值(value) , 键(key) : 值(value) , 键(key) : 值...原创 2018-11-01 11:16:46 · 741 阅读 · 0 评论 -
pyhton中的列表、元组、遍历等
一.列表(list)1.定义:用[]定义,有序的集合,元素之间用逗号分隔,索引也叫下标(从0开始)方法的使用:列表名.方法名列表名.然后按tab键:查看列表的方法(前提是创建空列表)例如:name_list=[]name_list.按tab键2.使用(增/删/改/查/):(1)增加:append/insert/extend/+列表名.append(“内容”)例如: name_li...原创 2018-11-01 11:15:26 · 275 阅读 · 0 评论 -
python中的循环嵌套、函数
一.循环嵌套1.while嵌套循环格式0定义计数器1while 条件1 :执行满足条件1的代码定义计数器2while 条件2 :执行满足条件2的代码计数器2+1计数器1+12.end可以代替换行(print("")函数在python中默认换行)print(“nihao” ,end=""):打印的时候不换行print(“nihao” ,end=&原创 2018-10-25 22:41:45 · 874 阅读 · 0 评论 -
python基础之变量、if、运算符、while循环
一、变量的命名1、标识符和关键字 标识符:字母、数字、下划线 关键字:python已经占用查看python关键字命令: import keyword:导入工具包 print (keyword.kwlist)2、变量的命名规则(见名知意) 1、定义变量时 = 左右留一个空格 2、两个英语单词都小写,中间用_连接 驼峰命名(大、小)二、if判断语句格式一...原创 2018-10-25 00:11:28 · 283 阅读 · 0 评论 -
python基础之pycharm
一、pycharm的安装与卸载1、安装:将pycharm源文件解压到/opt/目录下,然后cd /opt/pycharm/bin,在bin目录下运行./pycharn.sh2、卸载:先移除/opt/pycharm文件,然后删除/home/.pycharm文件二、python基础1、pyhon解释器 官方解释器: 版本:python python3 交互式解释器: ...原创 2018-10-24 11:17:51 · 335 阅读 · 0 评论 -
shell常用命令大全
一、终端使用技巧ctrl+alt+t打开终端ctrl+shift+=放大终端字体ctrl+ -缩小终端字体tab输入没有歧义,系统自动补全ctrl+z 或 ctrl+c终止当前命令运行上/下键查看输入过的命令二、终端常用命令1、命令格式:命令 -选项(可以多个) 参数(可以多个)序号命令选项用途常用举例...原创 2018-10-23 14:13:27 · 954 阅读 · 0 评论 -
shell常用命令3
一、用户权限的相关命令1、chmod:修改权限 格式:chmod +/-rwx 文件名|目录 -R : (1) ./:执行文件 ./ 01.py : 执行01.py 文件 文件中加(#!./user/bin/python)2、超级用户 sudo就是root的另一个身份3、组命令和组命令 (1) groupadd 组名...原创 2018-10-23 14:06:22 · 271 阅读 · 0 评论 -
shell常用命令2
一、拷贝(cp)和移动(mv)1、以树的结构显示、显示文件夹以及文件的个数 tree2、显示用户家目录下的所有文件夹和文件 tree ~3、只显示文件夹(目录) tree -d4、cp 格式:cp 源文件(绝对路径) 目标文件 选项: -i:覆盖文件前提示 -r:就能复制文件夹(如果不加,则只能复制文件) 例:cp ~/文档/123.txt ....原创 2018-10-23 14:04:42 · 296 阅读 · 0 评论 -
shell常用命令1
一、常用的shell命令:1、ls:查看当前内容 -a:显示所有文件(包括影藏文件) -l:以列表方式显示文件的详细信息(ls -l) -h:和-l使用,人性化显示信息(ls -h) 可以这样写:ls -lha:人性化的显示当前文件夹下的所有文件及影藏文件 (1)通配符 *:任意个字符 ?:一个字符(至少一个) []:匹配字符组([])中的任意一个 ...原创 2018-10-23 13:48:18 · 210 阅读 · 0 评论