python
文章平均质量分 70
Python是一门及其容易上手的编程语言,使用Python可以极大得降低编程的门槛,提高编程的效率。人生苦短,我用Python。本专栏记录和Python相关的基础知识。
Lavi_qq_2910138025
这个作者很懒,什么都没留下…
展开
-
python正则表达式re模块之findall函数
它返回string中所有与pattern匹配的全部字符串,返回形式为列表,如果pattern中含有分组,返回分组的匹配结果。如果有pattern中有多个分组,则返回元组列表。importrekk=re.compile(r'\d+')kk.findall('one1two2three3four4')#[1,2,3,4]#注意此处findall()的用法,可传两个参数;......转载 2022-08-01 14:40:55 · 15580 阅读 · 1 评论 -
正则表达式中小括号与正向反向预查
小括号()在正则表达式的应用中代表“捕获分组”什么是捕获分组呢,在Python中正则匹配得出的结果中,会将正则表达式里()中匹配的结果单独存放在一个数组中,第一个()里的结果放在数组的第一位,第二个()里匹配的结果放在数组的第二位,以此类推。...转载 2022-08-01 12:40:39 · 1506 阅读 · 0 评论 -
python正则表达式(.*?)的理解
“.*?” 表示非贪心算法,表示要精确的配对。“.*”表示贪心算法,表示要尽可能多的匹配“()” 表示要获取括弧之间的信息。转载 2022-08-01 10:51:17 · 7008 阅读 · 0 评论 -
python装饰器详解
python装饰器详解0 前言1 闭包2 简单装饰器3 带参数的装饰器4 传参数给被装饰的函数5 类作为装饰器6 普通装饰器装饰类成员函数7 装饰类的装饰器8 装饰器类应用于类的成员函数0 前言Python装饰器看起来类似Java中的注解,然鹅和注解并不相同,不过同样能够实现面向切面编程。装饰器本质上是一个 Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。转载 2020-06-20 22:26:54 · 606 阅读 · 0 评论 -
python单元测试:unittest
1 unittest 简介unittest是python内置的用于测试代码的模块,无需安装, 使用简单方便。unittest case的运行流程:写好一个完整的TestCase多个TestCase 由TestLoder被加载到TestSuite里面, TestSuite也可以嵌套TestSuite由TextTestRunner来执行TestSuite,测试的结果保存在TextTestResult中TestFixture指的是环境准备和恢复unittest中最核心的部分是:TestFixtur转载 2020-06-20 20:04:34 · 599 阅读 · 0 评论 -
python命令行操作:Click包
0 前言在Python开发和测试过程中主要有两种模式可以选择:脚本模式、命令行模式。在代码的开发和调试过程中使用脚本模式还是很方便的,尤其接触pycharm、eclipse这类强大的IDE,或者配合vs code这种综合的文本编辑器。但是如果使用纯文本编辑器,或者是在做整个系统开发时,与其他模型进行接口调用时,命令行模式就显得非常重要了。目前有很多热门的命令行工具,本文会一一介绍一下,并且重点介绍一下最近发现的一款命令行神器Click。这款包配合setuptools的end_points参数可以,在命令转载 2020-06-20 16:32:26 · 2549 阅读 · 1 评论 -
python程序的打包和安装
0 前言我们经常会使用pip setup.py install 安装一个源码包,可是这个可以安装的源码包是怎么生成的,这个setup.py又是怎么生成的呢?这篇文章中,我们就来一探究竟。用来进行python程序打包的两个常用工具为Distutils和setuptools,据说setuptools是Distutils的高级版本,添加了更多特性。我们就先来看一看Distutils的使用,然后再看setuptools,添加了什么样的内容。1 Distutils简介Distutils可以用来在Python环转载 2020-06-20 13:26:50 · 2909 阅读 · 0 评论 -
python中_、__和__xx__的区别
0 前言python灵活的语法,给我们带了一些便利,同时也给我们带了一些困惑。其中就是我们常见的_、__和__xx__的作用和区别,这节我们就来看一下。1 理论Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。但是,这只是一个形式上的约定,python并不阻止调用。__双下划线的作用是避免覆盖其内容,实现的机制是在带有双下划线的方法或属性前加上_类名的标识。由于,python自动对方法和原创 2020-06-18 10:34:23 · 2151 阅读 · 0 评论 -
python中if__name__==__main__到底有什么作用
Python没有像Java、C、C++那样定义程序的执行入口,在python中,程序是从上到下逐行编译的。Python解释器从文件的第一行开始执行程序中的def和class语句创建函数和类对象,这些对象由代码和原数据组成,且这些代码和数据在显示调用之前不会运行。首先我们来看一下__name__,__name__是python文件的一个特殊属性,名称两边的双下划线称为dunders,是特殊方法的意思。python中每个模块都有一个名称,模块的名称可以在模块的程序语句中找到。python的每个模块可以作为库导转载 2020-06-18 08:51:48 · 550 阅读 · 0 评论 -
python特殊函数__class__()
1. __class__属性__class__是是实例的一个属性,指向实例所属的类如使用 self.__class__表示self这个实例所属的类2. self.classs.nameself.__classs__表示self这个实例所属的类,__name__则是类的一个属性,这样写可以获得self示例所属类的类名。例子:class Parent(object): def __init__(self, name): self.name = name pri转载 2020-06-17 22:14:30 · 1873 阅读 · 0 评论 -
python中super函数的用法
在python的类继承中,我们经常会有在子类中调用父类方法的需求。这时候我们有两种方式来实现:第一种:是使用类名称直接调用这样做存在两个缺点:当父类的名称修改时,必须修改代码由于python是支持多继承的语言,即一个类可以同时继承多个类。在多继承的情况下,会存在重复调用的问题。所以python引入了如下方式,来调用父类函数。第二种:使用super函数首先来看一个例子:class Foo: def bar(self, message): print(message)>&g转载 2020-06-17 21:50:40 · 809 阅读 · 0 评论 -
python list底层实现原理
list底层实现原理0 前言1 List对象的C结构2 List的初始化3 Append4 Insert5 Pop6 Romve总结0 前言在Python中list特别有用。在使用的过程中,python中的list呈现给我们的是一个长度可变对的数组。但是list底层的数据结构是什么呢?这篇文章就来介绍Python中list是如何实现的。原文是这篇英文原文Python list implementation。1 List对象的C结构来看下面简单的程序,在list中添加一些整数并将他们打印出来。&g转载 2020-06-03 22:23:50 · 10713 阅读 · 6 评论 -
python中的*,**与*args,**kwargs
python中的*,**与*args,**kwargs0 前言1 用作算符运算符2 用作打包运算符2.1 用作函数形参2.2 用作序列打包3 用作解包运算法3.1 用作函数实参3.2 用作序列解包4 打包和解包的混合使用0 前言python是一门及其灵活的语言,这一点在python函数中的不定参数传递也具有很好的提现。我们在使用python函数的时候,会经常看到*args,**kwargs两个参数,这两个参数表示什么意思,这里的*和**又表示什么意思?这里我们进行一探究竟。1 用作算符运算符首选最基原创 2020-05-28 10:25:33 · 479 阅读 · 0 评论 -
python基础:__init__.py文件作用
__init__.py文件作用0 前言1 作为包表示2 __init__.py什么时候执行3 简化模块导入4 定义模块的方法和属性总结0 前言我们在pycharm等IDE中,我们可以选择新建一个python package或者一个directory。选择两种都会新建一个文件夹,不同的是,新建python package会在文件夹下自动创建一个__init__.py文件。那么这个__init__.py文件有什么作用呢?本篇文章就来一探究竟。1 作为包表示在IDE中新建python package会在文原创 2020-05-16 21:24:42 · 4119 阅读 · 0 评论 -
python中split,rsplit与splitlines作用
0 前言在编程的过程中,字符串是我们最常打交道的数据类型,对字符串进行切分也是我们经常进行的操作。python提供了很多处理字符串的函数,处理起来非常方便。这里介绍python中与字符串切分相关的三个函数,分别是split,rsplit与splitlines。首先需要明确的一点是三个函数的作用都是进行字符串切分。其中split函数是最基本的切分函数,rsplit与splitlines函数的功能,都能使用split函数实现,额外提供这两个函数,仅仅是为了操作方便而已。1 split语法:str.sp原创 2020-05-16 19:44:53 · 2050 阅读 · 0 评论 -
PyCharm快捷键速查
PyCharm快捷键速查1 搜索相关1 搜索相关Ctrl+N 按文件名搜索py文件Ctrl+shift+N 按文件名搜索所有类型的文件ctrl+shift+f 全局字符串搜索ctrl+shift+a双shift搜索参考文章pycharm如何全局搜索...原创 2020-04-30 16:34:33 · 260 阅读 · 0 评论 -
解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX
从网上抓了一些字节流,想打印出来结果发生了一下错误:UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 8530: illegal multibyte sequence代码import urllib.requestres=urllib.request.urlopen('http转载 2016-10-11 20:45:05 · 1036 阅读 · 0 评论 -
Python3.4使用pymysql连接MySQL
python3发布以来,获取了广大程序员们的差评,说不稳定,又是不兼容什么的,不过差评归差评,python3既然已经发布,肯定是个趋势,但在python3.4里面,使用原来python2.7的mysqldb已经不能连接mysql数据库了,比较令人纠结,不过我们可以使用pymysql,来完成连接mysql的重任,步骤如下:序号描述1去github上转载 2016-10-07 21:40:25 · 3072 阅读 · 0 评论 -
Python3.4使用MySQL—Python工具连接MySQL
一、搭建MySQL和PythonMySQL我使用的版本是:mysql-installer-community-5.7.10.0官方下载地址:http://dev.mysql.com/downloads/file/?id=460361选择「No thanks,just start my download.」即可下载。Python下载,略。P转载 2016-10-07 21:51:46 · 2921 阅读 · 1 评论 -
Python3中bytes与string的互相转换
来源:python3中bytes与string的互相转换首先来设置一个原始的字符串,Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32Type "help", "copyright", "credits" or "license" for more informa转载 2016-10-07 22:48:50 · 21693 阅读 · 0 评论 -
使用Python爬取最好大学网大学排名
使用Python的requests库和BeautifulSoup库爬取最好大学生上的大学排名原创 2017-03-17 20:23:50 · 2977 阅读 · 0 评论 -
Python网络爬虫获取淘宝商品价格
使用python的requests库和re模块获取淘宝某类商品的价格原创 2017-03-17 22:19:17 · 8428 阅读 · 4 评论 -
Python网络爬虫获取股票信息
Python网络爬虫获取股票信息,从东方财富网获取股票代码列表,根据获取的列表,从百度股票获取个股的信息,百度股票上显示个股信息的url的前缀是相同的,后缀是股票代码原创 2017-03-18 20:24:55 · 6784 阅读 · 2 评论 -
Python网络爬虫爬取站长素材上的表情包
最近在中国大学MOOC上学习了嵩天老师的Python网络爬虫与信息提取课程,于是决定写一个爬取网上表情包的网络爬虫。通过搜索发现站长素材上的表情包很是丰富,一共有446页,每页10个表情包,一共是4000多个表情包,近万个表情,我肯以后谁还敢给我斗图原创 2017-03-19 20:06:58 · 4075 阅读 · 1 评论 -
Eclipse集成Scrapy配置调试
Eclipse中安装PyDev插件后可以使用Eclipse开发Python,下面列出,如何在Eclipse中开发调试scrapy项目。下面假设我们已配置完并可用环境,包括:安装Python环境、Eclipse集成PyDev插件、安装scrapy环境。(1)新建scrapy项目。选择一个文件夹下,按住Shift并右键【在此处打开命令窗口(w)】,在dos上运行scrapy start转载 2017-04-01 21:11:26 · 1121 阅读 · 0 评论 -
python爬虫入门笔记:用scrapy爬豆瓣
本文希望达到以下目标:简要介绍Scarpy使用Scarpy抓取豆瓣电影我们正式讲scrapy框架爬虫,并用豆瓣来试试手,url:http://movie.douban.com/top250首先先要回答一个问题。问:把网站装进爬虫里,总共分几步?答案很简单,四步:新建项目 (Project):新建一个新的爬虫项目明确目标(Items):明确你想要抓转载 2017-04-01 22:57:56 · 1986 阅读 · 0 评论 -
Python requests库使用实例
Python requests库使用实例原创 2017-03-16 21:23:15 · 2317 阅读 · 0 评论 -
Python获取当前时间及格式化
取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。你可以试下下面的方式来取得当前时间的时间戳:import timeprint time.time()输出的结果是:1357723206.31但转载 2017-05-01 21:06:23 · 41215 阅读 · 0 评论 -
Python3 字符串
Python3 字符串字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!'var2 = "Runoob"Python 访问字符串中的值Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。Python转载 2017-05-01 21:02:47 · 816 阅读 · 0 评论 -
python中的字符数字之间的转换函数
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串转载 2017-05-01 21:13:51 · 3029 阅读 · 0 评论 -
Python3 的异常处理
本文主要介绍在Python3中国处理异常的方式转载 2017-05-01 21:28:54 · 6425 阅读 · 0 评论 -
Python使用UUID库生成唯一ID
UUID是128位的全局唯一标识符,通常由32字节的字符串表示。本文介绍了在Python中生成UUID全球唯一标识的几种方式转载 2017-05-01 21:17:33 · 7838 阅读 · 0 评论 -
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
这篇文章主要介绍了Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法转载 2017-05-01 21:22:48 · 1734 阅读 · 0 评论 -
python爬虫爬取内容中,\xa0,\u3000的含义
本文讲解了在使用python爬取数据时常见的\xa0、\u3000的含义转载 2017-05-01 21:41:59 · 4760 阅读 · 0 评论 -
理解Django的makemigrations和migrate
本文介绍了Django常用的makemigration和migrate命令的区别转载 2017-05-03 20:16:39 · 24026 阅读 · 2 评论 -
Django使用HttpResponse返回图片并显示
在Django中使用HttpResponse返回图片并显示原创 2017-05-03 20:31:01 · 17209 阅读 · 3 评论 -
Django使用Mysql数据库已经存在的数据表
本文介绍了在Django中使用Mysql数据库已经存在的数据表的方法原创 2017-05-03 21:13:51 · 13549 阅读 · 7 评论 -
Python3.6下scrapy框架的安装
scrapy的安装方法原创 2017-03-31 20:35:57 · 41191 阅读 · 34 评论 -
Python错误 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence
Python错误 ‘gbk’ codec can’t decode byte 0x80 in position 0: illegal multibyte sequence文件的编码问题引起的解决方法1FILE_OBJECT= open('order.log','r', encoding='UTF-8')解决方法2FILE_OBJECT= open('order.log','rb')转载 2017-10-09 14:42:21 · 25610 阅读 · 3 评论 -
Python 读写文件 错误TypeError: write() argument must be str, not bytes+
今天使用Python向文件中写入中文乱码,代码如下:fo = open("temp.txt", "w+")str = '中文'fo.write(str)fo.close()后来指定写入字符串的编码格式为UTF-8,出现错误TypeError: write() argument must be str, not bytesfo = open("temp.txt", "w+")str = '中文转载 2017-10-09 14:55:29 · 44019 阅读 · 3 评论