
Python
文章平均质量分 55
lanhaixuanvv
爱运动,爱技术,爱生活
展开
-
Python3 入门学习方法资源
Python 入门学习方法第一步: 学习基本语法看书籍:1) Python编程从入门到实践 pdf文档: https://pan.baidu.com/share/link?uk=2574229571&shareid=39167516942) Python核心编程 pdf文档:https://pan.baidu.com/share/link?uk=2282052319&shareid原创 2017-10-23 00:02:03 · 593 阅读 · 0 评论 -
[Python基础知识] - iteration,iterator 和 iterable 的学习笔记
在Python学习中我们经常看到这三个词,但是总是无法精准的定义它们的含义,以下是我从网上和文档中总结的定义:iteration iteration(迭代) 是在一行元素中一次取一个元素的过程iterator iterator 是一个对象,它具有 next(Python2) 或 __next__(Python3) 方法。在Python3中,当没有更多的元素时,__next __() 引发原创 2017-11-10 21:22:35 · 587 阅读 · 0 评论 -
lambda 函数所引起的闭包问题
之前在某本书上看到一道题,要求是:用字符串sign中的每一个字符去分割s字符串,并得到最后的结果s = 'ab;cd|efg|hi,jkl|mn\opq;rst,uvw/xyz'sign = ';|\/,'书中给的答案是这样的:def my_split(s, sign): s = [s] for i in sign: t = [] for x in转载 2017-11-24 21:33:24 · 515 阅读 · 0 评论 -
[Python高效编程] - 拆分含有多种分隔符的字符串
把某个字符串依据分隔符拆分不同的字段,该字符串有多种不同的分隔符,例如: s = “a/b;c|d\tefg|hijk\tlmn;op/q;r\tstuvw;xyz”其中 “,”、”;”、“|”、”\t”都是分隔符使用 split() 方法分割空白字符“space”、“\t”、”\r”、”\n”等字符In [1]: s = "a b\rc\nd\n e\nf"In原创 2017-11-24 22:15:13 · 1310 阅读 · 0 评论 -
Python多线程编程
Python多线程编程1. GIL锁2. threading3. 线程中通信4. 线程同步 Lock 和 RLock5. Condition6. Semaphore7. ThreadPoolExecutor原创 2018-07-30 11:18:04 · 710 阅读 · 0 评论 -
Python多进程编程
Python多进程编程1 多进程编程1.1 multiprocessing.Processimport multiprocessing#多进程编程import timedef get_html(n): time.sleep(n) print("sub_progress success") return nif __name__ == "__ma...原创 2018-07-30 14:09:52 · 230 阅读 · 0 评论 -
使用脚本调用Django数据库
使用交本调用数据库环境配置mport sysimport ospwd = os.path.dirname(os.path.realpath(__file__))sys.path.append(pwd+"../")os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings")首先获取到环境系统的路径原创 2018-01-24 10:52:56 · 1531 阅读 · 2 评论 -
Xpath和CSS选择器的使用详解
Xpath与CSS选择器在爬虫中非常常见,下列我将描述一下它们的使用详情安装Xpath和CSS选择器Windows平台 pip install lxmlUbuntu平台$ sudo apt-get install python3-lxml$ sudo apt-get install libxml2-dev libxslt-dev python-dev$ sudo apt-get build-de原创 2017-11-17 22:35:37 · 10277 阅读 · 0 评论 -
使用Python的matplotlib库生成随机漫步图
序言:本教程使用python来生成随机漫步数据,再使用matplotlib将数据呈现出来开发环境 操作系统: Windows10 IDE: Pycharm 2017.1.3 Python版本: Python3.6 Python第三方库:matplotlib开始实战1. 创建RandomWalk()类为了模拟随机漫步,我们将创建一个名为RandomWalk的类, 它随机地选择方原创 2017-11-02 17:52:05 · 3678 阅读 · 6 评论 -
[Python实战项目] - xpath 爬虫实战,获取纵横小说网连载小说最新章节(一)
本教程可以一键获取连载小说最新章节,只需要运行一下代码,直接打开浏览器看小说未看的最新章节开发环境Python版本: python3.6Python第三方库:requests、lxml、webbrowserPycharm软件版本:pycharm 2017.1.3电脑系统:Windows 10 64位系统浏览器: Chrome 59.0.3071.86本文的源码在github上:https:原创 2017-10-18 19:46:13 · 3407 阅读 · 0 评论 -
Windonws 与 Ubuntu 下Python3.6安装Scrapy的快捷方法
序言:通常使用pip install scrapy 安装scrapy包时会出现各种问题,导致安装失败。我将使用最快捷的方法安装scrapy在windows平台下安装twisted 先下载 twisted 的 wheel安装包 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 例如python3.6版本,win10 64位操作系统,下载文件为原创 2017-10-17 19:07:44 · 1242 阅读 · 1 评论 -
[Python高效编程] - 获取天气信息并使用迭代for输出
获取天气信息import requestsdef getWeather(city): r = requests.get("http://wthrcdn.etouch.cn/weather_mini?city=" + city) data = r.json()['data']['forecast'][0] return '{0}: {1}, {2}'.format(city,原创 2017-11-23 20:54:36 · 399 阅读 · 0 评论 -
[Python高效编程] - 实现用户历史记录功能
举例说明制作一个猜数字的小游戏,查看历史记录from random import randintN = randint(0, 100)def guess(k): if k == N: print("right") return True elif k < N: print("{0} is less-than N".format(k))原创 2017-11-23 19:26:51 · 1203 阅读 · 0 评论 -
使用requests的session机制模拟登陆知乎
开发环境Python版本: python3.6Python库: requests浏览器: Google Chrome 62.0.3202.94调试工具:pycharm 2017.1.3电脑系统:Windows 10 64位系统模拟登陆代码import requeststry: import cookielibexcept: import http.cookiejar原创 2017-11-22 22:04:48 · 2097 阅读 · 0 评论 -
Ubuntu16.04 安装 ipython详细步骤
ipython是一个不错的交互工具,调试Python代码很方便安装ipython$ sudo apt-get install ipython3$ sudo pip install ipython安装Qt console 工具$ sudo pip install jupyter使用Ipython进入 ipython$ ipython使用TAB代码提示使用 ‘ ?’ 提供代码编写帮助退出ipytho原创 2017-11-09 15:54:29 · 14806 阅读 · 0 评论 -
[Python高效编程] - 在列表,字典,集合中根据条件筛选数据
开发环境Python版本: python3.6调试工具:pycharm 2017.1.3电脑系统:Windows 10 64位系统对于不同的数据结构:列表,字典,集合,通用的数据筛选手段为:迭代例如筛选data中的字符串:data = [1, 2, 'a', -3, 'b', -4, 5, 5, 'c', -7]res = []for x in data: if isinstanc原创 2017-11-18 22:36:53 · 503 阅读 · 0 评论 -
[Python高效编程] - 多线程编程之threading模块
全局解释器锁Python代码执行由Python虚拟机(解释器主循环)进行执行的。Python在设计时,主循环中同时只能有一个控制线程在执行,就像单核CPU系统中的多线程一样。内存中可以有许多程序,但是在任意时刻只能有一个程序在运行。同理,尽管Python解释器中可以运行多个线程,但是在任意时刻只有一个线程被解释器执行。对Python虚拟机的访问是由全局解释器(GIL)控制的。这个锁就是用来保证同时只转载 2017-11-16 17:55:45 · 353 阅读 · 0 评论 -
[Python高效编程] - 根据字典的大小,对字典中的项排序
Python中根据字典的大小,对字典中的项排序开发环境Python版本: python3.6调试工具:pycharm 2017.1.3电脑系统:Windows 10 64位系统生成数据from random import randintdata = {x: randint(60, 100) for x in 'xyzabcd'}print(data){'x': 64, 'y': 61,原创 2017-11-18 23:20:18 · 1000 阅读 · 0 评论 -
[Python高效编程] - 快速找到多个字典的公共键
开发环境Python版本: python3.6调试工具:pycharm 2017.1.3电脑系统:Windows 10 64位系统使用随机数生成数据from random import randint, samples1 = {x: randint(1, 4) for x in sample('abcdefg', randint(3, 6))}s2 = {x: randint(1, 4) f原创 2017-11-19 14:40:54 · 550 阅读 · 0 评论 -
[Python高效编程] - lambda, map, filter, reduce函数
如果编程语言Python的作者Guido van Rossum已经有了自己的意愿,那么在本教程中将会缺少这一章。他在2005年5月发表的文章 “All Things Pythonic: The fate of reduce() in Python 3000“中,他给出了去掉lambda,map(),filter() 和 reduce() 函数的原因。他预计Lisp和计划“伙计”的阻力。他没有预料到的翻译 2017-11-19 15:47:11 · 530 阅读 · 0 评论 -
Python3 和 Python2 主要差异
Python3打破了Python2向后兼容,极大提高了性能 Python3引入的重要差异可分为一下几个方面:语法变化,删除/修改了一些语法元素,并添加了一些新的语法元素标准库中的变化数据类型与集合的变化语法变化有些语法变化会导致当前代码无法运行,这些变化是最容易发现,运行这些代码,解释器就会抛出SyntaxError异常。例如:Python 3.6.1 (v3.6.1:69c0db5, M原创 2017-11-14 16:46:21 · 573 阅读 · 0 评论 -
[Python高效编程] - 统计元素出现频度
开发环境Python版本: python3.6调试工具:pycharm 2017.1.3电脑系统:Windows 10 64位系统统计列表中的数字频度生成数据from random import randintdata = [randint(-10, 10) for _ in range(30)]print(data)使用字典统计数据使用迭代方法from random import ra原创 2017-11-18 23:16:00 · 430 阅读 · 0 评论 -
python scrapy爬虫 CrawlSpider 拉钩招聘网302重定向问题解决方案 , 修改setting信息,添加cookie请求
# -*- coding: utf-8 -*-from datetime import datetimefrom scrapy.linkextractors import LinkExtractorfrom scrapy.spiders import CrawlSpider, Rulefrom ArticleSpider.items import LagouJobItem, Lagou...原创 2017-10-15 21:15:09 · 6229 阅读 · 10 评论