零基础学Python应该学习哪些入门知识

百度上有很多关于如何在没有基础知识的情况下快速学习Python的问答。
你可以去百度查一下。
从个人自学的角度来看,我认为我们需要了解以下几个方面:

1你为什么选择学习Python?

根据2018年5月HackerRank开发者调查报告(见图),统计数据显示,更多学习Python的人没有基础或不是专家。
Python占据首位,成为最流行的编程语言。
Python以其优雅和简单而闻名,你可以找到Linux运维、PythonWeb网站工程师、Python自动化测试、数据分析、人工智能等职业。

2开始使用Python需要做哪些准备?

2.1心理准备。
编程是一门艺术或技能。
就像书法、绘画、乐器、雕塑等一样,掌握一项技能需要大量时间的反复练习。
不要着急,也不相信几周内就能很快解决。
编程的世界很广阔。
因此,保持一种令人敬畏的态度去学习和拥抱每一行代码,甚至你写的每一封信。
清醒过来,踏上编程世界的旅程。
第一步非常重要,因为它决定了一个初学者是从初级走向精通,还是一开始就放弃。
选择合适的进入路线并坚持下去。

2.2配置Python学习环境。
你应该选择Python2还是Python3?很多人在刚开始的时候都会感到困惑。
两者只是不兼容的程序,思维方式没有太大差异,语法上也没有太多变化。
您选择从哪一个开始并不重要。
如果你还是拿不定主意,那就选择Python3。
毕竟,这是未来的趋势。

如何选择编辑器?同样,我们推荐pycharm社区版,配置简单,功能强大,使用省时省心,初学者友好,完全免费!不推荐使用notepad++、sublimeText3、vim、Emacs等其他编辑器。

运行环境?Python支持包括Windows、Mac、Linux在内的所有现有主流操作平台。
后者都默认带有Python环境。

2.3选择自学书籍。
我建议按照由浅入深的顺序阅读和学习书籍内容。

2.3.1《Python简明教程》。
这是一个简洁、全面的Python入门教程:简单、直接、严肃。
即使没有基础,两天也能读完,就像看小说一样。
非常适合初学者快速理解语法。

2.3.2《Python教程》,廖雪峰编写。
先生。
Liao的教程涵盖了Python知识的方方面面,一旦你打下了一定的基础,你会从学习中收获更多。

了解如何安装2.4软件包。
Python有很多扩展包。
有两种方法可以安装这些软件包:

2.4.1使用pip或easy_install。

1)在线查找并下载所需的包。
例如.rsa-3.1.4.tar.gz;

2)解压文件;

3)命令行工具cd使用以下命令切换到包目录:安装它,找到setup.py文件,然后输入pythonsetup.pyinstall。

2.4.2如果没有pip或easy_install,直接打开cmd,输入pipinstallrsa。

3级提升需要耐心和坚持。

完成入门级的基础学习后,你常常会遇到瓶颈,仅仅通过看教程很难进一步提高你的编程水平。
这时候需要的是反复练习、大量练习。
你可以从书中的例子和作业问题开始,编写小程序片段,然后编写整个项目。
我收集了练习题和网站。
您可以根据自己的阶段选择合适的运动进行。
与其简单地只涵盖一个系列,不如选择一两个系列并重点关注它们。

3.1多锻炼。
推荐网站练习:

交叉编程课堂实例:相比于编程课堂中注重单一知识点的基础练习,

编程实例训练的是基础知识的整合。

hackerrank:Python某些部分的难度是渐进的,并适应您的学习曲线。

建立您的实验室:达到编程水平从做项目开始。

codewar:社区型编程练习网站,内容由易到难

leetcode:编程面试准备,对于初学者来说稍难;

牛客网:提供BAT等各大公司笔试题。

codecombat:边玩边编程;

projecteuler:纯粹的编程练习网站;

初学者教程100个例子:基于py2的基础练习;

投影机面临的诸多问题3.2妥协。

3.2.1善用搜索引擎。

3.2.2向各大网站寻求帮助。
推荐

stackoverflow:这是程序员的知识库。

v2ex:国内非常好的编程社区,不仅包括程序,还包括程序员的生活。

segmentfault:专注于编程问答的网站;

CSDN、知乎、简书等

3.2.3加入百度知道的相关QQ、微信群。
如果您不明白,可以随时寻求建议。

史上最详细的网络编程实战教程

本文介绍libhv,一个比libev、libev、libuv更容易使用的跨平台网络库。
目标是提供网络编程实用教程,帮助读者更好地理解TCP/UDP/SSL/HTTP/WebSocket网络编程。

libhv提供了具有非阻塞IO和计时器的事件循环,适合开发TCP/UDP/SSL/HTTP/WebSocket客户端/服务器。
项目地址:github.com/ithewei/libhv代码云图片:gitee.com/libhv/libhv.gitee.comQQ技术交流群:739352073libhv博客专栏:hewei.blog.csdn.net/catlibhv源码分析:blog.csdn.net/qu1993/calibhv教程00--目录libhv是一个跨平台的网络库,适合TCP/UDP/SSL/HTTP/WebSocket客户端/服务器的开发。
libhv教程01--简介与体验libhv是一个高性能事件循环库,意为高性能事件循环库(highPerformanceEventLoopLibrary)。
Linux和Mac用户可以直接运行Get_started.sh脚本来体验libhv编写的http服务器httpd和http客户端curl的便利。
执行效果如下:httpd和curl代码是examples目录下完整的命令行程序。
可以直接通过浏览器访问,在地址栏输入:127.0.0.1:8080/、127.0.0.1:8080/downloads/、127.0.0.1:8080/ping。
Libhv教程02——编译与安装Libhv提供两种构建方法:Makefile和cmake。
类Unix系统建议使用Makefile,Windows平台编译建议使用cmake。
确保已安装openssl或自行安装。
libhv源码编译通过githubActions保证在三大主要平台(linux、windows、macosx)上顺利编译。
libhv教程03--链库及使用生成头文件和库文件后,编写测试程序来验证链库。
有关测试代码的示例,请参阅examples/hmain_test.cpp。
编译运行后可以看到hmain_test程序提供了打印帮助信息、打印版本信息等功能。
libhv教程04--编写一个完整的命令行程序一个完整的命令行程序应该具备哪些功能?Libhv提供了示例代码hmain_test,实现参见examples/hmain_test.cpp。
编译运行后可以看到程序具有打印帮助信息、打印版本信息、测试配置文件、运行后台等功能。
libhv教程05——轻松使用事件循环和定时器事件循环概念的初步解释对于理解网络编程至关重要。
libhv的事件模块封装了多个平台的IO复用机制,并提供了统一的事件接口。
该模块包括IO事件、定时器事件、空闲事件和自定义事件。
Libhv教程06-创建一个简单的TCP服务器以TCPechoserver为例,使用libhv创建一个TCP服务器。
编译运行后,类Unix系统可以使用nc作为客户端测试,Windows端可以使用telnet作为客户端测试。
libhv教程07--创建一个简单的TCP客户端完整的TCP/UDP客户端程序参见examples/nc.cc++版本的示例代码参见evpp目录下的TcpClient_test.cpp。
Libhv教程08--创建一个简单的UDP服务器以UDPechoserver为例,使用libhv创建一个UDP服务器。
编译运行后,可以使用nc作为客户端进行测试。
libhv教程09--创建一个简单的UDP客户端完整的TCP/UDP客户端程序参见examples/nc.cc++版本的示例代码参见evpp目录下的UdpClient_test.cpp。
libhv教程10--创建一个简单的HTTP服务器以HTTP协议为例,使用libhv创建一个HTTP服务器。
c版本示例代码参见examples/http_server_test.cppc++​​版本示例代码参见evpp目录中的HttpServer_test.cpp。
libhv教程11--创建一个简单的HTTP客户端完整的HTTP客户端示例代码请参见examples/curl.cpp,它模拟了curl命令行程序的实现。
libhv教程12--创建一个简单的WebSocket服务器以WebSocket协议为例,使用libhv创建一个WebSocket服务器。
示例代码请参见examples/websocket_server_test.cpp。
libhv教程13--创建一个简单的WebSocket客户端WebSocket客户端示例代码参考examples/websocket_client_test.cpp。
libhv教程14-实现纯C版本的jsonrpc框架使用libhv在200行内实现一个jsonrpc框架。
使用libhv提供的hio_set_unpack接口来设置解包规则,这样可以节省处理粘包和子包的成本。

libhv教程15--实现一个C++版本的protorpc框架在200行内实现一个C++版本的protorpc框架,使用evpp模块+protobuf实现。
创作不易,如果您觉得不错,请在github上star。