18

3个适合初学者的Python最佳实践,值得拥有!

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI2NjkyNDQ3Mw%3D%3D&%3Bmid=2247492526&%3Bidx=2&%3Bsn=d8094fe9a8b35bd412070af506837b95
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

EjyQZvZ.jpg!web

全文共 2041 字,预计学习时长 6 分钟

RVVfiaj.jpg!web

来源:Pexels

我们常常分享编程其实很简单的文章,给大家树立信心。

如果只是编写简单的程序,如果你只是想马上完成,一天的时间即可完成。

但如果你想很快地编写复杂,却没有重构和注释几乎不可读的代码。 对不起,面对现实吧,编码很难。

通常这种情况下,别人不得不帮你收拾烂摊子。

因此,为了增加可读性和可重用性,负责任的重组和记录代码非常重要。

这里小芯就给大家推荐3种编写Python的好方法,它们能帮你成为更好的程序员。

1. Docstring

Docstring 是Python文档字符串的英文缩写。 Docstring是三重双引号 ”“”中,在所定义模块,函数,类或方法的第一个陈述。 这是函数中docstring的最小示例。

deffoo():
    """This function doesnothing."""
    passprint(foo.__doc__) # Thisfunction does nothing.

函数的文档字符串应包含(一行)对目的的简短介绍,后面的段落描述了函数调用约定。 样式多种多样,但这是我最喜欢的模板之一:

defsum_of_squares(nums):
    """
    Compute the sum of squares  of a list of numbers.
    Args:
        nums (`list` of `int` or  `float`): A `list` of numbers.
    Returns:
        ans (`int` or `float`):  Sum of squares of `nums`.
    Raises:
        AssertionError: If  `nums` contain elements that are not floats nor ints.
    """
    try:
        ans =sum([x**2for x in nums])
    except:
        raiseAssertionError('Input should be a list of floats or ints.')
    return ans

由GitHub发起的r aw docstring.py 

2. f-string(格式化字符串)

UJZjAbn.jpg!web

来源:Pexels

你可能习惯于使用以下命令格式化字符串,即%或者format().

name ='World'
'Hello %s' % name        # Hello World
'Hello {}'.format(name)  # Hello World

抛弃它们。  一旦你需要在更长的字符串中打印多个变量,该代码将很快变得混乱且难以理解。 无论如何,这些格式化方法并不简单。

Pythonf-string是Python 3.6的引入的改变游戏规则的工具。 这是一种可读且高级的字符串格式句法,将表达式嵌入字符串。 这是通过语句f'{expr}'完成的; 其中表达式用f字符串内的大括号括起来。 表达式在开头带有f,位于单引号之前。

示例:

<span>name =<span>'World'</span> print(<span>f'Hello<span>{name}</span>'</span>) <span># Hello World</span></span>

可以在大括号内写任何在语法上有效的表达。 还可以在表达式中调用函数!

a =[1,2.2,3]
print(f'Sum of squares of {a} is {sum_of_squares(a)}')
# Sum of squares of [1, 2.2, 3] is 14.84

3.命名惯例

nqqmuej.png!web

命名事物是计算机科学中最困难的事情之一。 你穷尽了所有想法。 ,却不知道如何命名临时中介变量。 但你并不是唯一不会命名的人。

尽管很困难,Python中还是有一些命名惯例,来“缩小”命名变量时的选择范围的。 它们有助于增强代码的一致性,可读性和可重用性。

因此,如果字母本身没有含义的话,你不应该再使用单个小写字母命名所有变量,例如a, x等等。 另外,您应该使用有意义的,易于理解且容易被识别的单词命名它们,例如用user_profile 替换掉 uspr.

nARJVz2.jpg!web

来源:Pexels

以下是有关事物命名的6条提示:

1.   避免使用单个字母命名事物,例如O, I, l。 原因很明显。

2.  变量和函数名称都应该小写。

3.  变量或函数名称中的单词应用下划线 _ 分开。

4.  私有变量(例如在类内部)可能从一个下划线开始

5.  类别名称中的单词应串联并大写,例如MarioKart。

6.  常数名称应大写,如 GOLDEN_RATIO。

此列表不是绝对详尽的。 命名变量可以说是编程中最难学习的内容之一。 因此,在GitHub上阅读其他人的代码并学习他们的命名方法,是初学者的最佳途径。

一起来试试吧!

UZbAzej.jpg!web

推荐阅读专题

mMby2iU.jpg!web

iYjIniQ.jpg!web

IjUZ322.jpg!web

jmyiMne.jpg!web

Nbqmy26.jpg!web

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组: 顾家彤、王沁欣

相关链接:

https://towardsdatascience.com/3-good-python-practices-for-beginners-3e747b28f3e5

如转载,请后台留言,遵守转载规范

推荐文章阅读


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK