Python

Python迭代器

print("我想打印一个字符串%s"%123)print("我想打印一个字符串",123)print("我想打印一个字符串{}".format(123))这三个输出有什么区别喃?Python中一个数据是否可以迭代(能否使用For)isinstance(需要判断的数据,Iterable)查看返回值,true则可以迭代,false不能迭代。如果创建一个可以迭代的对象?必须实现__iter__()方法在__iter__方法中需要返回一个具有__iter__方法

系统 2019-09-27 17:52:09 2205

Python

python协程详解

目录python协程详解一、什么是协程二、了解协程的过程1、yield工作原理2、预激协程的装饰器3、终止协程和异常处理4、让协程返回值5、yieldfrom的使用6、yieldfrom的意义三、greenlet的使用四、gevent的使用python协程详解一、什么是协程协程又称为微线程,协程是一种用户态的轻量级线程协程拥有自己的寄存器和栈。协程调度切换的时候,将寄存器上下文和栈都保存到其他地方,在切换回来的时候,恢复到先前保存的寄存器上下文和栈,因此:

系统 2019-09-27 17:51:34 2205

Python

在Docker上部署Python的Flask框架的教程

本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法。虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序)。Docker通过封装依赖项,大大减少了开发环境和正式产品的差距。大多数Python开发人员在开发中使用virtualenv。它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(

系统 2019-09-27 17:50:28 2205

Python

面试前赶紧看了5道Python Web面试题,Python面试题No17

目录本面试题题库,由公号:非本科程序员整理发布第1题:Flask中的请求上下文和应用上下文是什么?第2题:django中间件的使用?第3题:django开发中数据做过什么优化?第4题:解释一下Django和Tornado的关系、差别?DjangoTornado第5题:什么是restfulAPI,谈谈你的理解?REST的特点第6题:关注题,最近在公号更新一个神奇的系列入门文章@本面试题题库,由公号:非本科程序员整理发布第1题:Flask中的请求上下文和应用上

系统 2019-09-27 17:50:03 2205

Python

python

环境spyder(python3.6)代码:fromflaskimportFlask,requestimportjsonimportsysdefaultencoding='utf-8'importloggingdeftt(name,age):result_str="%s今年%s岁"%(name,age)returnresult_strapp=Flask(__name__)@app.route("/test_1.0",methods=["GET"])defc

系统 2019-09-27 17:49:36 2205

Python

Python之os模块

OS模块基本操作提供对操作系统进行调用的接口importos#导入模块os.getcwd()#获取当前目录(pwd)os.chdir("/Users")#切换到某个指定的目录(cd/Users)os.curdir#返回当前目录('.'、cd.)os.pardir#返回上级目录('..'、cd..)os.makedirs('dirname1/dirname2')#递归创建目录(mkdir-p)os.removedirs('dirname1/dirname2'

系统 2019-09-27 17:49:12 2205

Python

Python 中多线程和对列的几点疑惑

下面仅以多线程为例:首先需要明确几个概念:知识点一:当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束,例子见下面一。知识点二:当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一旦执行结束,则全部线程全部被

系统 2019-09-27 17:47:34 2205

Python

Python函数参数类型*、**的区别

刚开始学习python,python相对于java确实要简洁易用得多。内存回收类似hotspot的可达性分析,不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来说理解起来比较轻松。只是函数部分参数的"*"与"**",闭包等问题,着实令人迷糊了一把,弄清概念后写下此文记录下来,也希望本文能够帮助其他初学者。所以本文是一篇学习笔记,着重于使用的细节和理解上,首先分别介绍了函数各种参数类型在调用和声明时的区别,及其在混用时需

系统 2019-09-27 17:47:08 2205

Python

Python3 格式化数字 补零 数字补零

Python中将数字格式化时,有些时候需要将数字格式化,为了显示美观,需要补零。今天在写代码时,看见别人的奇怪写法,觉得有必要在这里把Python更好的写法重写一下。看到的别人的代码foriinrange(99):num_str=str(i)iflen(num_str)>1:num_str='0'+str(i)print(num_str)看到这段代码,我的三观被刷新了。如果补零比较多,确实代码的行数可观。常见和不常见的格式化补零方法foriinrange(

系统 2019-09-27 17:45:59 2205

Python

Python 操作 SQLite 数据库

SQLite是一个小型的关系型数据库,它最大的特点在于不需要单独的服务、零配置。我们在之前讲过的两个数据库,不管是MySQL还是MongoDB,都需要我们安装。安装之后,然后运行起来,其实这就相当于已经有一个相应的服务在跑着。SQLite与前面所说的两个数据库不同。首先Python已经将相应的驱动模块作为了标准库的一部分,只要是你安装了Python,就可以使用;再者它可以类似于操作文件那样来操作SQLite数据库文件。还有一点,SQLite源代码不受版权限

系统 2019-09-27 17:45:49 2205

Python

python爬虫入门教程之糗百图片爬虫代码分享

学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:复制代码代码如下:#-*-coding:utf-8-*-#上面那句让代码里支持中文#------------------------

系统 2019-09-27 17:45:42 2205

Python

浅谈python多线程和队列管理shell程序

首先来描述下环境,在机器上有很多个JAVA程序,我们在每个JAVA程序里都配置了一个启动|停止|重启的脚本举个例子:我们现在要同时运行这些脚本,来达到快速启动所有的JAVA程序,如果我们只用多线程的话,线程是不会返回消息给父进程,我们如何才能知道这些程序是启动成功了呢?所以我们用到了队列来管理。"""我试过gevent,但是会在command这里造成阻塞"""gevent代码如下如果有朋友知道如何优化,请您告诉我#!/usr/bin/python2.7#-

系统 2019-09-27 17:38:36 2205

Python

python字典的常用操作方法小结

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋友可以参考下。字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:1.创建字典>>>dict={'ob1':'computer','ob2':'mouse','ob3':'printer'}技巧:字典中包含列表:dict={'yangr

系统 2019-09-27 17:38:21 2205

Python

浅谈Python中函数的参数传递

1.普通的参数传递>>>defadd(a,b):returna+b>>>printadd(1,2)3>>>printadd('abc','123')abc1232.参数个数可选,参数有默认值的传递>>>defmyjoin(string,sep='_'):returnsep.join(string)>>>myjoin('Test')'T_e_s_t'>>>myjoin('Test',';')'T;e;s;t'?>>>defmyrange(start=0,st

系统 2019-09-27 17:38:15 2205

Python

Python Paramiko模块的安装与使用详解

一、前言常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了。而使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。下面本文就来详细的介绍PythonParamiko模块的安装与使用,一起学习学习

系统 2019-09-27 17:37:36 2205