概述
为什么要学Python
Python入门对大部分coder来说是很简单的事,因为Python实在是太优秀了,语法简洁易懂,同时还有很多的模块支撑。让我们可以把更多的精力放在业务而非造轮子上。我觉得无论是前端或者后端coder都应该学习Python。
- python越来越火,在各个领域都能发挥其作用
- C++写的socket客户端或者服务端程序可以用Python自测,效率高。
- Python源码是开放的,阅读CPython能开阔视野。
- 技多不压身,说不定哪天Python就是您的饭碗呢
C++程序员如何学Python
工欲善其事必先利其器,首先准备pycharm和visual studio2013工具环境
-
学习python的语义、语法、函数、类、包、模块,掌握str list tuple dict 等属性和方法
python和C++都是面向对象编程语言,这部分是很相近的,基本浏览一遍就可以了。 -
再深入理解装饰器、迭代器、协程以及其是为了解决什么问题出现的。
-
结合python源码剖析这本书和源码(用VS能直接编译的)从字节码一点点的看python虚拟机的运行,函数、类的创建、实例的创建等
-
学习python标准库,一个一个的读标准库,这里面是python高质量的代码,这里面需要结合源码中c写的一些模块看,同时需要了解的知识也很多。
例如threading.py模块,那需要结合_threadmodule.c,知道python互斥锁、递归锁、信号量、事件、线程是如何实现的
socket.py模块结合 socketmodule.c,清楚python socket的底层实现,socket读写、accept、listen、超时等如何实现超时。因为这些server.py模块的基础
select.py模块需要懂得IO复用模型,select/epoll/poll等等,我不知道为什么windows下CPython没有用IOCP模型的原因,socket事件可读、可写、异常等异步IO编程方式,是server.py模块的基础。
最让我震撼的是asyncio异步IO结合协程能编写高效率的服务器程序,在以往C++开发服务器程序中大部分都是一个连接请求一个线程(但是连接多了问题就暴露的多了)、可能再好一点的是异步IO(如boost::asio库),但是这些用C++写起来确实很蛋疼。
标准库读的多了,遇到的问题就很多了,例如abc抽象基类、元类、自定义元类,然后再结合CPython源码寻找答案。
重写的__***___函数是如何覆盖掉CPython本身定义的slot的等
说的比较杂,希望自己也再接再厉,克服困难,把Python变成自己的武器
最后
以上就是机灵枕头为你收集整理的C++到Python学习浅谈的全部内容,希望文章能够帮你解决C++到Python学习浅谈所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复