草庐IT

第一次接Python私活儿,3000块

编程小蓝 2023-04-03 原文

1

在大三的时候,参加了一次四川省的大学生网络安全竞赛,对其中有一道题目印象非常深刻。

这道题要求网络编程构造一些特殊的TCP数据包绕过防火墙拿到服务器上的一个文件,里面有通关的key。

这道题目需要对TCP报文格式非常熟悉,同时还要具备网络编程、文件处理能力。

当我还在那里吭呲吭呲地用C语言编写原始套接字网络通信部分的代码时,隔壁组的已经拼凑完成通关了!

后来在答辩环节我才知道,原来他们用的不是C语言,而是一个叫Python的语言,只用了几行代码就完成了这个功能!那是我第一次听说这个语言,不知道是干啥用的,但有被震惊到。

2

毕业以后,开始工作了,有一次接了一个私活儿。

这单活是需要开发一个爬虫+挂号于一体的软件,3000块钱,对于当时的我算是不少钱(不对,对现在的我也是不少钱)。

软件自动扫描医院网站的号源,自动挂号并发短信通知,具体是哪个医院我就不方便说了。

那时候我还是只会C/C++啊,利用业余时间写了一个星期,实在是太麻烦了,尤其是网络通信、字符串处理、网页解析等等,用C++写开发效率实在太低了,还容易一言不合就崩溃。

虽然那时候我不会,但也总还是知道,在爬虫领域,Python才是王道!

于是我下定决心把Python作为我的第二编程语言,买了一本《Python核心编程》开始啃起来。

你还别说,有其他编程语言的功底,再加上面向搜索引擎编程,一个星期后我就能用Python来做这一单私活儿了。

有了Python的加持,自己能做的东西更多了。

后来又逐步学习了Django、Flask两大web框架,开始能接网站后台开发的活了,而这些是我之前C/C++技术栈很难做的。

顺带说一句,我曾经在一个项目中用C++写web服务器,完全自己实现HTTP协议的解包和封包,还有RESTful接口框架的实现,那滋味儿之酸爽,相信做过的都深有体会吧,不过确实挺能锻炼人的。

3

前不久,媳妇儿邀请她的高中同学,还在读新闻传播学博士,来家里吃饭,在吃饭的时候,她同学竟然问我如何学Python。

我当即有点吃惊,怎么连博士,还是新闻传播学的都要来学编程了?

她告诉我,她们读博士要做很多社会调查课题,有很多数据处理、统计分析的事情要做,学校的导师要求她们能够用Python去做这些事情。

吃惊之余,也感慨Python这家伙影响力真是越来越大了,一个曾经我瞧不起的脚本语言,如今居然这么香,真是啪啪打脸了!

这一切都归功于Python这门语言的两大特点:

1、简单,易上手

2、强大,能做很多事儿

不管是对于从未从事过编程的新人,还是已经掌握了其他语言的编程老手,Python都是一个非常给力的加分项。

而网络上学习Python的资料也是五花八门,良莠不齐。如果你问我推荐什么,我推荐极客时间,口碑靠谱,质量过硬,不会玩什么1元甚至0元套路你。

如果你是从未接触过Python,在这方面是零基础的话,那我建议你看看尹会生的《零基础学 Python》,这个专栏基于最新 Python 3,通过实际场景来学习,全面讲解标准库、第三方库和机器学习库。另有一个大模块专门讲解爬虫技能,是一个入门 Python 必看的视频课程。现已有 2.3W 用户订阅,跟着这个课程学,从零基础到入门绝对没问题。

从这个思维导图都能看得出内容很扎实啊,图太大看不清楚,你可以关注小编,并私信“01”即可进裙看看,还有免费试看部分。

而如果你有些基础,还想掌握Python的更高阶的技术。那我建议你看看景霄的《Python 核心技术与实战》他的理念就是“从工程的角度去学习语言”。

毕竟想要做到精通 Python,必须真正理解知识概念,适当从源码层面深化认知,然后熟悉实际的工程应用,独立完成项目开发。这个图谱也是出自于缔凡的专栏《Python核心技术与实战》,结合了多年的工作经历,从工程角度,更为实战地梳理了Python核心知识点,从基础数据结构到装饰器、迭代器,再到并发编程、垃圾回收机制等等。可以说,跟着这套学习框架学,你会事半功倍的掌握Python。

在这里还是要推荐下我自己建的Python学习Q群:705933274,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

 

有关第一次接Python私活儿,3000块的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  3. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  4. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  5. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  6. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  7. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  8. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  9. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  10. Python 刷Leetcode题库,顺带学英语单词(31) - 2

    ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem

随机推荐