阅读是最好的习惯

你写过哪些实用的Python代码?

你写过哪些实用的Python代码?

【原】这个网站只教你一项非常实用的技能!!

这个技能就是折纸!不要小看了这项技能,它实为哄女朋友、熊孩子……的高阶技能,如果你现在不需要,相信将来也一定会用到,这项技能堪称经典,想想这些场景:没钱的时候亲手做一款折纸送给女朋友作为生日礼物一个人带熊孩子的时候,教几款折纸,轻松打发时间……今天要给大家推荐的这个网站就是一个非常简洁的折纸教学网站,教学分为了图文和动画,易操作,上手快,是我见过教人手工的最好的网站之一。折纸俱乐部网址:cn.origami-club.com由上图可以看到,折纸的分类很详细,有按照物品分:动物折纸、海底折纸、昆虫 更多

现在汽车上花里胡哨的设计太多了,有哪些是真正实用的?

我想换个角度,尝试着从更高一级的大设计层面说说我对这个问题的看法。当某些设计会让人产生花里胡哨、华而不实的印象时,这些设计就成为了我们常说的过度设计。所谓过度设计顾名思义,就是设计结果超出了满足功能需求的基本条件,并在不必要的层面画蛇添足的现象。对于艺术设计而言,过度设计无可厚非,毕竟有时艺术的过度就是现实的适度。但对于设计产出是汽车产品这样理应秉承功能决定形式的工业设计而言,过度设计在设计理念上是本末倒置的。超出实际功能场景的设计不仅无助于用户体验的优化,甚至可能会导致本不存在的新问题。过度设 更多

Python这门语言很适合用来写些实用的小脚本,跑个自动化、爬虫、算法什么的,非常方便。

这也是很多人学习Python的乐趣所在,可能只需要花个礼拜入门语法,就能用第三方库去解决实际问题。我在Github上就看到过不少Python代码的项目,几十行代码就能实现一个场景功能,非常实用。

比方说仓库Python-master里的几个简单例子:

这个项目只是作者平时工作用到的一些小脚本,可能也会帮助到你。作者虽然不是程序员,但他这种用代码解决问题的习惯会极大的提升效率,也会迸发出更多的创新思维。我觉得这样的代码每个人都可以写出来,只要慢慢积累多练习就可以。

我平时也在搓米问答分享了很多代码和技术文章,这里贴出来希望对你会有帮助。

在pandas中使用数据透视表

高效的5个pandas函数,你都用过吗?

6个pandas数据处理小技巧,提升效率必备

高效的10个Pandas函数,你都用过了吗?

如何系统地学习Python 中 matplotlib, numpy, scipy, pandas?

用python爬虫爬去数据直接用excel处理就好,为什么还用pandas来处理?

干货 | 50题带你玩转numpy

Numpy基础20问

Numpy进阶之排序小技巧

好看的数据可视化的图片是怎么样做的?

哪些 Python 库让你相见恨晚?

Python中除了matplotlib外还有哪些数据可视化的库?

使用pyecharts绘制词云图-淘宝商品评论展示

数据可视化,Seaborn画图原来这么好看

seaborn常用的10种数据分析图表

Superset,基于web的开源BI工具,github三万star

教你用pyecharts制作交互式桑基图,赶快学起来吧!

干货 | Bokeh交互式数据可视化快速入门

聊一聊Python中优秀的6个地图可视化库

24页PPT | 如何利用python进行地图可视化?

geopandas,用python分析地理空间数据原来这么简单!

干货 | 使用pyecharts绘制交互式动态地图

小白如何入门 Python 爬虫?

selenium入门详细指南(附淘宝抢购案例)

哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说

使用requests爬取python岗位招聘数据

电影《毒液》豆瓣短评 爬虫&分词&词云展示

有哪些足不出户,能用十天左右时间掌握的新技能?

干货!python爬虫100个入门项目

干货!python爬虫100个入门项目 续

用python进行办公自动化都需要学习什么知识呢?

python自动化办公太难?学这些就够用了

python读写excel等数据文件方法汇总

xlwings,让excel飞起来!

python操作CSV和excel,如何来做?

请教下 Python 高手,如何用 Python 自动化操作 Excel?

使用python进行数据分析工作,要掌握哪些数学知识?

Vaex :突破pandas,快速分析100G大数据量

jieba分词-强大的Python 中文分词库

numba,让python速度提升百倍

最全Python数据科学小抄,赶紧收藏吧!

看图涨知识,一百天搞定机器学习

Python数据分析案例 | 台风最喜欢在我国哪个省市登陆

pandas_profiling :教你一行代码生成数据分析报告

干货!小白入门Python数据科学全教程

深入了解机器学习 (Descending into ML):线性回归

机器学习5大数学知识,你必须要掌握!

Python机器学习·微教程

Keras中的多变量时间序列预测-LSTMs

一文读懂随机森林的解释和实现

机器学习中的数据缩放-Python Scikit-Learn实现方法

如何使用Python scikit-learn机器学习库做分类和回归预测

机器学习中的泛化能力

如何使用python连接数据库?

Python sqlite3数据库模块使用攻略

如何通过Python将CSV文件导入MySQL数据库?

python与mysql怎么完成大量的数据交互?

最后推荐一本不错的Python技术书,里面有很多案例可以学习

最近在玩Python的时候,也整理了很多实战的开发技巧,给大家带来一些常用且实用的Python代码实例,几乎是开发者必备的知识点。

1.检查重复元素

下面的方法可以检查给定列表中是否有重复的元素。它使用了 set() 属性,该属性将会从列表中删除重复的元素。

2.变位词

检测两个字符串是否互为变位词(即互相颠倒字符顺序)

3.检查内存使用情况

以下代码段可用来检查对象的内存使用情况。

4.字节大小计算

以下方法将以字节为单位返回字符串长度。

5.重复打印字符串 N 次

以下代码不需要使用循环即可打印某个字符串 n 次

6.首字母大写

以下代码段使用 title() 方法将字符串内的每个词进行首字母大写。

7.分块

以下方法使用 range() 将列表分块为指定大小的较小列表。

8.压缩

以下方法使用 fliter() 删除列表中的错误值(如:False, None, 0 和“”)

9.间隔数

以下代码段可以用来转换一个二维数组。

10.链式比较

以下代码可以在一行中用各种操作符进行多次比较。

11.逗号分隔

以下代码段可将字符串列表转换为单个字符串,列表中的每个元素用逗号分隔。

12.计算元音字母数

以下方法可计算字符串中元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)的数目。

13.首字母恢复小写

以下方法可用于将给定字符串的第一个字母转换为小写。

14.平面化

以下方法使用递归来展开潜在的深度列表。

15.差异

该方法只保留第一个迭代器中的值,从而发现两个迭代器之间的差异。

16.寻找差异

下面的方法在将给定的函数应用于两个列表的每个元素后,返回两个列表之间的差值。

17.链式函数调用

以下方法可在一行中调用多个函数。

18.检查重复值

以下方法使用 set() 方法仅包含唯一元素的事实来检查列表是否具有重复值。

19.合并两个词典

以下方法可用于合并两个词典。

在Python 3.5及更高版本中,你还可以执行以下操作:

20.将两个列表转换成一个词典

以下方法可将两个列表转换成一个词典。

21.使用枚举

以下方法将字典作为输入,然后仅返回该字典中的键。

22.计算所需时间

以下代码段可用于计算执行特定代码所需的时间。

23.Try else 指令

你可以将 else 子句作为 try/except 块的一部分,如果没有抛出异常,则执行该子句。

24.查找最常见元素

以下方法返回列表中出现的最常见元素。

25.回文

以下方法可检查给定的字符串是否为回文结构。该方法首先将字符串转换为小写,然后从中删除非字母数字字符。最后,它会将新的字符串与反转版本进行比较。

26.没有 if-else 语句的简单计算器

以下代码段将展示如何编写一个不使用 if-else 条件的简单计算器。

27.元素顺序打乱

以下算法通过实现 Fisher-Yates算法 在新列表中进行排序来将列表中的元素顺序随机打乱。

28.列表扁平化

以下方法可使列表扁平化,类似于JavaScript中的[].concat(…arr)。

29.变量交换

以下是交换两个变量的快速方法,而且无需使用额外的变量。

30.获取缺失键的默认值

以下代码段显示了如何在字典中没有包含要查找的键的情况下获得默认值。

31.简单计算器

32.生成日历

33.文件IO

34.字符串判断

35.字符串大小写转换

36.计算每个月天数

37、获取昨天的日期

以上是你在日常工作中可能会发现的有用方法的简短列表

如何学习Python呢,这里我之前也针对于初学者一个简单的教程,

Python学习资料及文档系列

来一起愉快的开始Python吧

Python探究之旅—Python语言的基本认识

适合Python初学者的笔记总结

一个打过激素的数组

《我的再生兄弟》—一个带了枷锁的列表

如何用Python写一个贪吃蛇AI

5个提升生产效率的Python开发和配置的小技巧

如何优雅的在手机上进行Python编程

我是作者于小二终端研发部 专注于分享职场经验和开发小技巧 。如果觉得我的回答对你有帮助,记得点赞和关注我是

参考:

关于Python有一句名言:不要重复造轮子。

但是问题有三个:

1、你不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。

2、确实没重复造轮子,但是在重复制造汽车。包括好多大神写的好几百行代码,为的是解决一个Excel本身就有的成熟功能。

3、很多人是用来抓图,数据,抓点图片、视频、天气预报自娱自乐一下,然后呢?抓到大数据以后做什么用呢?比如某某啤酒卖的快,然后呢?比如某某电影票房多,然后呢?

以下是经过Python3.6.4调试通过的代码,与大家分享:

1、抓取搓米问答图片

2、听两个聊天机器人互相聊天

3、AI分析唐诗的作者是李白还是杜甫

4、彩票随机生成35选7

5、自动写检讨书

6、屏幕录相机

7、制作Gif动图

可以试着玩起来了。

其实很多电脑之间的网络共享需求,都可以利用Python的http服务实现。不管是大学宿舍、家中,办公室,只要wifi同一接入点,电脑IP在同一网段,就可以使用。

MacOS或Linux操作系统,只需要打开终端,查看自己的IP地址。然后进入共享目录,启动Python的http服务

Windows操作系统,打开运行输入cmd

客户端电脑无论什么操作系统,只需打开浏览器,输入

就能打开服务端的共享目录,随意下载服务端共享出来的文件了。

学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则。今天给大家分享的是 15个极简任务,初学者可以尝试着自己实现;Python 开发者也可以看看是不是有没想到的用法。

1.重复元素判定

以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。

2.字符元素组成判定

检查两个字符串的组成元素是不是一样的。

3.内存占用

下面的代码块可以检查变量 variable 所占用的内存。

4.字节占用

下面的代码块可以检查字符串占用的字节数。

5.打印 N 次字符串

该代码块不需要循环语句就能打印 N 次字符串。

6.大写第一个字母

以下代码块会使用 title() 方法,从而大写字符串中每一个单词的首字母。

7.分块

给定具体的大小,定义一个函数以按照这个大小切割列表。

8.压缩

这个方法可以将布尔型的值去掉,例如(False, None, 0, “”),它使用 filter() 函数。

9.解包

如下代码段可以将打包好的成对列表解开成两组不同的元组。

10.链式对比

我们可以在一行代码中使用不同的运算符对比多个不同的元素。

11.逗号连接

下面的代码可以将列表连接成单个字符串,且每一个元素间的分隔方式设置为了逗号。

12.元音统计

以下方法将统计字符串中的元音(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)的个数,它是通过正则表达式做的。

13.首字母小写

如下方法将令给定字符串的第一个字符统一为小写。

14.展开列表

该方法将通过递归的方式将列表的嵌套展开为单个列表。

15.列表的差

该方法将返回第一个列表的元素,其不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一句 set_b.difference(set_a)。

-END-

我会 Python 了 [狗头]

这几天刚刚帮我朋友小垃圾(从事某宝三产行业)实现了一个爬取某宝店铺的需求。

大概需求是,爬取指定查询条件下的某宝店铺,详细要求如下:

这是我按照他的要求整理出来的。

原要求和新增要求1,已经实现了,大概是这样的效果:

某宝作为国内最大的电商网站,反爬技术肯定了得。

没爬几次,都会让你喝口水:

但是我们作为程序猿,遇到这种反爬还是有办法的:

1、初始化webdriver的时候,加个选项:

2、然后在登录账号,和采集商品页面时,加入处理滑块的逻辑:

3、但即便是这样,爬到一定时间阶段,滑块会一直滑不动,程序检测到这种情况后,启动自动切换账号机制:

至此,才完整地解决了反爬问题。

最终,爬取到的数据,是这样:

我一个从事语言工作的老同学小垃圾告诉我的痛点,每次翻译,都需要在不同翻译网站/工具之间来回切换,因为有的内容A翻译的更合适,有的内容B翻译的更准。有木有办法实现一键翻译??

于是,我用python开发了一个聚合翻译器!

实现一键同时获取5个翻译工具的结果,包括:

有道翻译、百度翻译、必应翻译、360翻译、谷歌翻译。

首先,看一下演示效果:

这个聚合翻译工具,核心代码是通过python网页爬虫和翻译网站API实现的翻译。

首先,导入需要用到的库:

由于我想让这个工具,支持中英双向翻译,所以我定义了一个函数,判断输入是中文还是英文:

这个函数不太严谨,只判断了输入内容的第一个字符是中文还是英文,这样会导致如果输入既有中文又有英文,会出现判断失败。后续需要改进,改为判断全部输入内容。

然后,下面是依次针对每个翻译网站的网页爬虫、API爬取,实现翻译功能,这里就不贴Python源码了。

下面,重点看下用tkinter实现的GUI前台界面。

定义了一个TransTool类,这个类的作用就是利用tkinter开发前台界面,并调用各个爬虫对象实现翻译功能。

其中:

trans_all()函数,调用了以上所有函数,实现全部翻译。如果有个性化需求,关闭其中某个翻译工具,把对应的那行代码注释掉就可以了,比如:

这样,就只保留了有道翻译、必应翻译、谷歌翻译3种。

同时,别忘了,这个工具还支持中译英、英译中,双向翻译的!详细讲解视频,请移步:

原讲解视频,请移步:

整个工具开发下来,说白了就是把各个爬虫组合到一起同时入参,将结果一起发回给tkinter前台。

但谷歌翻译与其他几个不同,由于众所周知的原因,必须科学上网才能返回翻译结果,所以,

要么点击“翻译”时,先关闭谷歌翻译,只保留其他翻译,要么先搞定网络问题,再一起翻译。

我有个资料员朋友小垃圾,他有很多这种很长的几百页的word文档,每个word里都有一个附录章节,大概是这种结构的:

左边是目录结构,右边是正文内容(每个小章节对应一个固定结构的表格)

他想把这些表格,按照指定的文件夹层及目录,分word文档的存入到指定位置。

保存完之后的目录结构,大概这样:

其中,每个生成的word文档都是按照固定模板(指定页眉、页脚的那种),内容是那么一个表格。

最后,还要按照生成的顺序,把文档名字写入一个excel模板中,这样:

需求就是这么个需求,好了,开肝!

python的第三方库docx完成对word文档的读写需求:

提醒一点,这个库的安装是这样:(不是pip3 install docx啊!

用openpyxl写入excel结果,这个就比较简单了:

我有个朋友小垃圾,他每天重复做一件事:先登录A网站,从A网站按照一定的过滤规则,筛选出图片,下载压缩包到本地,解压缩出图片,登录B网站,把图片上传到B网站,获取上传成功之后的图片href。

大概就是这么个需求,出于隐私,不再截图展示页面。

展示几个核心代码模块。

自动下载图片:

解压zip包:

自动上传图片(这个有点难度,调试了好多次):

其他模块,selenium自动登录、os操作本地文件、pandas存取excel等,比较简单,不再演示。

我有个朋友小垃圾,他是个HR,每天都需要统计员工的出勤考核,考勤机导出的每日数据是这样的:

每天导出这样一个pdf文件,一共500多页,这是其中一页↑,他需要按红色方框中的姓名,重新给pdf文件排序,生成新的pdf文件,汇报给财务统计考核。

每天都搞的自己抓耳挠腮,掉头发,怎么办?有了Python,一切都不是问题,开整!

你一定有疑问,为什么用到两个库(pdfplumber和PyPDF2)读取pdf文件。听我细细道来~

本来我想读、写全部用PyPDF2搞定的,没成想PyPDF2有个bug,读取不到1.3版本的pdf的text,具体可查看github的issue:github.com/mstamy2/PyPD

查看pdf版本:

issue内容:

所以用pdfplumber读取pdf的文本内容,然后用PyPDF2重组pdf顺序。

读取PDF文件代码:

写入新的pdf文件:

———-华丽的分割线———-

现在是一个快节奏的现代化办公时代,什么都讲究一个快,一个高效率,如果有一门编程语言能快速高效完成我们的日常办公需求,那一定就是python了。

我们都不是什么技术大牛,也不是搞科研,没必要为了编程而编程,能用编程解决日常生活和工作中的问题,那就很好了。

我是 ,持续分享Python干货中!

更多干货:

链接我:

不是我写的,是我收藏的宝贝,分享python7个技巧,这7个技巧我都有用过,是真的实用,尤其是第六个,当你字典用得频繁时这涵盖了我们日常所做的事情,例如修改Pandas数据框中的值,连接字符串,读取文件等操作!

假设我们有以下df数据框:

现在由于某种原因,你需要在第0列的数字上添加01的值。一个常见的方法是定义一个函数来完成这个任务,然后用 apply 函数来修改一列的值。

这并不复杂,但是在数据框中对每一个改变创建一个函数是不切实际的。这时lambda就派上了用场。

lambda函数类似于普通的Python函数,但它可以不使用名称来定义,这使得它成为一个漂亮的单行代码。之前使用的代码可以用以下方式来减少。

当你不知道是否可以访问一个系列的属性来修改数据时,Lambda变得非常有用。

例如,列0包含字母,我们想把它们大写。

字符串连接是Python中非常常见的操作,它可以用不同的方法来完成。最常见的方法是使用+运算符;然而,这个运算符的一个问题是我们不能在字符串之间添加任何分隔符。

当然,如果你想把 “Hello “和 “World “连接起来,一个典型的变通方法是添加一个空白分隔符(” “)。

这就完成了工作,但为了写出更可读的代码,我们可以用一个f-string来代替它。

在一个基本的例子中,这似乎是不必要的,但是当涉及到连接多个值时(正如你将在提示#3中看到的),f-string将使你免于书写多次+ " " +。我不知道过去有多少次不得不写+运算符,但现在不会了!

其他连接字符串的方法是使用join()方法或format()函数,然而f-string在字符串连接方面做得更好。

你是否曾经想在 Python 中循环遍历一个以上的列表?当你有两个列表时,你可以用 enumerate 来实现。

然而,当你有两个或更多的列表时,这变得不切实际。一个更好的方法是使用zip()函数。zip()函数接收迭代数据,将它们聚集在一个元组中,并返回之。

让我们再增加一个列表,看看zip()的威力!

上述代码的输出结果为:

此处你注意到我们在这个例子中使用了f-string吗?代码变得更有可读性,不是吗?

作者补充第三点,enumerate()是python3的内置函数,enumerate在字典上表示枚举的意思,其参数为可迭代的对象(如列表、字符串),其常用在for循环中得到计数,利用它可以同时获得index和value;

清洗和处理数据的一个常见步骤是修改现有的列表。比如,我们有以下需要大写的列表:

将words列表的每个元素大写的典型方法是创建一个新的大写列表,执行一次 for 循环,使用.title(),然后将每个修改的值附加到新的列表中。

然而,Pythonic的方法是使用列表理解来做到这一点。列表理解有一种优雅的方法来制作列表。

你可以用一行代码重写上面的for循环:

由此我们可以跳过第一个例子中的一些步骤,结果是一样的。

当在一个项目上工作时,我们经常会对文件进行读写操作。最常见的方法是使用open()函数打开一个文件,它会创建一个我们可以操作的文件对象,然后作为一个习惯的做法,我们应该使用close()关闭该文件对象。

这很容易记住,但有时写了几个小时的代码,我们可能会忘记用f.close()关闭f文件。这时,with语句就派上了用场。with语句将自动关闭文件对象f,形式如下:

有了这个,我们可以保持代码的简短。

你不需要用它来读取CSV文件,因为你可以用pandas的 pd.read_csv()轻松地读取,但在读取其他类型的文件时,这仍然很有用。例如,从pickle文件中读取数据时经常使用它。

比如,有以下一个字典:

我们可以通过person[name]person[age]分别获得姓名和年龄。但是,由于某种原因,我们想获得一个不存在的键,如 “工资”,运行person[salary]会引发一个`KeyError’。

这时,get()方法就有用了。如果键在字典中,get()方法返回指定键的值,但是如果没有找到键,Python 将返回None。得益于此,你的代码不会中断。

输出结果如下:

你是否曾想减少用于创建多个变量、列表或字典的代码行数?那么,你可以用多重赋值轻松做到这一点。

有没有简单一点的 Python 小例子或小项目?

Python 最常用的语句、函数有哪些?

入门python有什么好的书籍推荐?

如何找到适合需求的 Python 库?

经常有人私信我问我有没有Python的练手项目,如果你也想要,那走过路过不要错过!

本篇文章给大家推荐100 个 Python 小技巧。

有一句话说得好,要想本领深,铁杵磨成针。所以多学多练铁杵早晚都会磨成针。

▍1、for循环中的else条件

这是一个for-else方法,循环遍历列表时使用else语句。

下面举个例子,比如我们想检查一个列表中是否包含奇数。

那么可以通过for循环,遍历查找。

如果找到了奇数,就会打印该数值,并且执行break语句,跳过else语句。

没有的话,就不会执行break语句,而是执行else语句。

▍2、从列表中获取元素,定义多个变量

▍3、使用heapq模块,获取列表中n个最大或最小的元素

▍4、将列表中的所有元素作为参数传递给函数

我们可以使用 * 号,提取列表中所有的元素

如此便可以将列表中的所有元素,作为参数传递给函数

▍5、获取列表的所有中间元素

▍6、使用一行代码赋值多个变量

▍7、列表推导式

只用一行代码,便可完成对数组的迭代以及运算。

比如,将列表中的每个数字提高一倍。

推导式不仅列表能用,字典、集合、生成器也能使用。

下面看一下,使用字典推导式,将字典的值提高一倍。

▍8、通过Enum枚举同一标签或一系列常量的集合

枚举是绑定到唯一的常量值的一组符号名称(成员)。

在枚举中,成员可以通过身份进行比较,枚举本身可以迭代。

▍9、重复字符串

▍10、比较3个数字的大小

如果想比较一个值和其他两个值的大小情况,你可以使用简单的数学表达式。

这个是最简单的代数表达式,在Python中也是可以使用的。

▍11、使用1行代码合并字典

▍12、查找元组中元素的索引

▍13、将字符串转换为字符串列表

假设你在函数中获得输出,原本应该是一个列表,但实际上却是一个字符串。

你可能第一时间会想到使用索引或者正则表达式。

实际上,使用ast模块的literal_eval方法就能搞定。

▍14、计算两数差值

计算出2个数字之间的差值。

上面的这个方法,需要考虑数值的先后顺序。

使用命名参数,安排顺序,这样就不会出错了。

▍15、用一个print()语句打印多个元素

▍16、在同一行打印多个元素

▍17、打印多个值,在每个值之间使用自定义分隔符

▍18、不能在变量名的开头使用数字

这是Python的变量命名规则。

▍19、不能在变量名的开头使用运算符

▍20、数字的第一位不能是0

这个确实挺神奇的。

▍21、在变量名的任何地方使用下划线

这并不意味着,你可以无限使用,为了代码的易读性,还是需要合理使用。

▍22、使用下划线分割数值较大的数字

如此,看到一大堆数字时,也能轻松阅读。

▍23、反转列表

▍24、使用步进函数对字符串切片

▍25、反向切片

▍26、使用开始或结束索引进行切片

▍27、/和//的区别

▍28、==和is的区别

is:检查两个变量是否指向同一对象内存中

==:比较两个对象的值

▍29、合并字典

▍30、检查字符串是否大于另一字符串

▍31、检查字符串是否以特定字符开头(不使用索引)

▍32、使用id()查找变量的唯一id

▍33、整数、浮点数、字符串、布尔值和元组都是不可变的

当变量被赋值为整数、浮点数、字符串、布尔值、元组这些不可变类型后,该变量就会指向一个内存对象。

如果重新给变量再赋值,它的内存对象就会发生改变。

▍34、字符串和元组也是不可变的

此处再说明一次。

▍35、列表、集合和字典都是可变的

这意味着发生更改时,不会改变其内存对象。

下面是字典。

▍36、把一个列表变成不可变的列表

使用frozenset()后,你就无法更改了。

▍37、if-elif块可以在没有else块的情况下存在

但是elif不能在没有if语句之前独立存在。

▍38、使用sorted()检查2个字符串是否为相同

▍39、获取字符的Unicode值

▍40、获取字典的键

▍41、获取字典的值

▍42、交换字典的键、值位置

▍43、将布尔值转换为数字

▍44、在算术运算中使用布尔值

▍45、将任何数据类型转换为布尔值

▍46、将值转换为复数

也可以将数字转换为十六进制数。

▍47、在列表的第一个位置添加一个值

如果使用append(),将从列表的最后一个位置插入新值。

可以通过使用insert(),来指定插入新元素的索引和数值。

那么列表的第一个位置为0,即下标为0。

▍48、Lambda函数只能在一行代码中

无法通过多行代码,来使用lambda函数。

报错。

▍49、Lambda中的条件语句应始终包含else语句

运行上面的代码,报错。

这是由于条件表达式的特性,而不是lambda的导致的。

▍50、使用filter(),获得一个新对象

▍51、map()返回一个新对象

map()函数将给定函数应用于可迭代对象(列表、元组等),然后返回结果(map对象)。

▍52、range()的step参数

▍53、range()默认从0开始

▍54、不需要和0比较长度

如果长度大于0,则默认为True。

▍55、可以在同一个作用域内多次定义一个方法

但是,只有最后一个会被调用,覆盖以前。

▍56、在外部直接访问私有属性

在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法。

如果想要在外部访问,那么只需要在名称前面加上 ‘_类名’ 变成 ‘_类名__名称’。

▍57、检查对象的内存使用情况

▍58、定义一个方法,可以调用任意个参数

▍59、使用super()或父类的名称调用父类的初始化

使用super函数调用父类的初始化方法。

使用父类的名称调用父类。

▍60、在类中使用 + 操作符

在两个int数据类型之间使用 + 运算符时,将得到它们的和。

而在两个字符串数据类型之间使用它时,会将其合并。

这个就是操作符重载,你还可以在类中使用(__add__)。

▍61、在类中使用 < 和 == 操作符

下面定义一个操作重载示例( < 操作符),使用__lt__方法。

同样的,== 操作符使用__eq__方法。

还有一些其他的定义。

▍62、为类的对象定义自定义的可打印版本

▍63、交换字符串中字符的大小写

▍64、检查字符串是否都是空格

▍65、检查字符串是否都是字母或数字

▍66、检查字符串是否都是字母

▍67、根据参数删除字符

从右侧开始。

同样的,左侧也能操作。

▍68、检查字符串是否为数字

▍69、检查字符串是否为中文数字

▍70、检查字符串是否所有单词都是大写开头

▍71、在元组中使用负索引

▍72、在元组中嵌套列表和元组

▍73、快速统计元素在列表中出现的次数

▍74、使用slice()获取元素

使用slice()获取最后n个元素。

使用slice()做切片任务。

▍75、计算元素在元组中出现的次数

▍76、获取元组中元素的索引

▍77、步进获得元组

▍78、通过索引获取子元组

▍79、将列表、集合、字典中所有元素删除

▍80、合并集合

使用union()方法,返回一个新集合。

还可以使用update()方法,将第二个集合的元素插入到第一个集合中去。

▍81、在函数里输出结果

▍82、if语句中的多个条件

▍83、在一个if语句中,至少满足多个条件中的一个

▍84、任何非空字符串都为True

▍85、任何非空列表、元组、字典都为True

▍86、None、False、0都为False

▍87、在函数中使用全局变量

在函数无法直接修改全局变量的值。

可通过修饰符global,修改全局变量的值。

▍88、计算字符串或列表中元素的数量

使用collections中的Counter计算字符串或列表中元素的数量。

▍89、检查2个字符串是否为相同

可以使用Counter()方法。

可以使用sorted()方法。

▍90、使用itertools中的count计算元素的数量

输出如下。

▍91、对字符串或列表的元素进行次数排序

collections模块的Counter(),默认情况下是不会根据元素的频率对它们进行排序的。

map()函数将给定函数应用于可迭代对象(列表、元组等),然后返回结果(map对象)。

▍92、查找列表中出现频率最高的元素

▍93、copy()和deepcopy()的区别

浅拷贝: 拷贝父对象,但是不会拷贝对象的内部的子对象。

深拷贝: 拷贝父对象. 以及其内部的子对象。

下面是一个copy()的例子。

这里是一个deepcopy()的例子。

▍94、访问字典中不存在的键时,避免报错

如果你想访问字典一个不存在的键,代码会报错。

错误如下。

可以通过使用defaultdict(),代码将不会报错。

▍95、构建迭代器

▍96、删除列表的重复项

▍97、打印模块的安装位置

▍98、使用not in检查一个值是否在列表中

▍99、sort()和sorted()的区别

sort():对原始列表进行排序

sorted():返回一个新的排序列表

▍100、使用uuid模块生成唯一ID

UUID代表唯一标识符。

我是大雄 ,一个混在国家电网的数据科学家,你的点赞、收藏和关注是对我最大的支持!

关于Python有一句名言:不要重复造轮子
但是问题有三个:
1、你不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子
2、确实没重复造轮子,但是在重复制造汽车。包括好多大神写的好几百行代码,为的是解决一个Excel本身就有的成熟功能
3、很多人是用来抓图,数据,抓点图片、视频、天气预报自娱自乐一下,然后呢?抓到大数据以后做什么用呢?比如某某啤酒卖得快,然后呢?比如某某电影票房多,然后呢?
以下是经过Python3.6.4调试通过的代码,与大家分享:
1、抓取搓米问答图片
2、听两个聊天机器人互相聊天
3、AI分析唐诗的作者是李白还是杜甫
4、彩票随机生成35选7
5、自动写检讨书
6、屏幕录相机
7、制作Gif动图
1、抓取搓米问答图片,只用30行代码

2、没事闲的时候,听两个聊天机器人互相聊天

3、分析唐诗的作者是李白还是杜甫

4、彩票随机生成35选7

5、自动写检讨书

6、屏幕录相机,抓屏软件

7、制作Gif动图

好了这就是今天分享的轮子,大家拿来直接用啊~
如果喜欢不要忘记点哦!

今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍!

由于工作当中经常需要对比前后两个 Excel 文件,文件内容比较多,人工肉眼对比太费劲,还容易出错,搞个 Python 小工具,会不会事半功倍

运行脚本,可以把前后两个 Excel 文件当中不同的内容数据展现出来,不同 sheet 页签表示不同的数据处理结果

不需要解析,直接干

我们先导入两份测试数据,进行 old 和 new 的处理,注意数据中 account number 是唯一索引

对于我们这个小工具,主要考虑三种变化类型

对于新增和删除的 account,我们可以直接用两份数据相减即可

接下来我们再讲所有的数据拼接到一起,并使用 drop_duplicates 来保留被修改的数据

接下来,我们需要找出哪些 account 有重复的条目,重复的 account 表明更改了我们需要标记的字段中的值。我们可以使用重复函数来获取所有这些 account 的列表,并仅过滤掉那些重复的 account

现在我们将旧数据和新数据进行拆分,删除不必要的版本列并将 account 设置为索引

接下来我们定义一个函数来展示从一列到另一列的变化

现在使用 swaplevel 函数来获取彼此相邻的旧列和新列

最后我们使用 groupby 然后应用我们自定义 report_diff 函数将两个相应的列相互比较

接下来我们需要找出被删除和新增的数据

我们可以使用单独的选项卡将所有内容输出到 Excel 文件,对应于更改、添加和删除

最后,我们就得到了最开始的效果图片展示的一个新的 Excel 文件

当然上面的代码对于毫无编程的人来说还是有一点点复杂,我们还是做成 GUI 小程序吧,这次我们使用 Tkinter 来编写 GUI 程序

我们首先导入 Tkinter 库并进行初始化

这里我们定义了三个 String 类型的变量,用来保存文件地址和文件夹路径

然后我们进行简单的页面排版,只需要用到 Label,Entry 和 Button 就够了

用于获取文件和文件夹的函数

用于保存新生成文件和提示消息的函数

这样,一个简单的 Excel 对比工具就完成啦

好了,这样我们就完成了一个简易的 GUI 对比 Excel 文件的工具喽

喜欢就在看、点赞,转发,三连支持一下噻!

编程语言的出现和演进都是为了直接或者简洁的改变工作效率,Python的出现并非只能用于数据分析、机器学习。

如果仔细琢磨日常的工作 和生活,可以通过一些Python脚本大大的提升效率,同时还可以绕开很多收费工具,节省不少钱。

今天,我就来给大家介绍之前写过的一些杀手级脚本,真的是幸福感爆棚!

使用这个自动化脚本,以编程方式编辑你的图像。

下面是我在编辑图片的常用功能,如模糊、旋转、翻转、合并等。

要实现这些功能,往常都需要安装一些臃肿的软件,但是,一个简单的Python脚本就可以轻松解决。

这个自动化脚本将为你编辑音频文件,你可以提取声音、合并声音、播放声音、分割/切割声音等等,通过这个脚本,终于可以扔掉那些付费软件了。

工作中,我们经常会产生一些重要的文件,需要限制阅读人员,那么这个脚本就可以提供帮助。

这个脚本使用密码学技术对你的文件进行加密,当你需要打开它们时,你可以使用密码解密它们。

这是一个非常安全的方法来锁定你的文件,因为在没有钥匙的情况下就没办法阅读。

录屏是现如今使用非常频繁的一类工具,但是,目前很多录屏软件都收费,有的导出时会在视频上添加水印。

所以,搓米问答上也经常看到有不少人迫切需求无水印、免费的录屏软件。

其实,一个Python脚本就可以搞定!

从PDF中提取表格是一项复杂的任务,通过OCR技术效果一般都不太理想,手动重新建个表格工作量又比较大。

这个脚本将简单地从你的PDF中提取表格,它不仅 可以提取单个PDF的表格,还可以从多个PDF中一个一个地提取表格。

你是否想象过你也可以用Python将MS Office软件自动化?

Office三件套Word、PPT、Excel是绝大多数人在工作和学习中都会用到的工具,但是,目前很多人还都是手动处理一些重复的工作,效率非常低。

这个脚本就可以解放你的双手,实现MS Office的自动化。

这个简单的自动化脚本帮助你将你的图像转换为PDF格式。

它使用谷歌文本转语音API,将你的文本内容转换为人工智能机器人的声音。

有些网站会对图片的大小进行严格的限制,比如,一些报考网站。

这时候,就需要用到图片压缩工具。

但是,很多压缩工具对图片的质量影响较大。

这个脚本把你的照片压缩成较小的尺寸而质量不变。

这个简单的脚本可以给任何图片加水印。

你可以设置文本、位置和字体。

上面介绍了10个场景,都是日常工作和生活中经常会遇到的。之前大多数同学都会选择寻求一些繁琐的工具,甚至付费,最终效果也不太理想。

通过简单的Python脚本,其实就可以彻底解决我们的问题,还可以解放双手,大大的提高效率,感兴趣的赶紧试一下吧!

最后,欢迎大家添加vx:code_7steps和我进行技术交流!

zhuanlan.zhihu.com/p/38

一些常用的python代码合集,方便检索引用

这个还是比较多的,下面通过实例具体看一下。

【原】这个网站只教你一项非常实用的技能!!

这个技能就是折纸!不要小看了这项技能,它实为哄女朋友、熊孩子……的高阶技能,如果你现在不需要,相信将来也一定会用到,这项技能堪称经典,想想这些场景:没钱的时候亲手做一款折纸送给女朋友作为生日礼物一个人带熊孩子的时候,教几款折纸,轻松打发时间……今天要给大家推荐的这个网站就是一个非常简洁的折纸教学网站,教学分为了图文和动画,易操作,上手快,是我见过教人手工的最好的网站之一。折纸俱乐部网址:cn.origami-club.com由上图可以看到,折纸的分类很详细,有按照物品分:动物折纸、海底折纸、昆虫 更多

现在汽车上花里胡哨的设计太多了,有哪些是真正实用的?

我想换个角度,尝试着从更高一级的大设计层面说说我对这个问题的看法。当某些设计会让人产生花里胡哨、华而不实的印象时,这些设计就成为了我们常说的过度设计。所谓过度设计顾名思义,就是设计结果超出了满足功能需求的基本条件,并在不必要的层面画蛇添足的现象。对于艺术设计而言,过度设计无可厚非,毕竟有时艺术的过度就是现实的适度。但对于设计产出是汽车产品这样理应秉承功能决定形式的工业设计而言,过度设计在设计理念上是本末倒置的。超出实际功能场景的设计不仅无助于用户体验的优化,甚至可能会导致本不存在的新问题。过度设 更多

赞(0) 打赏
未经允许不得转载:微精选 » 你写过哪些实用的Python代码?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏