自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

python学习者的博客

人生苦短,我用python

  • 博客(210)
  • 资源 (2)
  • 收藏
  • 关注

原创 python正则表达式(7)--flag修饰符、match对象属性

正则表达式—修饰符正则表达式可以包含一些标志修饰符来控制匹配模式,用在正则表达式处理函数中的flag参数中,为可选参数。(1) re.I 全写(re.IGNORECASE)表示使匹配时,忽略大小(2) re.M 全写(re.MULTILINE)多行匹配,影响 ^ 和 $的行为(3) re.S 全写(re.DOTALL)使点(.)匹配包括换行在内的所有字符(4) re...

2019-04-30 21:16:17 527

原创 python正则表达式(8)--分组、后向引用、前(后)向断言

无名、有名分组(1)正则表达式—无名分组从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推。需要注意的是,有一个隐含的全局分组(就是索引号为0的分组),就是整个正则 表达式匹配的结果(2)正则表达式—有名分组命名分组就是给具体有默认分组编号的组另外再起一个别名,方便以后的引用。 命令分组的语法格式如下: (?P正则表达...

2019-04-30 21:16:04 634

原创 python groupby 函数 as_index

在官方网站中对as_index有以下介绍:as_index: boolean, default TrueFor aggregated output, return object with group labels as the index. Only relevant for DataFrame input. as_index=False is effectively “SQL-styl...

2019-04-30 21:15:50 3038

原创 python .dcm文件读取,并转化为.jpg格式

.dcm文件是DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信中记录医学图像和相关信息的文件,在用于医学图像处理的时候我们需要将·.dcm文件中的图像信息读取到python程序中来,下面展示了一个简单的示例。安装pydicom在python环境下安装pydicom只需要在命令行窗口中输入:pip instal...

2019-04-30 21:15:38 4200 2

原创 Python动态变量名定义与调用

动态变量名赋值在使用tkinter时需要动态生成变量,如动态生成var1...var10变量使用exec动态赋值exec在python3中是内置函数,它支持python代码的动态执行。示例:利用命名空间动态赋值在Python的命名空间中,将变量名与值存储在字典中,可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。示例...

2019-04-30 21:15:24 1460 1

原创 如何优雅地实现Python通用多线程/进程并行模块

当单线程性能不足时,我们通常会使用多线程/多进程去加速运行。而这些代码往往多得令人绝望,需要考虑:如何创建线程执行的函数?如何收集结果?若希望结果从子线程返回主线程,则还要使用队列如何取消执行? 直接kill掉所有线程?信号如何传递?是否需要线程池? 否则反复创建线程的成本过高了不仅如此,若改为多进程或协程,代码还要继续修改。若多处使用并行,则这些代码还会重复很多遍,非常痛苦。...

2019-04-30 21:15:07 1966

原创 python itertools 模块讲解

1、介绍itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环。- 无限迭代器 itertools包自带了三个可以无限迭代的迭代器。这意味着,当你使用他们时,你要知道要的到底是最终会停止的迭代器,还是需要无限地迭代鞋去。(1)count(初值=0, 步长=1):count 迭代器...

2019-04-30 21:14:55 580

原创 Django model中的 class Meta 详解

本文介绍你能在model中使用的classMeta内嵌类的所有元数据选项 (meta options)可用的Meta选项abstractOptions.abstract如果abstract=True,这个 model 就是一个抽象基类。app_labelOptions.app_label如果一个 model 定义在默认的models.py之外 (例如,如果你的 app ...

2019-04-30 21:14:43 8195

原创 python正则表达式(6)--split、sub、escape方法

1.re.split语法:re.split(pattern,string[,maxsplit=0,flags=0])参数:  pattern 匹配的正则表达式  string 要匹配的字符串。 maxsplit 分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。(1)以分组为分割符的时候,分组内容也会被保存下来...

2019-04-29 20:47:11 747

原创 python正则表达式(5)--findall、finditer方法

findall方法相比其他方法,findall方法有些特殊。它的作用是查找字符串中所有能匹配的字符串,并以结果存于列表中,然后返回该列表注意:match 和 search 是匹配一次 findall 匹配所有。1 pattern.findall方法该方法的作用是在string[pos, endpos]区间从pos下标处开始查找所有满足pattern的子串, 直到endpos位置结...

2019-04-29 20:46:58 1889

原创 python正则表达式(4)--search方法

1.re.search函数re.search 扫描整个字符串并返回第一个成功的匹配,如果匹配失败search()就返回None。(1)函数语法:re.search(pattern,string,flags=0)  函数参数说明:    pattern 匹配的正则表达式    string 要匹配的字符串    flgs 标志位,用于控制正则...

2019-04-29 20:46:45 4426

原创 python正则表达式(3)--match方法

1.re.match函数re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。(1)函数语法:re.match(pattern,string,flags=0)  函数参数说明:我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。  group(num=0) 获取匹...

2019-04-29 20:46:34 1872

原创 python正则表达式(2)--编译正则表达式re.compile

编译正则表达式-- re.compile使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True)),最后使用Match实例获取信息,进行其他的操作。可以把那些经常使用的正则表达式编译成正则表达式对象,可以提高程序的执行速度。一处编译,多出复用re.compile(pattern, fl...

2019-04-29 20:46:21 1117

原创 Python gensim库word2vec 基本用法

ip install gensim安装好库后,即可导入使用:1、训练模型定义参数解释:0.sentences是训练所需语料,可通过以下方式进行加载sentences=word2vec.Text8Corpus(file)此处训练集的格式为英文文本或分好词的中文文本.sg=1是skip-gram算法,对低频词敏感;默认sg=0为CBOW算法。2.size是输出词向...

2019-04-29 20:45:53 1954

原创 Python实现生命游戏

1. 生命游戏是什么生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。规则看起来很简单,但却能演绎出无穷无...

2019-04-29 20:45:19 1323

转载 基于Python +Selenium的爬虫详解

一.背景1. SeleniumSelenium是一个用于web应用程序自动化测试的工具,直接运行在浏览器当中,支持chrome、firefox等主流浏览器。可以通过代码控制与页面上元素进行交互(点击、输入等),也可以获取指定元素的内容。2.优劣劣势:相比于抓包→构造请求→解析返回值的爬虫,由于Selenium需要生成一个浏览器环境,所有操作(与元素交互、获取元素内容等)均需要...

2019-04-29 20:45:06 29962 4

原创 分享一个“贫民版”调试工具——PySnooper

一般情况下,在编写 Python 代码时,如果想弄清楚为什么 Python 代码没有按照预期执行的原因,比如你想知道哪些是正在运行,哪些没有运行,以及局部变量的值是什么...通常我们会使用包含断点和观察模式等功能成熟的调试器,或者直接使用 print 语句打印出来。今天,猿妹和大家分享一个“贫民版”调试工具——PySnooperPySnooper允许你执行以上相同的操作,只需为要调试的函数...

2019-04-29 20:44:54 1200

原创 50 行 Python 代码抓取 divnil 动漫妹子图!

目标网站https://divnil.com首先看看这网站是怎样加载数据的;打开网站后发现底部有下一页的按钮,ok,爬这个网站就很简单了;我们目标是获取每张图片的高清的源地址,并且下载图片到桌面;先随便打开一张图片看看详细;emmm,只有一张图看起来还挺清晰的,单击新窗口打开图片然后下载图片,说实话,这图片很小,我很担心不是高清原图(管他的);PS:...

2019-04-27 20:11:41 636

原创 Python处理csv文件

CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。由于是纯文本,任何编辑器也都可打开。与Excel文件不同,CSV文件中:值没有类型,所有值都是字符串不能指定字体颜色等样式不能指定单元格的宽高,不能合并单元格没有多个工作表不能嵌入图像图表在CSV文件中,以,作为分隔符,分隔两个单元格。像这样a,,c表示单元格a和单元格c之间有个空...

2019-04-27 20:11:15 628

原创 Python中的列表操作

Python的列表操作可谓是功能强大且方便(相对于Java)简单、常规的操作就不说了(这不是一个入门教程),介绍几个很有特点的例子添加删除截取(又叫切片操作)格式:[start:end:step]。记住这个格式后你就可以发挥想象了提取并删除(pop)排序列表解析根据已有列表,高效创建新列表的方式格式:...

2019-04-27 20:10:39 432

原创 关于Python里面小数点精度控制的问题

基础浮点数是用机器上浮点数的本机双精度(64 bit)表示的。提供大约17位的精度和范围从-308到308的指数。和C语言里面的double类型相同。Python不支持32bit的单精度浮点数。如果程序需要精确控制区间和数字精度,可以考虑使用numpy扩展库。Python 3.X对于浮点数默认的是提供17位数字的精度。关于单精度和双精度的通俗解释:单精度型和双精度型,其类型说明符为...

2019-04-27 20:10:24 1576

原创 python中时间戳的探索

声明本文章只针对python3.6及以上版本。问题提出首先,我们先import一些必要模块:In [1]:fromdatetimeimportdatetime, timezone, timedelta接下来,看下面这一段令人疑惑的代码:首先,我们知道,在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为...

2019-04-27 20:10:07 1634

原创 python中的type和object详解

这篇主要描述Python的新风格对象(new-style objects),如下:和分别是什么?用户自定义的类和实例之间是怎么联系的?它们和内置类型又是怎么联系的?什么是元类(metaclasses)?New-style表明这篇博客所说的内容只适用于版本为2.2及以上的python。开始之前最主要,是理解type和object的区别与联系。我们平时用的最多的是Object,...

2019-04-27 20:09:44 9824 2

转载 python 1秒启动一个下载服务器

在Linux系统中,进入要下载文件的目录,用python执行以下命令。启动一个简单的文件下载服务器。python2:python3:简单下载服务器如下:

2019-04-27 20:09:30 745

原创 python使用二分法实现在一个有序列表中查找指定的元素

二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2...例如需要查找有序list里面的某个关键字key的位置,那么首先确认list的中位数mid,下面分为三种情况:如果 list[mid] < key,说明key 在中位数的 右边;如果 list[mid]> key,说明key 在中位数的 左边;如果 list[mid]= key...

2019-04-27 20:09:18 2322

原创 python正则表达式(1)--特殊字符

正则表达式—特殊表达式含义正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义。下面列出了正则表达式模式语法中的特殊元素。1.普通字符集1)\w   匹配字母数字及下划线2)\W   匹配非字母数字及下划线3)\s   匹配任意空白字符,等价于 [\t\n\r\...

2019-04-27 20:09:04 1301

原创 python正则表达式练习题

1. 写一个正则表达式,使其能同时识别下面所有的字符串:'bat','bit', 'but', 'hat', 'hit', 'hut'2.匹配由单个空格分隔的任意单词对,也就是姓和名3. 匹配由单个逗号和单个空白符分隔的任何单词和单个字母,如姓氏的首字母4.匹配所有的有效的Python标识符集合5. 根据美国街道地址格式,匹配街道地址。美国接...

2019-04-27 20:08:51 4181

原创 Python的类的继承

继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来类的情况下对这些类进行扩展。根据继承的定义,可以知道它的作用是:避免重复的方法和重复的变量。现在一个新的模块里定义一个父类class Human(),在类下面创建一些方法,然后在另一个新的模块继承这个类,代码如下:子类继承父类,代码开头格式:from模块名import父类名,并把父类名写在子类的括...

2019-04-26 20:35:22 690

原创 Python的类和方法——成员可见性

我们继续接着类和对象这个话题聊。1.类方法使用装饰器@classmethod。第一参数必须是当前类对象,该参数名一般约定为「cls」,当然cls也可以换成其他名字,通过它来传递类的属性和方法(不能传实例的属性和方法)如下场景:假设现有一个学生类和班级类,想要实现:执行班级人数增加的操作、获得班级总人数。2.静态方法使用装饰器@staticmethod,静态方法是类中的...

2019-04-26 20:35:08 2161

原创 Python的类和对象

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。理解面向对象编程有助于你像程序员那样看世界,还可以帮助你真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。作为一名Python初学者,再加上之前没有任何编程语言的学习经验,在学习到Python的类和对象的时候,被各种概念折磨的死去活来。但是「世上无难事只...

2019-04-26 20:34:53 2362

原创 5 个Python高级应用,你确定知道?

本文主要讲解 Python 的 5 种高级特征,以及它们的用法。1. Lambda 函数Lambda 函数是一种比较小的匿名函数——匿名是指它实际上没有函数名。Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda 函数,我们根本没为它命名。这是因为 lambda 函数的功能是执行某种简单的表达式或运算,而无需完全定义函数。lamb...

2019-04-26 20:34:36 2398 1

原创 10个不为人知的 Python 冷知识

1. 省略号也是对象...这是省略号,在Python中,一切皆对象。它也不例外。在Python中,它叫做Ellipsis。在Python3中你可以直接写…来得到这玩意。而在2中没有…这个语法,只能直接写Ellipsis来获取。它转为布尔值时为真最后,这东西是一个单例。这东西有啥用呢?据说它是Numpy的语法糖,不...

2019-04-26 20:34:22 693

原创 Python里的多继承究竟怎么理解

1、定义python语言灵活特性,使得继承的父类有很多个,就像上图一样。编写时只需要在类后面的括号中编写多个父类即可即class A(A1, A2…)2、作用多重继承的作用就是把父类所有的属性和方法都可以集成到一起。3、缺点不好维护:如果当继承的父类方法相同时,牵涉访问的顺序问题当两个父类都有目标方法时,somebody实例化后,调用targe...

2019-04-26 20:34:09 985

原创 Python异常:unhashable type 是怎么回事?

1异常小伙伴们,平时遇到过下面这个 TypeError 异常吗?这个 TypeError 翻译过来---类型错误:不可哈希的类型:'list'2原因既然有不可哈希(unhashable),就会有可哈希(hashable)类型。那么,什么类型为可哈希? 引用 Python3 官方解释:一个对象的哈希值如果在其生命周期内绝不改变,就被称为 可哈希 (它需要具有has...

2019-04-26 20:33:55 45763 1

原创 Django模型层之字段查询参数及聚合函数

字段查询是指如何指定SQL WHERE子句的内容。它们用作QuerySet的filter(), exclude()和get()方法的关键字参数。默认查找类型为exact。下表列出了所有的字段查询参数:1. exact精确匹配。 默认的查找类型!2. iexact不区分大小写的精确匹配。第一个查询将匹配 'Beatles Blog', 'be...

2019-04-26 20:33:40 957

转载 GitHub 热门:别再用 print 输出来调试代码了

4 月 23 日,GitHub 每日趋势榜第一位是一个 Python 相关项目:PySnooper。该项目很快获取2200 Star。PySnooper 是个什么东西?如果你写的 Python 代码不能按如期那样运行,你会绞尽脑汁想为啥出错了。虽然你希望有支持断点的成熟调试器,但或许你现在不想去设置这样的调试器。你想知道哪些行代码是正常运行,哪些行不正常。据说大多数人会在...

2019-04-25 20:25:17 975

原创 数据分析告诉你,复联哪个英雄人气最高

复仇者联盟系列自上映以来,票房一直是节节高其中复联3的累积票房更是挤进中国电影票房总榜的第11位。(数据来自:猫眼电影)复联系列被人津津乐道的,永远是里边性格和能力各异的超级英雄,正因为如此,复联才能讨好几乎所有观众,因为每个观众都能找到自己喜欢的英雄。那么复联里边谁是人气最高的英雄呢?如果用百度指数等同于英雄的人气值,有以下的分布(取百度指数近30天平均值...

2019-04-25 20:25:05 644

原创 Python 文件操作 open 与 with open 有何区别?

Python读写文件磁盘上的文件,是通过调用操作系统系统的接口来实现的,通过操作系统提供的接口,来读取或者写入文件,Python 读取文件的步骤如下# 使用 open1、打开文件f1=open('t1.txt','r',encoding='utf-8')2、读取文件文件存在的话,不存在的话,会报FileNotFoundError 错误data=f1.read()...

2019-04-25 20:24:52 925

原创 Python 的 eval与 exec 安全用法最佳实践

Python 提供了很多内置的工具函数(Built-in Functions),今天我们一起来探索两个函数的安全用法:evel() 与 exec()。1、eval 的基本用法由此可见,当指定了命名空间的时候,变量会在对应命名空间中查找。而且,它们的值不会覆盖实际命名空间中的值。2、exec 的基本用法3、一些细节辨析两个函数都很强大,它们将字符串内容当...

2019-04-25 20:24:39 3218 1

原创 Python 分析 Nginx 日志实践探索

有个需求要分析nginx日志,也懒得去研究logstach之类的开源工具,干脆直接写一个脚本,自己根据需求来实现:先看日志格式:我们跟默认的格式不太一样,所以没办法了:12.195.166.35 [10/Apr/2019:14:38:09 +0800] "list.xxxx.com" "GET /new/10:00/9.html?cat=0,0&sort=price_asc HTT...

2019-04-25 20:23:55 831

Python制作的推箱子小游戏.zip

用Python制作的推箱子游戏,内附源码,解压后就可以用,没有打包,仅供学习参考! 人生苦短,我用Python!

2020-03-31

Python制作超级玛丽源码

本代码是用Python制作超级玛丽小游戏的代码,仅供学习参考

2019-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除