我是靠谱客的博主 机灵枕头,最近开发中收集的这篇文章主要介绍C++到Python学习浅谈,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为什么要学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学习浅谈所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部