您的位置 首页 科技新闻

学习Python的最佳方法(三)——数据结构教程

第3级:套接字编程

到目前为止,编写在一台机器上运行的python代码应该非常容易。

但是,如果您想编写通过网络与其他机器通信的代码,该怎么办?

如果想这样做,那么需要了解套接字编程。为此,我强烈建议你先学习计算机网络的基础知识。

在学习了基本的网络概念之后,可以使用Python的库在一台机器上编写代码,该机器与另一台机器上的代码进行通信。

按照这三个步骤开始。

第1步:编写回声程序

在这个步骤中,将使用python的socket模块在一台机器上编写一个简单的TCP服务器,在另一台机器上编写一个TCP客户机。

确保它们是两台不同的计算机,并且都已连接到家庭网络。

Echo程序的思想很简单。客户端从用户处读取消息,并通过网络将此消息发送到服务器。

在服务器端,当接收到该消息时,服务器将同一消息回传给客户机。

把echo程序想象成hello world程序,但是对于socket程序来说。

在那之后,你可以进入更复杂的程序。

第2步:使用HTTP进行游戏

一旦熟悉了编写简单的TCP客户机服务器应用程序,就可以开始使用Python的请求模块发送和接收HTTP消息。

这尤其有用,因为现在绝大多数Web服务都提供了一个HTTP API接口,可以通过编程方式与之交互。例如,facebook、twitter和google maps都有HTTP API接口,代码可以与之通信。

第三步:了解你的工具

当你写一个网络程序时,有时你的程序会在第一时间工作。

但有时不会。

发生这种情况时,你需要为自己配备必要的工具,以排除正在发生的问题。

以下是你需要的一些最流行的网络工具。

ping用于检查您的计算机与另一台计算机之间的连接。

netstat是一个多功能的网络工具,它允许你监视网络连接,包括传入和传出。

tcpdump允许通过任何网络接口监听、捕获和分析进出计算机的真实数据包。

wireshark是一个很好的GUI接口,它可以完成tcpdump所能做的所有工作。

就像我说的,要理解所有这些Get,syn,syn ack,fin意味着你需要先学习网络基础。

第4级:Python中的数据结构和算法

如果你达到这个水平,那么到目前为止,你已经具备了解决各种问题的能力。

但是,还缺少某些东西。你仍然没有足够的经验来编写有效的代码。

那是什么意思?

例如,你不知道如何修改代码以使其更快地运行。你甚至不能分析为什么一开始速度慢。

这是正常现象。

到目前为止,在上一个级别学到的知识还不足以让你真正了解性能,以及如何修改现有代码以使其更快地运行。

看看这个计算第n个Fibonacci数的简单代码。

代码看起来足够简单,非常简单,对吧?

尝试使用此代码计算  fib(100)  [SPOILER ALERT:这将花费很长时间]

现在让我们对代码进行简单的修改。

这一次只花了几毫秒就可以得到答案,这是354224848179261915075。

我使用所谓的动态编程来解决这个问题并使其以更快的速度运行。

我希望你现在相信您应该学习数据结构和算法。

你将在这个级别学习的技能是普通编码员和稳定程序员之间的一些主要区别。

你将需要了解链接列表,树,堆栈,队列,图形,哈希表,递归,动态编程,搜索和排序算法等…

一旦掌握了这些概念,就可以在任何科技公司获得软件工程工作。

关于作者: 少儿编程教育

万服编程(www.seodsj.com)专注少儿编程的教育分享,为家长提供一个可以方便给孩子学习编程的平台,使孩子们赢在起跑线,并且能够通过少儿编程教育提高孩子的各方面综合能力。

热门文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注