学习Python有很长一段时间了,可是一直感觉都没有啥子明显的进示。最近想了想,还是觉得自己目标不够明确,不清楚到底学了后能做些什么(业余人士,学编程就是爱好),因此什么都在看,但却什么都没成。总结了下,确定在网络编程方面的深入一下,麻烦大家指教下需要学些什么样的东西。
回复内容:
Python网络编程是一个很大的范畴,个人感觉需要掌握的点有:1. 如何使用Python来创建socket, 如何将socket与指定的IP地址和端口进行绑定,使用socket来发送数据,接受数据,
2. 如何使用Python中处理线程,从而编写可以同时处理多个请求的web服务器
3. 如何使用Python来控制HTTP层的逻辑,包括如何创建http GET,POST,PUT,DELETE请求,如何处理接受到的HTTP请求,这些分别涉及python的httplib, basehttpserver等模块
4. 掌握一种基本的python的web开发框架,比如webpy, django,pylon
5. 了解非阻塞式的HTTP Server,比如tornado
6. 了解twisted, python编写的消息驱动的网络引擎
参考资料:
网络基础知识
1. HTTP: the definitive guide http://www.amazon.com/HTTP-Definitive-Guide-David-Gourley/dp/1565925092/
2. Computer Networking: A Top-Down Approach http://www.amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/0136079679/ref
python 网络编程基础
1. python 网络编程 http://www.amazon.com/Foundations-Python-Network-Programming-Goerzen/dp/1590593715
2. python socket编程的文档 http://docs.python.org/library/socket.html
3. python httplib的文档 http://docs.python.org/library/httplib.html
python常用框架文档:
1. django 的官方网站 https://www.djangoproject.com/
2. twisted 的官方网站 http://twistedmatrix.com/trac/
3. tornado 的官方网站 http://www.tornadoweb.org/ 就我个人的经验,不妨:
1.写出基本的TCP连接,知道编写TCP的各个步骤,例如创建socket、绑定port、端口复用等,对TCP稍微做了解,知道协议的每个字段,了解三次握手。
2.了解基本的服务器并发模型,例如多进程、多线程、IO复用
3.了解一些网络库例如twisted
其实想研究深入还得去读《UNP》《TCPv1》之类的书籍,但是这类语言都是基于C的。
我是在Linux下编写C++程序的,我的感觉是要钻研的深入,一般都是用C来描述,
用python这种语言,抽象层次高,容易抓住重点,适合上手,但是同时也规避了很多问题 一般来说分为web编程和网络编程,所以最好分清两者的概念。前者更倾向于去学习一些主流的框架以及自己搭建站点,后者则是从更底层上去描述与实现。所以建议先找到感兴趣的,在好好研究。 可以参考下面这个答案,这个答案对英语不好如何看技术英文文档的问题也有参考性,对照源码读http://docs.python.org/2/library/对英文有帮助。
<span class="n">__cutline_start__</span> <span class="o">=</span> <span class="s">'-'</span> <span class="o">*</span> <span class="mi">20</span> <span class="o">+</span> <span class="s">'以下转发赖勇浩的答案'</span> <span class="o">+</span> <span class="s">'-'</span> <span class="o">*</span> <span class="mi">20</span>
不清楚你具体指的是底层的网络编程,还是偏应用的web开发。如果是做网站的话,那是web开发,建议先去看python的web开发框架,推荐从Django开始,文档比较详细Django:https://www.djangoproject.com/ Socket Programming in Python这里有个简单的教程 我也在学,第一感觉是先学好英语 学习完网络编程基础知识后. 强烈建议学习twisted.

Python是解释型语言,但也包含编译过程。1)Python代码先编译成字节码。2)字节码由Python虚拟机解释执行。3)这种混合机制使Python既灵活又高效,但执行速度不如完全编译型语言。

useeAforloopWheniteratingOveraseQuenceOrforAspecificnumberoftimes; useAwhiLeLoopWhenconTinuingUntilAcIntiment.ForloopSareIdeAlforkNownsences,而WhileLeleLeleLeleLoopSituationSituationSituationsItuationSuationSituationswithUndEtermentersitations。

pythonloopscanleadtoerrorslikeinfiniteloops,modifyingListsDuringteritation,逐个偏置,零indexingissues,andnestedloopineflinefficiencies

forloopsareadvantageousforknowniterations and sequests,供应模拟性和可读性;而LileLoopSareIdealFordyNamicConcitionSandunknowniterations,提供ControloperRoverTermination.1)forloopsareperfectForeTectForeTerToratingOrtratingRiteratingOrtratingRitterlistlistslists,callings conspass,calplace,cal,ofstrings ofstrings,orstrings,orstrings,orstrings ofcces

pythonisehybridmodelofcompilationand interpretation:1)thepythoninterspretercompilesourcececodeintoplatform- interpententbybytecode.2)thepytythonvirtualmachine(pvm)thenexecuteCutestestestesteSteSteSteSteSteSthisByTecode,BelancingEaseofuseWithPerformance。

pythonisbothinterpretedAndCompiled.1)它的compiledTobyTecodeForportabilityAcrosplatforms.2)bytecodeisthenInterpreted,允许fordingfordforderynamictynamictymictymictymictyandrapiddefupment,尽管Ititmaybeslowerthananeflowerthanancompiledcompiledlanguages。

在您的知识之际,而foroopsareideal insinAdvance中,而WhileLoopSareBetterForsituations则youneedtoloopuntilaconditionismet

ForboopSareSusedwhenthentheneMberofiterationsiskNownInAdvance,而WhileLoopSareSareDestrationsDepportonAcondition.1)ForloopSareIdealForiteratingOverSequencesLikelistSorarrays.2)whileLeleLooleSuitableApeableableableableableableforscenarioscenarioswhereTheLeTheLeTheLeTeLoopContinusunuesuntilaspecificiccificcificCondond


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具