如何5分钟玩转Python? 这30种Python的窍门必看!

作为2019年的必备语言之一,Python显示出不可替代的作用。对所有数据科学工作者来说,如何提高Python的使用效率,这里就总结了Python在30个方面的最佳实践、技巧和诀窍。但愿这能帮助每个人在2020年提高工作效率,并从中学到一些有用的东西。

一、使用Python3

官方的Python声明:Python2从2020年1月1日开始正式不支持。这篇文章中有一些仅适用于Python3的示例。假如你的Python版本是2.7,那就赶快升级到Python3.x。

检查您需要的Python最小版本。

您可以检查您的Python代码中的版本,以确保没有使用不兼容的版本运行脚本。用简单的检查:

importsy

查看python版本,如果低于3.5,请退出程序。

Defcheck_version():

v=sys.version_
在这里插入图片描述

*#print(v)#sys.version_info(major=3,minor=6,micro=5,releaselevel=‘final’,serial=0)

ifv.major==3andv.minor>=5:

回车。

(v.major,v.minor))print(‘Yourcurrentpythonis%d.%d.PleaseusePython3.6.’%)

扩展(1)

三、使用IPython

玩Python游戏?本文总结了30个Python小贴士。

IPython是一种增强的外壳工具。能够实现自动补全的命令确实有很多,我也喜欢所有内置magic命令。例如:

%cd—当前的工作目录更改。

%edit—关闭编辑器后,打开编辑器并执行键入的代码。

%env—显示当前的环境变量。

%pipinstall[pkgs]—无需离开交互shell即可安装软件包。

%time和%timeit—Python代码的定时执行。

另外一个有用的特性是引用前面命令的输出。投入产出是实际的对象。通过使用Out[3],您可以使用第三个命令的输出结果。

安装IPython时使用以下命令:

三个实例库。

4.列表(列表)说明。

list理解可以用一个难看的for循环来替换列表。了解列表的基本语法为:[expressionforiteminlistifconditional]

使用数字序列填充列表的非常简单的例子:

[iforiinrange(10)]
  在这里插入图片描述

由于表达式可以被使用,因此也可以进行一些数学运算,甚至调用外部函数。

最终,您可以使用if过滤列表。本例中,我们只保留可以被2整除的值:

[iforiinrange(10)ifi%2==0]

检查对象对内存的使用情况。

通过sys.getsizeof(),您可以对对象进行内存使用检查。

返回一个以上的值。

Python中的函数不需要字典、列表或类就可以返回多个变量。

这适用于有限数量的返回值。但任何多于3个值的值应该放在一个类中。

7.使用数据类。

在Python3.7版本中,Python提供了data类。它相对于一般的类或其他替代方法(例如返回多个值或字典)有以下几个优点:

一个数据类只需要少量代码。

由于data类__eq__已经实现,因此可以对其进行比较。

您还可以轻松地打印用于调试的数据类,因为它也实现了__repr__。

Data类需要类型提示,因此错误几率较小。

8.就地变量的转换。

一个巧妙的小技巧,可以节省几行代码。

b=b,a。

9.综合词典(Python3.5)
  在这里插入图片描述

在Python3.5的基础上,合并dictionary更加简单:

如键(key)重叠,则会覆盖第一个字典中的键(key)。

10.大小写字母缩写。

用capitalize()函数把字符串的首字母改为大写,其他的改为小写。

(a)“welcome”.capitalize

把字符串分成若干个列表。

您可以将字符串分解为一个字符串列表。本例中,我们分割空白字符:

列表(“welcome”)

从字符串列表中创建字符串。

反过来也一样,从前面的技巧开始,从列表中创建一个字符串,然后在每个单词之间加上空格:

".join([‘2’,‘0’,‘2’])

十三、表情符号。

玩Python游戏?本文总结了30个Python小贴士。

它会给人留下深刻的印象,也会受到人们的排斥。更为重要的是,这会派上用场,特别是在分析社会媒体数据方面。

先安装一个表情模块:

Pip3installemoji

在安装该程序之后,可以进行下列操作:

请访问emojiLibrary页面(https://pypi.org/project/emoji/)以获得更多的示例和文档。

14.列表(列表)部分。

listslist的基本语法是:a[start:stop:step]

启动、停止和终止都是可选的。若未填写,默认情况是:

零为初始值。

string的末尾结束。

缺省值是1。

以下是一些例子:

a=[0,1,2,3,4,5,6,7,8,9]a[2:5:2]

十五、字符串和列表反转。

您可以使用正上方的切片符号反转字符串或列表。用step=-1反转元素:

a[::1]

十六、展示小猫。

玩Python游戏?本文总结了30个Python小贴士。

最后,我找到了一个很好的借口,可以把小猫放进一篇文章里!不过,可以用它来显示图形等等。第一,安装Pillow(https://pypi.org/project/Pillow/),这是Python图像库的一个分支:

Pip3installPillow是什么?

下面,将此图下载到名为“kitchess.jpg”的文件中:

您可以从IPython直接操作:

玩Python游戏?本文总结了30个Python小贴士。

皮洛不仅能显示图像,还能做很多事情。可进行分析、调整、过滤、增强、变形等。请参考文档(https://pillow.readthedocs.io/en/stable/)以获得所有功能。

17.使用地图()

其中一个Python内置的函数叫做map()。地图()的语法如下:

(function,something_iterable)

所以你给了它要执行的函数,以及要执行的特定函数。它可以是任何可重复的东西。对于下面的例子,我将使用列表a=[0,1,2,3,4,5,6,7,8,9]。

列表(map(lambdax:x+1,a))

查看您自己的代码,看看map()是否可以在某个地方使用,而非循环!

从清单或字串中取得惟一的项目。

您可以使用set()函数创建一个集合,您可以从一个列表或类似列表的对象中获得所有惟一元素,a=[1,1,2,3,4,4]。

塞特(a)

19.查找出现频率最高的值。

查找列表或字符串中最频繁出现的值:

测试=[1,1,2,3,4,4,4,4,4]

你知道为什么会这样吗?请你自己弄清楚后再读下去。你没试过吧?反正我要告诉你:

mx()返回列表中最大的值。这个密钥参数接受一个参数函数,它来自定义排序顺序,在这里是test.count。这个函数应用于迭代器中的每一项。

test.count是内建的list函数。该函数使用一个参数,并计算该参数出现的次数。结果是test.count(1)返回2,test.count(4)返回4。

set(test)返回测试的所有唯一值,因此{1,2,3,4}因此,我们只需在一行代码中获得test的所有唯一值,即{1,2,3,4}。下一步,max对list.count函数应用它们,并返回最大值。

20.建立进度表。

您可以创建自己的进度条,非常有趣。但进度包的使用更快:

pip3installprogress是什么?

您现在可以方便地创建进度条。

下列动画展示了所有可以使用的进度类型(动画显示可在网站上查看):

玩Python游戏?本文总结了30个Python小贴士。

21.互动shell中使用_

您可以使用下划线操作符获得最后一个表达式的结果,例如,在IPython中,该操作符如下:

输入[1]:3*3Out[1]:9In[2]:_+3Out[2]:12。

在PythonShell中也可以使用它。另外,IPythonshell允许使用Out[n]获取In[n]中表达式的值,例如,Out[1]在上面的例子中,_可以得到9。

22.Web服务器的快速创建。

您可以快速启动Web服务器为当前目录提供内容:

python3-mhttp.serv

这对于和同事分享东西,或者测试一个简单的HTML站点都非常有用。

23.多行字符串

虽然在代码中可以用三引号包含多行字符串,但是这样做并不理想。放置在三个引号之间的所有东西都会变成字符串,包括下面的格式。第二种方法我比较喜欢,它将多个行连接在一起,从而使代码格式良好。惟一缺点是您需要显式地添加新行。

24.条件赋值中使用的三元操作符。

这样做可以使代码更加简洁,同时又保持可读性:

[on_true]if[扩展]else[on_false]

举例来说:

x="Success!“if(y==2)else"failed!”

25.计数

通过使用集合库中的Counter,可以获得一个字典,其中包含列表中所有唯一的元素计数:

FromcollectionsimportCountera=[1,1,2,3,4,4]Counter(a)

26.操作符的比较链接。

在Python中,可以链接这些比较操作符来创建更易读更简洁的代码:

27.增加一些颜色。

玩Python游戏?本文总结了30个Python小贴士。

你可以用Colorama(https://pypi.org/project/colorama/)给终端加一些颜色。

二十八、处理日期。

python-dateutil模块(https://pypi.org/project/python-dateutil/)为标准的datetime模块提供了强大的扩展。使用下列方法安装:

pip3installpython-dateutil:

使用这个库您可以做许多很酷的事情。对于这个例子,我只给出我认为特别有用的:日志文件中日期的模糊解析等等。

只要记住:Pythondateutil的常规日期功能结束于何处,python-dateutil就会出现!

29.整数分割。

玩Python游戏?本文总结了30个Python小贴士。

在Python2中,除非操作数之一是浮点数,否则除法运算符(/)默认为整数除法。所以你的行为如下:

25/2#Python25/2.0=2.5。

在Python3中,除法操作符默认为浮点数除法,而//操作符则变成了整数除法。所以我们得到:

python35/2=2.55//2=2。

您应该阅读PEP-0238了解这一更改背后的全部动机(https://www.python.org/dev/peps/pep-0238/)。

30.使用chardet检测字符集。

使用chardet模块可以检测文件的字符集。这对于分析大量的随机文本非常有用。如何安装:

皮皮installchardet

既然您有了额外的命令行工具chardetect,就可以像这样使用它。

txtsomefile.txt:asciiwithconfidence1.0。

您也可以通过程序使用这个库,请参阅docs(https://chardet)。

更多精彩内容请关注:
http://daduchang.net/446917.html
http://daduchang.net/446916.html
http://daduchang.net/446915.html
http://daduchang.net/446914.html
http://daduchang.net/446913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值