-
python *args,**kwargs参数
所属栏目:[Python] 日期:2020-12-20 热度:119
实际上,关键的是*和** 我们以三个例子来解释: 普通的使用参数: def test1(arg): print (arg)test1( " a " )输出:a *是将剩下的参数用元祖表示 def test1(arg1,arg2,* args): (arg1) (arg2) (args)test1( 1,2,3, " ,1)">b )输出: 12 ( 3,1)">' ' ,1)">'[详细]
-
利用装饰器计算函数运行的时间
所属栏目:[Python] 日期:2020-12-20 热度:94
import time from functools wraps def time_this_function(func): # 作为装饰器使用,返回函数执行需要花费的时间 @wraps(func) def wrapper(*args,** kwargs): start = time.time() result =func(*args,1)">kwargs) end = time.time() print ( " 函数: "[详细]
-
记录一些常用的python库、软件或者网址
所属栏目:[Python] 日期:2020-12-20 热度:53
1.数据收集 BeautifulSoup、scrapy、selenium、requests 2.数据分析 pandas、numpy、pyDD、spacy 3.数据可视化 matplotlib、seaborn、bokeh 4.建模 scikit-learn、tensorflow、pytorch 5.模型解释 lime、h2o 6.语音处理 librosa、madmom、pyAudioAnalysis 7.[详细]
-
python小例子(一)
所属栏目:[Python] 日期:2020-12-20 热度:60
参考链接:https://zhuanlan.zhihu.com/p/83998758?utm_source=qqutm_medium=socialutm_oi=728200852833075200 1.判断是否存在重复元素 def all_unique(a): return len(a)==len(set(a)) print(all_unique([1,1,2,3])) 输出:False 2.检查两个字符串的组成是[详细]
-
python wraps的作用
所属栏目:[Python] 日期:2020-12-20 热度:114
1.__name__用来显示函数的名称,__doc__用来显示文档字符串也就是("""文档字符串""")这里面的内容 2.首先我们来看不加@wraps的例子 def my_decorator(func): def wrapper(*args,** kwargs): ''' decorator ''' print ( ' Decorated function... ' ) return f[详细]
-
XPath
所属栏目:[Python] 日期:2020-12-20 热度:67
1.xpath语法 (1)选取节点 bookstore / bookstore 获取直接子节点 // bookstore 获取子孙节点 // bookstore[@price] 获取子孙节点中带有price属性的a节点 //div[contains(@ class , " jobdetail " )] 属性包含多个值 //a[@href]与//a/ @href的区别? // a[@[详细]
-
requests+lxml+xpath爬取豆瓣电影
所属栏目:[Python] 日期:2020-12-20 热度:95
(1)lxml解析html from lxml import etree # 创建一个html对象 html= stree.HTML(text)result =etree.tostring(html,encoding= " utf-8 " ).decode( " ) requests+lxml+xpath实现豆瓣电影爬虫 requests import etree headers={ 'User-Agent': 'Mozilla/5.0[详细]
-
【python】使用csv库以字典格式读写csv文件
所属栏目:[Python] 日期:2020-12-20 热度:101
1、使用csv.DictWriter()写入字典格式的数据 import csv with open( ' test.csv ' , w '' ) as csvfile: fieldnames = [ first_name last_name ' ] writer = csv.DictWriter(csvfile,fieldnames= fieldnames) writer.writeheader() writer.writerow({ ' : Ba[详细]
-
python--几种快速排序的实现以及运行时间比较
所属栏目:[Python] 日期:2020-12-20 热度:135
快速排序的基本思想 :首先选定一个数组中的一个初始值,将数组中比该值小的放在左边,比该值大的放在右边,然后分别对左边的数组进行如上的操作,对右边的数组进行如上的操作。(分治+递归) 1.利用匿名函数lambda 匿名函数的基本用法func_name? = lambda x[详细]
-
【pandas】pandas中的常见函数
所属栏目:[Python] 日期:2020-12-20 热度:79
对于dataframe格式的数据: 1、data.value_counts():统计数据出现的次数 2、data.query("label==0"):按指定条件查询数据 3、data.plot():可视化dataframe格式的数据 4、pandas.get_dummies(data):将某列数据用one-hot编码表示 5、pandas.concat([data1,d[详细]
-
【自然语言处理(一)】相关基础技能
所属栏目:[Python] 日期:2020-12-20 热度:180
1.python字符串相关操作 s1 = " hello " s2 = world! " # 去除字符串左右两边的空格 s1 = s1.strip()s2 = s2.strip() 拼接字符串 s = s1+ s2 查找字符或子串 s_index = s.index( ' hello ' ) 字符串大小写转换 s3 = "ABC"s4 = abc s3_lower = s3.lower()s4_u[详细]
-
python小例子(三)
所属栏目:[Python] 日期:2020-12-20 热度:60
1.提高Python运行速度的方法 (1)使用生成器,节约大量内存; (2)循环代码优化,避免过多重复代码的执行; (3)核心模块使用cpython,pypy等; (4)多进程,多线程,协程; (5)多个if elif判断,可以把最可能发生的放在前面; 2.mysql和redis的区别?[详细]
-
requests库
所属栏目:[Python] 日期:2020-12-20 热度:183
import requests headers = { ' User-Agent ' : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/73.0.3683.86 Safari/537.36 ' ,} 1.处理get请求 我们以百度为例,当我们在百度中输入关键字"python"时,其链接地[详细]
-
【numpy】生成图片格式的数据
所属栏目:[Python] 日期:2020-12-20 热度:158
image = np.random.randint(0,255,size=(224,224,3)).astype(np.uint8) import imageioimageio.imwrite( ' test.png ' ,image) test.png是这样的: ?[详细]
-
requests+lxml+xpath爬取电影天堂
所属栏目:[Python] 日期:2020-12-20 热度:165
1.导入相应的包 import requests from lxml import etree 2.原始ur url= " https://www.dytt8.net/html/gndy/dyzz/list_23_1.html " ? ?我们要爬取的是最新电影,在该界面中,我们发现,具体的信息存储在每个名字的链接中,因此我们要获取所有电影的链接才能[详细]
-
python之正则表达式
所属栏目:[Python] 日期:2020-12-20 热度:198
在线验证工具:https://regexr.com/ (在/ /g之间写正则表达式)[详细]
-
python之深拷贝和浅拷贝
所属栏目:[Python] 日期:2020-12-20 热度:146
1.当拷贝的是不可变数据类型(数值、字符串、元组),不管是深拷贝和浅拷贝,都指向的是同一地址; 2.当拷贝的对象是可变数据类型(列表、字典): (1)当浅拷贝的对象中无复杂子对象,原来值的改变不会影响浅拷贝的值,同时浅拷贝值的改变不会影响原来的值[详细]
-
【numpy】numpy中的常用函数
所属栏目:[Python] 日期:2020-12-20 热度:111
1、numpy.mean(a,axis,dtype,out,keepdims ) 经常操作的参数为axis,以m * n矩阵举例: axis 不设置值,对 m*n 个数求均值,返回一个实数 axis = 0:压缩行,对各列求均值,返回 1* n 矩阵 axis =1 :压缩列,对各行求均值,返回 m *1 矩阵 2、numpy.mat()[详细]
-
python中的可变数据类型和不可变数据类型
所属栏目:[Python] 日期:2020-12-20 热度:115
1.不可变数据类型:数值、字符串、元组 不允许变量的值发生变化,如果变量的值变化了,那么就是新建了一个对象;对于相同值的对象,在内存中只有一个对象。 ? ?2.可变数据类型:列表、字典 ?允许变量的值发生变化,允许变量的值发生变化,即如果对变量进行ap[详细]
-
【原创】python倒排索引之查找包含某主题或单词的文件
所属栏目:[Python] 日期:2020-12-20 热度:125
什么是倒排索引? 倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。通过倒排索引,可以根据单[详细]
-
python--debug神器pysnooper
所属栏目:[Python] 日期:2020-12-20 热度:72
使用它你可以获得什么优势: (1)无需用print就可以获得变量的值; (2)以日志地形式进行保存,方便随时查看; (3)可以根据需要,设置调用函数的深度; (4)多个函数的日志,可以设置前缀进行标识; 1.安装 pip install pysnooper 2.官方代码 import py[详细]
-
python之ORM(对象关系映射)
所属栏目:[Python] 日期:2020-12-20 热度:152
? ?实现了数据模型与数据库的解耦,通过简单的配置就可以轻松更换数据库,而不需要更改代码。orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句。所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite....,如果数据库迁移,只[详细]
-
【numpy】新版本中numpy(numpy>1.17.0)中的random模块
所属栏目:[Python] 日期:2020-12-20 热度:54
numpy是Python中经常要使用的一个库,而其中的random模块经常用来生成一些数组,本文接下来将介绍numpy中random模块的一些使用方法。 首先查看numpy的版本: import numpy numpy. __version__ '1.18.2' numpy获得随机数有两种方式: 结合BitGenerator生成伪[详细]
-
python小例子(二)
所属栏目:[Python] 日期:2020-12-20 热度:68
1.在函数里面修改全局变量的值 2.合并两个字典、删除字典中的值 ?3.python2和python3 range(1000)的区别 python2返回列表,python3返回迭代器 4.什么样的语言可以使用装饰器? 函数可以作为参数传递的语言。 5.python内置数据类型有哪些? 整型(Int)、布尔[详细]
-
初级爬虫--爬取拉勾网职位信息
所属栏目:[Python] 日期:2020-12-20 热度:165
主要用到的库:requests 1.原始url地址,https://www.lagou.com/jobs/list_python?labelWords=fromSearch=truesuginput=。我们查看网页源代码,发现里面并没有我们想要的职位信息,这是因为拉勾网有反爬虫机制,它的职位信息是通过ajax动态加载的。 2.我们按[详细]
