搜索到与相关的文章
Python

Python yield与实现方法代码分析

yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`

系统 2019-09-27 17:52:18 1982

Python

Python 装饰器实现DRY(不重复代码)原则

Python装饰器是一个消除冗余的强大工具。随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能。例如让我们看看Djangoweb框架,该框架处理请求的方法接收一个方法对象,返回一个响应对象:defhandle_request(request):returnHttpResponse("Hello,World")我最近遇到一个案例,需要编写几个满足下述条件的api方法:返回json响应如果是GET请求,那么返回错误码做为一个注

系统 2019-09-27 17:52:01 1982

Python

[python整理]@staticmethod和@classmethod的作用

前言知识在于细节,整理很重要。在python中,有3类方法:1)静态方法(staticmethod)2)类方法(classmethod)3)实例方法其中静态方法和类方法是不需要进行实例就可以直接调用,语法格式:类名.方法名具体举个例子说明deffunc(x):print("hello,我是常用方法")classFun:deffunc1(self,x):print("hello,我是类中方法",x,self)@classmethoddeffunc2(cls,

系统 2019-09-27 17:51:55 1982

Python

Python3快速入门(七)——Python3正则表达式

Python3快速入门(七)——Python3正则表达式1、re模块简介re模块提供Perl风格的正则表达式模式,使Python语言拥有全部的正则表达式功能。2、正则表达式模式模式字符串使用特殊的语法来表示一个正则表达式:正则表达式模式中的字母和数字匹配同样的字符串;多数字母和数字前加一个反斜杠时会有不同的含义;标点符号通常有特殊的含义,只有被转义时才匹配自身;反斜杠本身需要使用反斜杠转义。^匹配字符串的开头$匹配字符串的末尾.匹配任意字符,除了换行符,当

系统 2019-09-27 17:51:33 1982

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 1982

Python

Python -- pycurl, mysqlclient, Django

前言本不想多说什么,年后在公司亲历一段别样经验,不想吐槽,只因吐槽不能改变任何现状。小姐心态,寡妇待遇,妇联追求,一份技术工作做出弯腰,低头,下跪,也是醉了。今年大环境不好,大厂裁员,人才过盛,好在自己还是去了符合自己意愿的公司。新工作快一个月,主要工作技术内容是一个Django的小东西,首先是需要从Python2迁移至Python3,简单带点重构。Python2迁移Python3运行环境服务run在docker里,启动方式里面没有嵌入太多环境变量,基本基

系统 2019-09-27 17:50:00 1982

Python

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

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

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

Python

python字符串类型介绍

一.字符串的写法1.单引号或双引号二.字符串是不会变的1.字符串不会变,只会新增后再赋值a='ABC'b=aa='XYZ'print(b)结果还是ABC三.字符串的拼接1.用加号+2.字符串不能与数字类型相加,需要使用内置函数str()将数字类型转换成字符串类型再拼接四.字符串的常用方法1.title()将字符串里面的英文单词(空格隔开的叫一个单词)首字母变大写,其他字符不变2.upper()将字符串里面的所有英文字符变大写,其他字符不变3.lower()

系统 2019-09-27 17:48:26 1982

Python

Python的互斥锁与信号量

并发与锁a.多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁b.c.互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:1importthreading2#声明互斥锁3lock=threading.Rlock();4defhandle(sid):#功能实现代码5lock.acquire()#加锁6#

系统 2019-09-27 17:48:09 1982

Python

在Python中使用全局日志时需要注意的问题

在使用uliweb开发soapwebservice后,启动uliweb时,werkzeug的日志莫名其妙丢失了。正常的日志:复制代码代码如下:[INFO]*LoadingDebuggedApplication...[INFO]*Runningonhttp://localhost:8000/[INFO]*Restartingwithreloader[INFO]*LoadingDebuggedApplication...异常的日志:复制代码代码如下:[INFO

系统 2019-09-27 17:48:08 1982