装饰器是什么?定义:装饰器是用于拓展原函数功能的一种语法,返回新函数替换旧函数作用:在不更改原函数代码的前提下,拓展出新功能@语法:加上@符系统会自动把下面的函数当成参数传递到装饰器中,从下到上.@符又被称作语法糖装饰器:1.普通装饰器defdecor(func):definner():print(“财务拿钱买货”)func()print(“卖货的钱还回来”)returninner@decor#效果等同于sell=decor(sell)defsell():
系统 2019-09-27 17:53:22 2239
json格式的限制json格式的key必须是字符串数据类型文件中所有的字符串必须是""如果数字是key,那么dump之后会强行转换成字符串数据类型json支持元组,对元组做value的字典会把元组强制转化成列表,元组不能作为key可以多次dump,但是不能load,但是如果非要用json模块进行dump,最好用dumps写入,loads输出dic={‘1’:‘中国’,‘3’:4}str_dic=json.dumps(dic,ensure_ascii=Fal
系统 2019-09-27 17:53:06 2239
前言在Python中,enumrate和range都常用于for循环中,enumrate函数用于同时循环列表和元素,而range()函数可以生成数值范围变化的列表,而能够用于for循环即都是可迭代的。range概述range是用于产生连续或者带步长的数字元素组成的列表,下面是一些基本使用及场景示例。产生数字序列#产生0-9的序列foriinrange(0,10):print(i)print('-'*40)#产生0-20,步进(间隔)为3的数字元素组成的序列
系统 2019-09-27 17:53:03 2239
Python爬虫之selenium高级功能原文地址表单操作元素拖拽页面切换弹窗处理表单操作表单里面会有文本框、密码框、下拉框、登陆框等。这些涉及与页面的交互,比如输入、删除、点击等。前提是找到页面中的元素。例如下面有一个表单输入框:"text"name="passwd"id="passwd-id"/>获取这个元素的方法:element=driver.find_element_by_id("passwd-id")element=driver.find_ele
系统 2019-09-27 17:53:02 2239
前言正则表达式就是从字符串中发现规律,并通过“抽象”的符号表达出来。打个比方,对于2,5,10,17,26,37这样的数字序列,如何计算第7个值,肯定要先找该序列的规律,然后用n2+1这个表达式来描述其规律,进而得到第7个值为50。对于需要匹配的字符串来说,同样把发现规律作为第一步,本文主要使用正则表达式完成字符串的查询匹配、替换匹配和分割匹配。常用的正则符号在进入字符串的匹配之前,先来了解一下都有哪些常用的正则符号,见下表所示:如果读者能够比较熟练地掌握
系统 2019-09-27 17:52:54 2239
由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 2239
二、Python安装和第一个程序<1.Python语言介绍1.官方介绍:Python是一款易于学习且功能强大的编程语言。它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python简洁的语法与动态输入之特性,加之其解释性语言的本质,使得它成为一种在多种领域与绝大多数平台都能进行脚本编写与应用快速开发工作的理想语言。2.特点:简单、易于学习、自由且开放、跨平台、可嵌入性、丰富的库。3.Python使用情况:目前已经超越java成为第一,一下为部分使
系统 2019-09-27 17:49:58 2239
ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快css的缺点:css不支持用逻辑运算符来定位,而xpath支持。css定位语法形式多样,相对xpath比较难记。css定位建议多用,这个定位方式很强大,定位速度快且准确度高。至于难记,用熟了就好了,对勤快的人来说,这不是问题。CSS_selector常用符号:#表示id.表示class>表示子元素,层级1.通过id属性定位:find_element_by_css_selector
系统 2019-09-27 17:49:19 2239
文章作者:Tyan博客:noahsnail.com|CSDN|1.引言众所周知,Python语言简单、易学、开源、具有丰富的库,Python的第一个编译器是用C语言实现的。但Python的缺点也非常明显,最让人诟病的就是Python的性能问题。因此,为了提高程序的运行效率,通常会将程序的关键部分使用C或C++重写,编译成动态链接库,然后在Python(CPython)中进行调用。运行环境:Ubuntu16.04、Python2.7、Python3.5。2.
系统 2019-09-27 17:49:18 2239
对于Linux用户来说,命令行的名声相当的高。不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却是最值得推荐鼓励使用的。通常,命令行对比图形用户界面,更能提供更优雅和更高效的解决方案。命令行伴随着Linux社区的成长,UNIXshells,例如bash和zsh,已经成长为一个强大的工具,也是UNIXshell的重要组成部分。使用bash和其他类似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和
系统 2019-09-27 17:49:16 2239