Python

python学习笔记——函数和模块

函数这么重要的东西自然少不了。那么在python中是怎么定义的呢?defcgg(name):print("haha%s"%name)def是定义的意思,而cgg是函数名,name是参数。当然了,有了函数吗,自然少不了函数的返回值。那么这里用的依然是return。defcgg(a,b):returna+b模块一个小例子:importtimeprint(time.asctime())这个可以显示现在的时间。而这个time就是一个模块,包括之前的turtle也是

系统 2019-09-27 17:51:49 2048

Python

Python实现抓取城市的PM2.5浓度和排名

主机环境:(Python2.7.9/Win8_64/bs4)利用BeautifulSoup4来抓取www.pm25.com上的PM2.5数据,之所以抓取这个网站,是因为上面有城市PM2.5浓度排名(其实真正的原因是,它是百度搜PM2.5出来的第一个网站!)程序里只对比了两个城市,所以多线程的速度提升并不是很明显,大家可以弄10个城市并开10个线程试试。最后吐槽一下:上海的空气质量怎么这么差!!!PM25.py复制代码代码如下:#!/usr/bin/envp

系统 2019-09-27 17:51:23 2048

Python

Python何时应该使用Lambda函数

Python中定义函数有两种方法,一种是用常规方式def定义,函数要指定名字,第二种是用lambda定义,不需要指定名字,称为Lambda函数。Lambda函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行?当然可以啦。有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可。好比电影里面的群众演员,往往他们的戏份很少,最多是衬托主演,跑跑龙套,他们需要名字吗?不需要,因为他们仅仅只是临时出镜,下次可能就用不着了,所以犯

系统 2019-09-27 17:50:41 2048

Python

详解python分布式进程

在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers模块封装很好,不必了解网络通信的细节,就可以很容易地编写分布式多进程

系统 2019-09-27 17:50:30 2048

Python

python爬虫第11关 协程

协程是什么我们已经做过不少爬虫项目,不过我们爬取的数据都不算太大,如果我们想要爬取的是成千上万条的数据,那么就会遇到一个问题:因为程序是一行一行依次执行的缘故,要等待很久,我们才能拿到想要的数据。既然一个爬虫爬取大量数据要爬很久,那我们能不能让多个爬虫一起爬取?这样无疑能提高爬取的效率,就像一个人干不完的活儿,组个团队一起干,活一下被干完了。这是一个很好的思路——让多个爬虫帮我们干活。但具体怎么用Python实现这事呢?我们可以先别急着想怎么实现这件事,后

系统 2019-09-27 17:50:16 2048

Python

Python3中exp()函数用法分析

描述exp()方法返回x的指数,ex。语法以下是exp()方法的语法:importmathmath.exp(x)注意:exp()是不能直接访问的,需要导入math模块,通过静态对象调用该方法。参数x--数值表达式。返回值返回x的指数,ex。实例以下展示了使用exp()方法的实例:#!/usr/bin/python3importmath#导入math模块print("math.exp(-45.17):",math.exp(-45.17))print("mat

系统 2019-09-27 17:49:51 2048

Python

python实现微信自动回复及批量添加好友功能

先给大家介绍下python微信自动回复功能1.当收到好友消息时,自动回复importrandomimportitchatimportrequestsimporttimedefget_tuling_response(_info):print(_info)#图灵机器人的网址api_url="http://www.tuling123.com/openapi/api"data={'key':'5ea0f11b5b6146239c52a47849387484','i

系统 2019-09-27 17:49:44 2048

Python

各种常见排序算法的原理及python代码实现

常见的排序算法:冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序,归并排序。冒泡排序原理:两两元素进行比较,每一趟能够确定最大元素的位置,稳定算法defbubble_sort(alist):'''冒泡排序'''#[5,4,3,2,1][4,5,3,2,1][4,3,5,2,1][4,3,2,5,1][4,3,2,1,5]n=len(alist)foriinrange(n):#count=0forjinrange(0,n-1):ifalist[j]>

系统 2019-09-27 17:49:28 2048

Python

使用70行Python代码实现一个递归下降解析器的教程

第一步:标记化处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。首先,我定义了一些标记(数字不在此中,它们是默认的标记)和一个标记类型:token_map={'+':'ADD','-':'ADD','*':'MUL','/':'MUL','(':'LPAR',')':'RPAR'}Token=namedtuple('Token',['name','value'])下面就是我用来标记`expr`

系统 2019-09-27 17:49:09 2048

Python

python 之 数据库(视图、触发器、事务、存储过程)

10.13视图1、什么是视图视图就是通过查询得到一张虚拟表,然后保存下来,下次用的直接使用即可2、为什么要用视图如果要频繁使用一张虚拟表,可以不用重复查询3、如何使用视图视图记录的增、删、改和表方法相同,但改变视图记录,原始表也跟着改,所以不要修改视图记录,只用于查看createviewteacher2courseas#创建视图select*fromteacherinnerjoincourseonteacher.tid=course.teacher_id;

系统 2019-09-27 17:49:05 2048

Python

Python下线程之间的共享和释放示例

最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到内存释放问题,导致越累越大1.python类变量在多线程情况下的是共享的2.python类变量在多线程情况下的释放是不完全的3.python类变量在多线程情况下没释放的那部分内存是可以重复利用的importthreadingimporttimeclassTest:cache={}@classmethoddefget_value(self,key):value=Test.cache.

系统 2019-09-27 17:48:22 2048

Python

Python Deque 模块使用详解

创建Deque序列:fromcollectionsimportdequed=deque()Deque提供了类似list的操作方法:d=deque()d.append('1')d.append('2')d.append('3')len(d)d[0]d[-1]输出结果:3'1''3'两端都使用pop:d=deque('12345')len(d)d.popleft()d.pop()d输出结果:5'1''5'deque(['2','3','4'])我们还可以限制d

系统 2019-09-27 17:47:59 2048

Python

Python生成随机密码

本人python新手,使用的环境是python2.7,勿喷复制代码代码如下:#-*-coding:utf8-*-importrandomimportstringimportsysreload(sys)sys.setdefaultencoding("utf8")defrandom_number():pwnumber=input("请输入需要密码个数:")pwlength=input("请输入需要密码长度:")ifpwlength<=10:foriinrang

系统 2019-09-27 17:47:14 2048

Python

使用python将excel数据导入数据库过程详解

因为需要对数据处理,将excel数据导入到数据库,记录一下过程。使用到的库:xlrd和pymysql(如果需要写到excel可以使用xlwt)直接丢代码,使用python3,注释比较清楚。importxlrdimportpymysql#importimportlib#importlib.reload(sys)#出现呢reload错误使用defopen_excel():try:book=xlrd.open_workbook("XX.xlsx")#文件名,把文

系统 2019-09-27 17:47:02 2048

Python

在SAE上部署Python的Django框架的一些问题汇总

花了些工夫将碎片网部署到了SAE,中途遇到各类问题。感觉SAE看上去很美,实际上却并不是太成熟(至少python版如此)。下面记录下我遇到的一些主要问题以及解决方法。django版本问题Django1.4都即将发布了,SAE平台自带的SAE版本依旧为1.2x。为使用django1.3版本,你需上传自己的django。具体做法可参考SAE手册中的runtime.html#virtualenv日志模块出错最先遇到的是日至模块的问题。错误显示AdminEmail

系统 2019-09-27 17:46:12 2048