python
文章平均质量分 70
skydust1979
这个作者很懒,什么都没留下…
展开
-
python分词工具
分词在自然语言处理中有着常见的场景,比如从一篇文章自动提取关键词就需要用到分词工具,中文搜索领域同样离不开分词,python中,有很多开源的分词工具。下面来介绍以下常见的几款。1. jieba 分词“结巴”分词,GitHub最受欢迎的分词工具,立志做最好的 Python 中文分词组件,支持多种分词模式,支持自定义词典。github star:26k代码示例importjiebastrs=["我来到北京清华大学","乒乓球拍卖完了","中国科学技术大学"]forstrin...原创 2021-05-20 12:33:32 · 1199 阅读 · 0 评论 -
Python字符串格式化之format方法详解
format是字符串内嵌的一个方法,用于格式化字符串。以大括号{}来标明被替换的字符串,一定程度上与%目的一致。但在某些方面更加的方便1、基本用法1、按照{}的顺序依次匹配括号中的值s="{}isa{}".format('Tom','Boy')print(s)#TomisaBoys1="{}isa{}".format('Tom')#抛出异常,Replacementindex1outofrangeforpositionalargstu...原创 2021-05-20 12:32:02 · 1533 阅读 · 1 评论 -
Python中变量作用域问题
我们经常听说Python函数访问局部变量、全局变量;在定义装饰器的时候,还会使用自由变量。这些不同的变量是如何赋值、初始化、查找及修改的呢?各自的作用细则又是什么样的呢?本篇尝试解答这个问题。Python中的变量名可以指代变量、函数、类、对象等。一般来说,每个对象都有一个变量名指向,更准确说是绑定。作用域的必要性为啥变量要有作用域呢?我们在Python里遇到的内置、局部、全局及自由变量,就是说变量的作用域。语言区分作用域,是为了复用变量名。引入作用域,相当于给变量划分了各自的“隔离区”.原创 2021-05-20 12:30:40 · 194 阅读 · 1 评论 -
还在写大量 if 来判断?试试用一个规则执行器来替代它
业务场景近日在公司领到一个小需求,需要对之前已有的试用用户申请规则进行拓展。我们的场景大概如下所示:if(是否海外用户){returnfalse;}if(刷单用户){returnfalse;}if(未付费用户&&不再服务时段){returnfalse}if(转介绍用户||付费用户||内推用户){returntrue;}按照上述的条件我们可以得出的结论是: 咱们的的主要流程主要是基于 and 或...原创 2021-05-20 12:28:06 · 130 阅读 · 0 评论 -
Python私有化及_下划线命名用途
引言Python中没有真正的私有属性或方法,没有真正的私有化,但有一些和命名有关的约定,让编程人员处理一些需要私有化的情况,我们常常需要区分私有方法、属性和公有方法、属性以方便管理和调用。那么在Python中如何做呢?在变量、方法命名中有下列几种情况: xx公有变量/方法 _xx前置单下划线 __xx前置双下划线 __xx__前后双下划线 xx_后置单下划线 接下来分别介绍这几种带下划线命名的特性与区别。_单前置下划线...原创 2021-04-18 20:38:07 · 164 阅读 · 0 评论 -
python分词工具
分词在自然语言处理中有着常见的场景,比如从一篇文章自动提取关键词就需要用到分词工具,中文搜索领域同样离不开分词,python中,有很多开源的分词工具。下面来介绍以下常见的几款。1. jieba 分词“结巴”分词,GitHub最受欢迎的分词工具,立志做最好的 Python 中文分词组件,支持多种分词模式,支持自定义词典。github star:26k代码示例importjiebastrs=["我来到北京清华大学","乒乓球拍卖完了","中国科学技术大学"]forstrin...原创 2021-04-18 20:35:51 · 393 阅读 · 0 评论 -
整理了十个Python自动化操作
一、遍历文件夹批量操作的前提就是对文件夹进行遍历,使用os模块可以轻松的遍历文件夹,os.walk遍历后产生三个参数:“ 当前文件夹路径 包含文件夹名称[列表形式] 包含文件名称[列表形式] ”代码如下,大家可以根据自己的路径进行修改importosfordirpath,dirnames,filenamesinos.walk(r'C:\\ProgramFiles(x86)'):print(f'打开文件夹{dirpath}...原创 2021-04-18 20:34:37 · 253 阅读 · 0 评论 -
深入浅出地解读Python迭代器和生成器
迭代器和生成器是Python很重要的进阶语法。虽然在一开始的学习中,不理解它们并不影响你写代码。但到一定阶段之后,如果没有掌握其原理,你可能无法彻底理解代码的运行逻辑。今天我们就给大家分享一篇关于迭代器和生成器的深度解读。迭代器与可迭代对象概念迭代器:是访问数据集合内元素的一种方式,一般用来遍历数据,但是他不能像列表一样使用下标来获取数据,也就是说迭代器是不能返回的。 Iterator:迭代器对象,必须要实现next魔法函数 Iterable:可迭代对象,继承Iterator,必原创 2021-04-15 14:27:42 · 108 阅读 · 0 评论 -
Python 工具链让你写的代码更规范
从以前一个不会敲 Python 代码的小白,到现在敲 Python 代码贼溜的老鸟的过程中,除了通过大量的学习、实践让自己现在更容易写出 Pythonic 的代码外,大部分时间里还是多亏着有着许多好用的工具辅助我,去检查我代码中的问题,帮助我写出更规范的代码。学习和实践新知识可能对于大多数人来说都没有统一的定式,但使用工具至少可以让我们大家风格统一也更容易和他人协作共事。因此无论对于刚入门的小白还是正在成长的新人来说,会使用能辅助你写出更规范的代码的工具也是十分有必要的。black随着PEP8.原创 2021-04-15 14:17:17 · 121 阅读 · 0 评论 -
python 装饰器的妙用,实现类属性的懒加载
假设我们有一个工具类MongoUtil,它的作用是封装一些数据库操作。例如:importpymongoclassMongoUtil:def__init__(self):connect=pymongo.MongoClient()db=connect.tiebaself.post=db.postself.user=db.userdefwrite_post(self,p...原创 2021-04-15 14:13:28 · 450 阅读 · 1 评论 -
python分词工具,你用哪个
分词在自然语言处理中有着常见的场景,比如从一篇文章自动提取关键词就需要用到分词工具,中文搜索领域同样离不开分词,python中,有很多开源的分词工具。下面来介绍以下常见的几款。1. jieba 分词“结巴”分词,GitHub最受欢迎的分词工具,立志做最好的 Python 中文分词组件,支持多种分词模式,支持自定义词典。github star:26k代码示例importjiebastrs=["我来到北京清华大学","乒乓球拍卖完了","中国科学技术大学"]forstrin...原创 2021-04-15 14:11:09 · 688 阅读 · 0 评论 -
30个Python常用极简代码
学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则。本文是 30 个极简任务,初学者可以尝试着自己实现;本文同样也是 30 段代码,Python 开发者也可以看看是不是有没想到的用法。、1重复元素判定以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。def all_unique(lst):return len(lst)== len(set(lst))x = [1,1,2,2,3,2,3,4,5,6]y = ..原创 2021-01-21 13:21:31 · 122 阅读 · 0 评论 -
9个 Python 实用案例分享
1. 整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作。但是如果问题很复杂,可能有更好的方法来解决:user_input="This\nstringhas\tsomewhitespaces...\r\n"character_map={ord('\n'):'',ord('\t'):'',ord('\r'):None}user_inpu...原创 2021-01-21 13:16:08 · 500 阅读 · 0 评论 -
使用Python验证常见的50个正则表达式
什么是正则表达式?正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。此处的Regular即是规则、规律的意思,Regular Expression即“描述某种规则的表达式”之意。本文收集了一些常见的正则表达式用法,方便大家查询取用,并在最后附了详细的正则表达式语法手册。案例包括:「邮箱、身份证号、手机号码、固定电话、域名、IP地址、日期、邮编、密码、中文字符、数字、字符串」Python如何支持正则?我用的是python来实现正则,并原创 2021-01-21 13:13:48 · 169 阅读 · 0 评论 -
利用pyinstaller打包Python程序为一个可执行文件
有时,Python发布的程序需要被打包为一个文件夹、甚至一个文件发布。目前(2020)最佳的策略是使用pyinstaller。pyinstaller不仅支持打包整个运行环境到一个可执行文件,而且还支持加密。但唯一的问题是,必须依赖外部的libc.so。这衍生出了两个问题: 必须基于较低版本的Linux发行版进行打包。 因为libc.so向后兼容、向前不兼容(低版本兼容高版本,而高版本不兼容低版本)。比如,在Debian Stretch打包的可执行文件,不仅在Debian Buster上可以运行原创 2021-01-21 13:09:34 · 558 阅读 · 0 评论 -
5分钟快速掌握 Python 定时任务框架
APScheduler 简介在实际开发中我们经常会碰上一些重复性或周期性的任务,比如像每天定时爬取某个网站的数据、一定周期定时运行代码训练模型等,类似这类的任务通常需要我们手动来进行设定或调度,以便其能够在我们设定好的时间内运行。在 Windows 上我们可以通过计划任务来手动实现,而在 Linux 系统上往往我们会用到更多关于 crontab 的相关操作。但手动管理并不是一个很好的选择,如果我们需要有十几个不同的定时任务需要管理,那么每次通过人工来进行干预未免有些笨拙,那这时候就真的是「人工智能」原创 2021-01-21 13:05:37 · 408 阅读 · 0 评论 -
python 如何调用远程接口
在python中我们可以使用requests模块来实现调用远程接口一、安装requests模块pipinstallrequests二、使用requests模块实现get方式调用远程接口使用get方式调用远程接口主要使用了requests模块的get方法requests.get()get方法常见的参数有url,params和headers url:表示远程接口的地址 params表示get参数 headers表示get传参的headers参数信息..原创 2021-01-07 16:01:40 · 729 阅读 · 0 评论 -
30个Python常用极简代码
学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则。本文是 30 个极简任务,初学者可以尝试着自己实现;本文同样也是 30 段代码,Python 开发者也可以看看是不是有没想到的用法。1 重复元素判定以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。def all_unique(lst):return len(lst)== len(set(lst))x = [1,1,2,2,3,2,3,4,5,6]y = [1,2,.原创 2021-01-07 15:58:13 · 234 阅读 · 0 评论 -
轻量级定时任务框架:APScheduler
一、APScheduler简介APScheduler(Advanced Python Scheduler)是一个轻量级的Python定时任务调度框架(Python库)。APScheduler有三个内置的调度系统,其中包括: cron式调度(可选开始/结束时间) 基于间隔的执行(以偶数间隔运行作业,也可以选择开始/结束时间) 一次性延迟执行任务(在指定的日期/时间内运行作业一次) 支持的后端存储作业APScheduler可以任意混合和匹配调度系统和作业存储的后端,其中支持原创 2020-12-17 08:41:56 · 206 阅读 · 0 评论 -
Python自动解压各种压缩文件
压缩文件是我们在使用电脑时经常会遇到的。压缩文件并不只有一种压缩模式。平常我们都是通过安装一些解压缩软件来打开这些不同的压缩文件。今天我们来谈一谈,如何用Python解压几种常见类型的压缩文件。一、需求描述编写一个Python程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点: os模块综合应用 glob模块综合应用 利用gzipzipfilerarfiletarfile模块解压文件 ...原创 2020-11-19 20:52:37 · 4142 阅读 · 2 评论 -
让Python pip下载速度加速
有很多朋友刚刚学Python的时候,会来问为什么pip下载东西这么慢啊?pycharm里面下载库也是非常的慢。这其实是个常识性的问题,我们下载的慢是因为Python使用pip方法安装第三方包时,需要从https://pypi.org/资源库中下载。这个网站是国外的服务器,访问自然就很慢,但是国内有很多的镜像站,所谓镜像站就是内容一样,只不过服务器在国内,访问速度自然而然就很快了。下面给大家普及一下如何修改pip的下载源以及pycharm的下载源。电脑修改下载源在国内,比较火的就是下面这几个下载源..原创 2020-11-14 20:53:38 · 2244 阅读 · 0 评论 -
Python 办公自动化之一 Excel
在我们日常工作中,经常会使用 Word、Excel、PPT、PDF 等办公软件,但是,经常会遇到一些重复繁琐的事情,这时候手工操作显得效率极其低下;通过 Python 实现办公自动化变的很有必要,接下来的 一系列 文章,我将带大家对 Python 办公自动化做一个全面的总结,绝对的干货!1. 前言在我们日常工作中,经常会使用 Word、Excel、PPT、PDF 等办公软件但是,经常会遇到一些重复繁琐的事情,这时候手工操作显得效率极其低下;通过 Python 实现办公自动化变的很有必要接下来原创 2020-11-05 21:41:53 · 242 阅读 · 0 评论 -
Python中使用httpx模块详解
导入httpxIn[25]:importhttpx获取一个网页In[26]:r=httpx.get("https://httpbin.org/get")In[27]:rOut[27]:<Response[200OK]>同样,发送HTTP POST请求:In[28]:r=httpx.post("https://httpbin.org/post",data={"key":"value"})In[29]:rOut[29]...原创 2020-10-31 09:21:17 · 3996 阅读 · 0 评论 -
Python基础语法难点突破
1. 面向对象类的基本使用知识点: 属性:类属性、实例对象属性 方法:实例方法、类方法、静态方法 类可以调用哪些内容:类属性、类方法、静态方法 代码示例:class A(object): # 类属性 class_a = 20 def __init__(self): # 实例对象属性 self.a = 10 # 实例方法 def a_print(self): print("a_print").原创 2020-10-19 19:53:48 · 104 阅读 · 0 评论 -
python实现阿里云域名绑定动态IP
一般家庭网络的公网IP都是不固定的,而我又想通过域名来访问自己服务器上的应用,也就是说:需要通过将域名绑定到动态IP上来实现这个需求。于是乎,我开始探索实现的技术方案。通过在网上查阅一系列的资料后,发现阿里云可以做到实现动态域名解析DDNS。于是乎,一顿操作下来,我实现了域名绑定动态IP。这里,我们以Python为例实现。Java版源码已提交到:https://github.com/sunshinelyz/mykit-ddns阿里云DDNS前置条件域名是在阿里云购买的 地址必须是公网地址,不然原创 2020-10-16 22:25:12 · 1008 阅读 · 0 评论 -
Python极简入门:数据类型、条件语句、循环语句、异常处理
一、变量、运算符与数据类型1. 注释 在 Python 中,# 表示注释,作用于整行。 ''' ''' 或者 """ """ 表示区间注释,在三引号之间的所有内容被注释(多行注释)。 2. 运算符1. 位运算符操作符 名称 示例 ~ 按位取反 ~4 & 按位与 4 & 5 ` 按位或 ^ 按位异或 4 ^ 5 << 左移 4 << 2 &.原创 2020-09-30 09:18:55 · 170 阅读 · 0 评论 -
5 分钟掌握 Python 中常见的配置文件
为什么要写配置文件在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的模块代码中重复出现从而保持核心代码整洁。这个固定文件我们可以直接写成一个.py文件,例如settings.py或config.py,这样的好处就是能够在同一工程下直接通过import来导入当中的部分;但如果我们需要在其他非 Python 的平台进行配置文件共享时,写成单个.py就不是一个很好的选择。这时我们就应该选择通用的配置文件类型来作为...原创 2020-09-27 13:03:02 · 207 阅读 · 0 评论 -
Python 的 eval() 与 exec()区别
Python 提供了很多内置的工具函数(Built-in Functions),在最新的 Python 3 官方文档中,它列出了 69 个。大部分函数是我们经常使用的,例如 print()、open() 与 dir(),而有一些函数虽然不常用,但它们在某些场景下,却能发挥出不一般的作用。内置函数们能够被“提拔”出来,这就意味着它们皆有独到之处,有用武之地。因此,掌握内置函数的用法,就成了我们应该点亮的技能。1、eval 的基本用法语法:eval(expression,globals=Non.原创 2020-08-19 17:33:28 · 1116 阅读 · 1 评论 -
Django 3.1 发布,异步支持增强
Django 3.1 已经发布。此版本亮点包括: 进一步支持异步视图与异步中间件。 要开始使用异步视图,需要声明一个视图:asyncdefasync def my_view(request): await asyncio.sleep(0.5) return HttpResponse('Hello, async world!')无论是在 WSGI 还是 ASGI 模式下运行,都支持所有异步功能。但是,在 WSGI 模式下使用异步代码会导致性能下降。Django 的 O..原创 2020-08-13 22:10:13 · 400 阅读 · 0 评论 -
Python 应用 uWSGI + Nginx 部署
新建一个 Django 应用部署•使用 py 文件启动 uWSGIdef application(env, start_response): start_response('200 ok', [('Content-type', 'text/html')]) return [b'Hello uWSGI.']启动:uwsgi --http-socket :8000 --plugin python3 --wsgi-file uwsgi_test.py可能需要安装sudo原创 2020-07-31 08:18:08 · 192 阅读 · 0 评论 -
Python pass关键字 使用说明
关于 Python 中的pass语句,它似乎很简单(只有 4 个字母),即使是没有任何编程经验的初学者也能很快地掌握它的用法。官方文档 的介绍十分简单,下面的三个例子可以让我们快速地了解到如何使用它:简单而言,pass 是一种空操作(null operation),解释器执行到它的时候,除了检查语法是否合法,什么也不做就直接跳过。它跟 return、break、continue 和 yield 之类的非空操作相比,最大的区别是它不会改变程序的执行顺序。它就像我们写的注释,除了占用一行代码行,原创 2020-07-31 08:16:56 · 2060 阅读 · 0 评论 -
13个初中级Python程序员练习的项目开发实战
学习 Python 的基础知识是一种美妙的体验。但对于初中级 Python 开发人员来说,很多项目要么过难,要么过易。本文将列出十三个适合初中级 Python 开发人员练手的项目。Web 项目设计内容聚合器(Content Aggregator)1. 技术细节该项目设计的主要目标是聚合内容。首先,我们需要知道内容聚合器从哪些站点获取内容。然后,使用请求库来发送 HTTP 请求,并使用 BeautifulSoup 解析和抓取站点的必要内容。该应用程序可以将其内容聚合作为后台进程进行实.原创 2020-07-10 21:15:40 · 998 阅读 · 0 评论 -
Python 中的 import 与 from import 区别
对不少 Python 初学者来说,Python 导入其他模块的方式让他们很难理解。什么时候用import xxx?什么时候用from xxx import yyy?什么时候用from xxx.yyy import zzz?什么时候用from xxx import *?系统自带的模块以正则表达式模块为例,我们经常这样写代码:import retarget = 'abc1234xyz're.search('(\d+)', target)但有时候,你可能会看到某些人这样写代码:fr原创 2020-06-25 10:02:16 · 9888 阅读 · 2 评论 -
Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符
在 C/C++/Java 等等语言中,整型变量的自增或自减操作是标配,它们又可分为前缀操作(++i 和 --i)与后缀操作(i++ 和 i--),彼此存在着一些细微差别,各有不同的用途。这些语言的使用者在接触 Python 时,可能会疑惑为什么它不提供 ++ 或 -- 的操作呢?Python 中虽然可能出现 ++i 这种前缀形式的写法,但是它并没有“++”自增操作符,此处只是两个“+”(正数符号)的叠加而已,至于后缀形式的“++”,则完全不支持(SyntaxError: invalid syntax原创 2020-06-24 19:52:44 · 163 阅读 · 0 评论 -
Python 内置方法和属性应用:反射和单例
1. 前言python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict、list、set、min、max、range、sorted等。笔者最近在做项目框架时涉及到一些不是很常用的方法和属性,在本文中和大家做下分享。2. 内置方法和函数介绍 enumerate 如果你需要遍历可迭代的对象,有需要获取它的序号,可以用enumerate, 每一个next返回的是一个tuple list1=[1,2,3,4]list2=[4,3,...原创 2020-06-20 09:39:59 · 113 阅读 · 0 评论 -
Python OS模块使用汇总
创建目录mkdir()方法用于以数字权限模式当前目录下创建目录。默认的模式为 0777 (八进制),语法格式如下os.mkdir(path[,mode]) path– 要创建的目录 mode– 要为目录设置的权限数字模式 makedirs()方法用于递归创建目录。可以创建多个目录,其中exist_ok为False,表示目录存在抛出异常。语法格式如下os.makedirs(path,mode=0o777) path – 需要递归创建的目...原创 2020-06-19 16:26:02 · 156 阅读 · 0 评论 -
理解 Python 面向对象
本篇将详细介绍Python 类的成员、成员修饰符、类的特殊成员。类的成员类的成员可以分为三大类:字段、方法和属性注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段。而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份。一、字段字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: ..原创 2020-06-19 16:20:47 · 139 阅读 · 0 评论 -
Python 运行时常见错误汇总
对于刚入门的Python新手,在学习过程中运行代码是或多或少会遇到一些错误,刚开始可能看起来比较费劲。随着代码量的积累,熟能生巧当遇到一些运行时错误时能够很快的定位问题原题。下面整理了常见的17个错误,希望能够帮助到大家。1、忘记在if,for,def,elif,else,class等声明末尾加 :会导致“SyntaxError :invalid syntax”如下:ifspam ==42 print(Hello!)2、使用= 而不是 ==。也会导致“Syn...原创 2020-06-15 21:21:07 · 581 阅读 · 0 评论 -
Python 程序开发90个注意事项
1. 首先建议1、理解 Pythonic 概念—-详见 Python 中的《Python之禅》建议2、编写 Pythonic 代码(1)避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕过长变量名等。有时候长的变量名会使代码更加具有可读性。(2)深入学习 Python 相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认的 Pythonic 的代码库,比如Flask等。建议3:理解 Python 与 C 的不同之处,比如缩进与 {},单引号原创 2020-06-05 14:39:50 · 1371 阅读 · 0 评论 -
Python正则表达式,简单20个用例学习
importre1 查找第一个匹配串s='ilovepythonverymuch'pat='python'r=re.search(pat,s)print(r.span())#(7,13)2 查找所有1s='山东省潍坊市青州第1中学高三1班'pat='1'r=re.finditer(pat,s)foriinr:print(i)#<re.Matchobject;span=(9,10),match='1...原创 2020-06-04 08:56:26 · 279 阅读 · 0 评论