你肯定还不知道,Python开源项目

2019-12-06 03:09栏目:专项工作
TAG:

被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能。本文或许能够让你学到一些新技巧。

1.简单运用

字符串类型格式化采用format()方法,基本使用格式是:

     <模板字符串>.format(<逗号分隔的参数>)

调用format()方法后会返回一个新的字符串,参数从0 开始编号。

"{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10)
Out[10]: '2016-12-31:计算机PYTHON的CPU 占用率为10%。'

 

format()方法可以非常方便地连接不同类型的变量或内容,如果需要输出大括号,采用{{表示{,}}表示},例如:

"{}{}{}".format("圆周率是",3.1415926,"...")
Out[11]: '圆周率是3.1415926...'

"圆周率{{{1}{2}}}是{0}".format("无理数",3.1415926,"...")
Out[12]: '圆周率{3.1415926...}是无理数'

s="圆周率{{{1}{2}}}是{0}" #大括号本身是字符串的一部分

s
Out[14]: '圆周率{{{1}{2}}}是{0}'

s.format("无理数",3.1415926,"...") #当调用format()时解析大括号
Out[15]: '圆周率{3.1415926...}是无理数'

 

图片 1

Python 是世界上最流行、热门的编程语言之一,原因很多,比如:

2. 格式控制信息

   format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:

     {<参数序号>: <格式控制标记>}

     其中,<格式控制标记>用来控制参数显示时的格式,包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用,逐一介绍如下。

 

图片 2

 

<宽度>

指当前槽的设定输出字符宽度,如果该槽对应的format()参数长度比<宽度>设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。

<对齐>

指参数在<宽度>内输出时的对齐方式,分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。

<填充>

指<宽度>内除了参数外的字符采用什么方式表示,默认采用空格,可以通过<填充>更换。

s = "PYTHON"

"{0:30}".format(s)
Out[17]: 'PYTHON                        '

"{0:>30}".format(s)
Out[18]: '                        PYTHON'

"{0:*^30}".format(s)
Out[19]: '************PYTHON************'

"{0:-^30}".format(s)
Out[20]: '------------PYTHON------------'

"{0:3}".format(s)
Out[21]: 'PYTHON'

 

  • 易于学习
  • 超高的通用性
  • 具备大量模块和库

逗号(,)

<格式控制标记>中逗号(,)用于显示数字的千位分隔符,例如:

"{0:-^20,}".format(1234567890)
Out[24]: '---1,234,567,890----'

"{0:-^20}".format(1234567890) #对比输出
Out[25]: '-----1234567890-----'

"{0:-^20,}".format(12345.67890)
Out[26]: '----12,345.6789-----'

过去一个月,经过对 8 月新增项目多方比较,MyBridge 从 250 余个 Python 开源项目中选出了最好的 10 个。

本文将分享一些使用 Python 的技巧,顺序按照 A-Z 排列。

 <.精度>

表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。

"{0:.2f}".format(12345.67890)
Out[29]: '12345.68'

"{0:H^20.3f}".format(12345.67890)
Out[30]: 'HHHHH12345.679HHHHHH'

"{0:.4}".format("PYTHON")
Out[31]: 'PYTH'

 

 1.all or any

Python 非常受欢迎的原因之一是其可读性和表达性。

人们还经常把 Python 笑称为「可执行伪码(executable pseudocode)」。但是,当你可以编写这样的代码时,很难去反驳这种言论:

x = [True, True, False]
if any(x):
    print("At least one True")
if all(x):
    print("Not one False")
if any(x) and not all(x):
    print("At least one True and one False")

  

<类型>

表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括6 种:

  • b: 输出整数的二进制方式;
  • c: 输出整数对应的 Unicode 字符;
  • d: 输出整数的十进制方式;
  • o: 输出整数的八进制方式;
  • x: 输出整数的小写十六进制方式;
  • X: 输出整数的大写十六进制方式;

    "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425) Out[32]: '110101001,Ʃ,425,651,1a9,1A9'

对于浮点数类型,输出格式包括4 种:

  • e: 输出浮点数对应的小写字母 e 的指数形式;
  • E: 输出浮点数对应的大写字母 E 的指数形式;
  • f: 输出浮点数的标准浮点形式;
  • %: 输出浮点数的百分形式。

     浮点数输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。

"{0:e},{0:E},{0:f},{0:%}".format(3.14)
Out[33]: '3.140000e+00,3.140000E+00,3.140000,314.000000%'

"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)
Out[34]: '3.14e+00,3.14E+00,3.14,314.00%'

 

  • 这些项目在 GitHub 上平均获得 1333 个star
  • 项目话题涵盖:游戏开发、爬虫、终端制图、人脸识别、量子计算、视频下载等。

 2.bashplotlib

想在控制台中绘图吗?

$ pip install bashplotlib

 

使用上面的行,即可在控制台中绘图。

 

 

3.collections

Python 有一些很棒的默认数据类型,但有时候它们可能不会尽如你意。

不过,Python 标准库提供了 collections 模块。这个方便的附加组件可以为你提供更多数据类型。

collections 模块:https://docs.python.org/3/library/collections.html

from collections import OrderedDict, Counter
# Remembers the order the keys are added!
x = OrderedDict(a=1, b=2, c=3)
# Counts the frequency of each character
y = Counter("Hello World!")

   

No.1

4.dir

你是否想过如何查看 Python 对象内部及其具有哪些属性?

输入以下命令行:

>>> dir()
>>> dir("Hello World")
>>> dir(dir)

当以交互方式运行 Python 时,这可能是一个非常有用的功能,并且可以动态地探索你正在使用的对象和模块。

想要了解更多,点这里:https://docs.python.org/3/library/functions.html#dir

 

Pyxel:一款用Python编写的复古风游戏开发环境。[GitHub上3625个star]

5.emoji

是的,真的有。请点击这里:https://pypi.org/project/emoji/

$ pip install emoji

 

别以为我不知道你会偷偷试它→→

from emoji import emojize
print(emojize(":thumbs_up:"))

版权声明:本文由ag真人发布于专项工作,转载请注明出处:你肯定还不知道,Python开源项目