- 军军小站|张军博客
搜索到与相关的文章
Python

python框架中flask知识点总结

有很久没有更新我的博客了,在学习flask去了,别人都说flask不难,其实现在我也这么觉得,但是在刚接触的时候还是有点吃力的。在学习的过程中查阅了不少,也了解了许多,今天想做个总结。。。以免觉得学了那么久什么都没学到,还有防止以后忘记。一.关于装饰器,路由最开始接触的时候觉得好神奇,只会照着敲不知道怎么自己用起来@app.route(‘/')defhello:print(‘hello')注意:1.只有@这个东西是固定的,app是可以换的,这与蓝本中的定义

系统 2019-09-27 17:48:05 1817

Python

python MySQLdb Windows下安装教程及问题解决方法

使用python访问mysql,需要一系列安装linux下MySQLdb安装见PythonMySQLdb在Linux下的快速安装//www.jb51.net/article/65743.htm-------------------------------------------------------------以下是windows环境下的:1.安装数据库mysql下载地址:http://www.mysql.com/downloads/可以顺带装个图形工具

系统 2019-09-27 17:48:01 1817

Python

linux安装python3环境

闲来无事,想看看python,网上看了一下教程,好像入门问题不大,那就说干就干。先大概了解一下python的语法。传送门:https://www.runoob.com/python/python-tutorial.html最基础的语法啊,balabala一堆,反正先看下,了解一下。然后就是来搭建一下环境,网上看了一下,linux如何搭建python环境,一看吓一跳,linux本身自带python运行环境。这么刺激的嘛,赶紧打开我的linux,先瞅瞅:终端下

系统 2019-09-27 17:47:45 1817

Python

Python Threading 线程/互斥锁/死锁/GIL锁

导入线程包importthreading准备函数线程,传参数t1=threading.Thread(target=func,args=(args,))类继承线程,创建线程对象classMyThread(threading.Thread)defrun(self):passif__name__=="__main__":t=MyThread()t.start()线程共享全面变量,但在共享全局变量时会出现数据错误问题使用threading模块中的Lock类,添加互

系统 2019-09-27 17:47:40 1817

Python

Python:logging 的巧妙设计

引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py

系统 2019-09-27 17:47:37 1817

Python

软件测试学习教程——Python实现反射机制

序列化(Serialization)是将对象的信息转换为可以存储或传输的形式,后续还可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。在python中也可以进行序列化相关的操作,只是序列化的时候需要将对象保存为一个字典的类型。对于Python内置的数据类型(如str,unicode,int,float,bool,None,list,tuple,dict),可以直接进行序列化/反序列化处理;对于自定义类的对象进行序列化和反序列化时,需要我们自己定义

系统 2019-09-27 17:47:18 1817

Python

python删除列表元素的三种方法(remove,pop,del)

remove删除单个元素,删除首个符合条件的元素,按值删除,返回值为空List_remove=[1,2,2,2,3,4]print(List_remove.remove(2))print("afterremove",List_remove)#None#afterremove[1,2,2,3,4]--------------------------------------------------------------------------------po

系统 2019-09-27 17:47:09 1817

Python

python多线程下信号处理程序示例

本文实例为大家分享了python多线程下信号处理程序示例的具体代码,供大家参考,具体内容如下下面是一个网上转载的实现思路,经过验证,发现是可行的,就记录下来。思路python多线程中要响应Ctrl+C的信号以杀死整个进程,需要:1.把所有子线程设为Daemon;2.使用isAlive()函数判断所有子线程是否完成,而不是在主线程中用join()函数等待完成;3.写一个响应Ctrl+C信号的函数,修改全局变量,使得各子线程能够检测到,并正常退出。源码#!/u

系统 2019-09-27 17:46:56 1817

Python

Python3 字典中混合list排序

mydict={'Li':['M',7],'Zhang':['E',2],'Wang':['P',3],'Du':['C',2],'Ma':['C',9],'Zhe':['H',7]}res=sorted(mydict.items(),key=lambdax:x[1][1])#根据value结构[m,n]中n的值进行排序print(res)#输出#[('Zhang',['E',2]),('Du',['C',2]),('Wang',['P',3]),('Li

系统 2019-09-27 17:46:52 1817

Python

Python命名空间详解

通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L

系统 2019-09-27 17:46:43 1817