Python

让你的Python代码优雅又地道

译序如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。——EdsgerWybeDijkstra在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。而且Python社区十分注重编码风格一的一致性,他们极力

系统 2019-09-27 17:55:37 2397

Python

Python中的高阶函数(内置高阶函数map()、reduce

一、什么是高阶函数在计算机编程语言中,高阶函数指的是接受函数作为输入或输出的函数。二、高阶函数的特性函数本身也可以赋值给变量变量可以指向函数f=abs#abs()取绝对值函数,将函数赋给变量fprint(f(-10))#输出结果-10的绝对值三、内置高阶函数map()map():接收两个参数,一个是函数一个是序列map()将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回例:对一个序列[-1,3,-4,-5]的每一个元素求绝对值代码:结果:例

系统 2019-09-27 17:54:46 2397

Python

Python爬取豆瓣电影(附生成图表)

Python爬取豆瓣电影,最简单,最暴力,直接搞Api首先是api地址(地址去官网溜达一圈很容易就找到):requests.get('https://movie.douban.com/j/search_subjects?type=movie&tag={}&sort=recommend&page_limit={}&page_start=0'.format(tag,page)使用requests发送get请求拿到json数据(一次可以抓很多条,所以没必要循环抓

系统 2019-09-27 17:53:31 2397

Python

Python-接口开发入门解析

一、开发接口的作用1、mock接口:模拟一些接口。有一些有关联的接口,在别的接口没有开发好的时候,需要用这个接口,就可以写一个假接口,返回想要的结果来模拟这个接口。2、知道服务端的开发逻辑,有助于测试;3、比如不想让其他人看很多数据库中的数据,可以通过接口只返回一部分数据。二、开发一个接口1、flask是一个轻量级的开发框架__name__:代表当前这个python文件server=flask.Flask(__name__):把当前这个python文件,当

系统 2019-09-27 17:52:45 2397

Python

python Elasticsearch索引建立和数据的上传详解

今天我想讲一讲关于Elasticsearch的索引建立,当然提前是你已经安装部署好Elasticsearch。ok,先来介绍一下Elaticsearch,它是一款基于lucene的实时分布式搜索和分析引擎,是后台系统,用来存储数据,检索数据,属于完全命令行交互。那为什么选择python作为脚本进行命令的写入和数据的上传呢?那是因为Python里面有固定的模板,可以上传数据到Elasticsearch。接下来就聊一聊该如何编写代码:我们上传数据之后,数据到哪

系统 2019-09-27 17:51:02 2397

Python

Python HTMLParser模块解析html获取url实例

HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。HTMLParser采用的是一种事件驱动的模式,当HTMLParser找到一个特定的标记时,它会去调用一个用户定义的函数,以此来通知程序处理。它主要的用户回调函数的命名都是以handler_开头的,都是HTMLParser的成员函数。当我们使用时,就从HTMLParser派生出新的类,然后重新定义这几个以handler_开头的函

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

Python

Python函数学习-参数类型

函数的参数在定义Python函数时可定义形参,这些参数在调用时候才能确定具体的值,由函数的调用者负责为行参传入参数值函数的参数类型一、位置参数也叫必传参数,顺序参数,是最重要的,也是必须在调用函数时明确提供的参数!位置参数必须按先后顺序,一一对应,个数不多不少的传递!说明:a,b,c是函数add的行参,没有具体的值,只有在add(x,y,z)是才被传入值,a=x=1,b=y=2,c=z=3,其中x,y,z叫做实参,add(4,5,6,7),add(5,7)

系统 2019-09-27 17:50:17 2397

Python

python九九乘法表

这个乘法表看上去比较舒服,(●’◡’●)foriinrange(1,10):#i取值1到9forjinrange(1,i+1):#j取值1到is="%d*%d=%d"%(j,i,i*j)#赋值乘法公式print(s.ljust(8),end='')#每个字符串占8字符,左对齐,i不变时结尾不换行print()#i变时换行函数defmult(n):foriinrange(1,n+1):forjinrange(1,i+1):s='%d*%d=%d'%(j,i,

系统 2019-09-27 17:49:52 2397

Python

边看边用!这本 Python 3.6 的书火爆了 IT 圈!

最近这段时间,常常有人在后台留言:该不该学Python?如何学Python?鉴于大家都有这方面的困惑今天就给大家推荐一本巨有影响力的Python书火到什么地步呢?在京东上常常卖断货!上线2月就成为畅销王!好评不断!这本书可谓是笔者独家私藏图书之一了,对我学习Python有着莫大的帮助,这次拿出来给大家分享一下PS:文末还将赠送5门课程!这本基于3.6的Python书究竟好在哪?这本书就是《疯狂Python讲义》,作为作者李刚的死忠粉儿,我觉得优点如下:1.

系统 2019-09-27 17:49:38 2397

Python

Python之NumPy(axis=0 与axis=1)区分详解

python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:>>>df=pd.DataFrame([[1,1,1,1],[2,2,2,2],[3,3,3,3]],\columns=["col1","col2","col3","col4"])>>>dfcol1col2col3col4011111222223333如果我们调用df.mean(axis=1),我们将得到按行计算的均值>>>df.mean(axis=1)0

系统 2019-09-27 17:49:31 2397

Python

python并行处理任务时 该用多进程?还是该用多线程?

在python并行处理任务时要使用多线程还是多进程?说到这个话题,必须要提的GIL(GlobalInterpreterLock)全局解释锁,当Cpython每次执行字节码时都要先申请这个锁。那么问题就来了,如果使用多线程是比也会受到影响。多线程和多进程程序比较,哪个性能更高?还是拿一个实例运行来看看吧~#写一个简单的例子,计算100W个随机数的和8次,同时将分散到8个线程进行运算。#thread.py#!/usr/bin/envpythonimportra

系统 2019-09-27 17:48:57 2397

Python

python数据结构相关实现【排序、栈、队列、查找】

一、排序【这里介绍冒泡排序、选择排序、快速排序和插入排序】1.冒泡排序(1)原理解释:冒泡排序,分多轮排序。1)每一轮都是从上层的第一个数开始与其下一个数进行对比,如果大于下一个数就进行交换,下次对比就从上面第二个数【不管之前有无交换】再与其下一个数进行比较,依次比较到最后一个数。【如图i的移动变化】2)第一轮比较【j=0】。比较了最底下第二个数和最底下这个数后,即第一轮比较完。所以第一轮比较的次数为n-1次,即从上面第一个数一直比较到底下第二个数。【其中

系统 2019-09-27 17:48:20 2397

Python

Python中文编码那些事

首先,要明白encode()和decode()的区别encode()的作用是将Unicode编码的字符串转换为其他编码格式。例如:st1.encode("utf-8")这句话的作用是将Unicode编码的st1编码为utf-8编码的字符串decode()的作用是把其他编码格式的字符串转换成Unicode编码的字符串。例如:st2.decode("utf-8")这句话的作用是将utf-8编码的字符串st2解码为Unicode编码的字符串第二,除Unicode

系统 2019-09-27 17:48:16 2397

Python

【Python + Mysql + UI】学生信息管理系统(附代码)

...........做了一个学生信息管理的简单数据库程序,写了一点简单的UI界面,功能不是很强大,代码组织也很不科学,洋洋洒洒竟然写了700多行.......分享出来,一起学习/**********************************@author:CSDN@WilliamCode@E-mail:1327804001@qq.com@date:2019-01-09@AllRightsReserved@@专业程序员,精通C,Python,Java

系统 2019-09-27 17:47:33 2397

Python

在RedHat系Linux上部署Python的Celery框架的教程

Celery(芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。架构设计Celery的架构由三部分组成,消息中间件(messagebroker),任务执行单元(worker)和任务执行结果存储(taskresultstore)组成。1.消息中间件Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ,Redis,MongoDB(experimental)

系统 2019-09-27 17:38:45 2397