个性化阅读
专注于IT技术分析

每个Python开发人员都应该知道的11件事

本文概述

Python是开发人员应该学习的最好的编程语言之一。有许多大型网站, 例如Instagram, Netflix, Uber, Pinterest和Dropbox, 都是使用python编程语言创建的。在这种情况下, 对Python熟练的程序员有很高的要求, 这不仅是因为该语言的普及, 而且主要是因为它已经发展成为解决软件开发领域许多不同问题的解决方案。 Python已用于各种开发中, 例如Web应用程序, 机器学习和数据科学。作为Python爱好者, 我相信每个Python开发人员都应该了解某些基本概念或事实。在我使用Python作为主要编程语言的学习期间, 所有这些都是重要的必要概念。你需要熟悉Python官方网站, Python 2和3文档以及堆栈流之类的网站。在本文中, 我将讨论每个Python开发人员应该知道的12件事。

不同版本的Python编程平台

尽管这不是编程特性, 但了解最新版本的Python仍然至关重要, 这样每个人都可以熟悉编程语言。 Python编程语言版本通常以ABC编号, 其中三个字母代表了编程语言所遇到的重大变化。例如, 从2.7.4更改为2.7.5表示Python对平台进行了一些小的错误修复, 但是从Python 2更改为Python 3则表明这两个版本之间发生了重大变化。为了确认你的python程序版本, 可以使用以下语句:

import sys

print ("My version Number: {}".format(sys.version))

Python Shell

python shell会自动安装在平台中, 并且可以通过在命令行中(在Windows OS中)键入python命令来执行。这将提供要求输入的默认版本, 版权声明和R角>>>。如果你的计算机包含多个版本的Python, 则必须添加python3.3版本号才能获取正确的版本。 Python Shell允许用户测试一些简单的命令以检测是否存在逻辑或语法错误, 从而有助于避免浪费大量时间或内存。

了解Python框架和对象关系映射器(ORM)库

清楚地了解Python框架非常重要, 但这并不意味着必须了解所有框架。根据你要执行的项目, 你将需要了解该项目中最重要的项目, 但是经常使用的最受欢迎的项目是CherryPy, Flask和Django。此外, 还需要了解如何通过ORM连接和使用应用程序, 例如Django ORM和SQLAlchemy。与编写SQL相比, 这使它更容易, 有效和更快。

了解前端和后端技术之间的区别

前端是用户在访问页面时看到的内容, 而后端是用户在幕后发生的事情。在后端执行程序, 并从数据库查询数据以将其显示在网站上。 Python是用于开发后端的编程语言之一。但是, 需要python开发人员与前端开发人员进行链接, 以将客户端与服务器端进行链接。在这种情况下, 必须了解前端的工作方式以及应用程序的外观。

必须知道如何使用” sys”和” os”。

这些模块对Python开发人员很有用, 因为它们提供了通用性和一致性。该系统允许开发人员使用命令行输入程序, 以避免在重新执行之前返回到文本编辑器或修改程序。与在文本编辑器中重新键入变量相比, 在命令行上修改输入更快, 更高效。可以使用sys.argv来完成, 它将从命令行接收输入。另外, 还可以确保用户输入准确的参数。除了速度以外, 命令行参数还可以用作重复执行脚本自动化过程的一部分。

列表理解示例Python的简单性和美感

Python 2.7.5文档生动地描述了如何列出理解对于开发人员很重要。列表显示产生一个新的列表对象, 因为通常将内容指定为列表理解或表达式列表。每当程序员使用逗号分隔的表达式列表时, 通常会从左到右对元素进行求值, 然后在列表对象中按该顺序排列元素。每当使用列表推导时, 它都包含一个表达式, 该表达式至少带有一个for子句和零个或多个for或if子句。在这种情况下, 新的列表元素将是通过记住每个if或if子句从左到右嵌套的一个块, 并评估表达式以提供一个list元素而产生的元素每当到达最里面的块时。

list2 = [(x, x**2, y) for x in range(5) for y in range(3) if x != 2]

print(list2)

'''
list2 = [(0, 0, 0), (0, 0, 1), (0, 0, 2), (1, 1, 0), (1, 1, 1), (1, 1, 2), (3, 9, 0), (3, 9, 1), (3, 9, 2), (4, 16, 0), (4, 16, 1), (4, 16, 2)]

This expression can be easily understood as:

list2 = [(x, x**2, y) for x in range(5):
            for y in range(3)
                if x != 2]

'''

就像Python 2.7.5文档指出的那样, 人们可以通过列表理解来创建嵌套列表, 这在开发人员需要启动矩阵或表时尤其重要。

类和函数定义

def使Python中的函数定义更加容易。例如:

def count_zeros(string):
    total = 0
    for c in string:
        if c == "0":
            total += 1
    
    return total

# 3
print (count_zeros ('00102'))

而且, 递归函数也并不复杂, 并且它们具有与某些面向对象编程(OOP)语言相似的特征。与Java之类的其他编程语言不同, Python使用很少的类, 这使得开发人员的专业知识非常有限。 Python 2.7文档将类描述为:

Python类提供了面向对象编程的所有标准功能:类继承机制允许多个基类, 派生类可以覆盖其一个或多个基类的任何方法, 并且一个方法可以调用具有相同名称的基类的方法。对象可以包含任意数量和种类的数据。就像模块一样, 类具有Python的动态特性:它们在运行时创建, 并且可以在创建后进行进一步修改。

文件管理

大多数python脚本都将文件用作输入, 因此, 了解将文件合并到代码中的最佳方法非常重要。在这种情况下, 由于open关键字很简单, 因此它具有很大的用途, 并且程序员可以遍历文件以在每一行中对其进行分析。另一种选择是可以使用readlines()方法来帮助创建一个包含文件中每一行的列表, 但是它仅对较小的文件有效。

f = open ('test.txt', 'r')  
for line in f:
    f.close()

f.close()有助于释放打开文件占用的内存。

基本内存管理和复制结构

尽管使用Python创建列表很容易, 但是复制并不像创建列表那样简单。开始时, 我经常使用简单的赋值运算符制作列表的单独副本。例如:

>>> list1 = [1, 2, 3, 4, 5]  
>>> list2 = list1  
>>> list2.append(6)  
>>> list2  
[1, 2, 3, 4, 5, 6]  
>>> list1  
[1, 2, 3, 4, 5, 6]

在这种情况下, 创建与其他列表相同的列表会创建两个变量名称, 这些变量名称指向内存中的相似列表。这适用于任何”容器”项, 例如字典。由于简单的赋值运算符不会生成不同的副本, 因此Python包含通用的副本操作和内置的list语句, 可帮助生成更多不同的副本。此外, 切片还可用于生成不同的副本。

>>> list3 = list(list1)  
>>> list1  
[a, b, c, d, e, f]  
>>> list3  
[a, b, c, d, e, f]  
>>> list3.remove (3)  
>>> list3  
[a, b, c, d, e, f]  
>>> list1  
[a, b, c, d, e, f]  
>>> import copy  
>>> list4 = copy.copy (list1)

但是, 开发人员可能会遇到其他容器中的容器, 例如包含词典的词典。在这种情况下, 使用直接操作将对一个词典进行任何更改以反映在较大的词典中。但是, 可以使用深度复制操作解决此问题, 该操作将有助于复制每个细节。与其他复制解决方案相比, 此操作占用大量内存。

了解字典和集合的基本概念

尽管列表是Python中使用的最常见的数据结构类型, 但仍然可以使用集合和字典。集合是一个包含与列表类似的方式包含项目的容器, 但是它仅包含不同的元素。如果将元素x添加到已经包含另一个元素x的集合中, 则该集合将不会更改。这使得它比列表更具优势, 因为不需要按照列表中的要求进行复制。此外, 基于一个预先存在的列表创建一个集更容易管理, 因为一个人仅输入该集(list_name)。但是, 集合的一个缺点是它们不支持元素索引, 从而使其缺乏顺序。另一方面, 字典也是将元素配对在一起的重要数据结构。可以始终如一地使用键来有效地搜索值。

切片

此过程涉及获取一些数据的子集, 并且主要应用于列表和字符串。切片不仅限于仅从数据中消除一个元素。在这种情况下, 为了使程序员对切片有更好的直觉, 他们必须了解索引过程如何处理负数。在Python文档中, “字符串”部分中有一个ASCII样式的图, 该图提倡开发人员应将Python索引视为指向数据元素之间的指针。在使用代码之前, 你可以使用Python shell进行半复杂的切片。

赞(0)
未经允许不得转载:srcmini » 每个Python开发人员都应该知道的11件事

评论 抢沙发

评论前必须登录!