Python这几年很火,在这里我用问答的方式来总结一下使用python的一些常见问题,对自己是个总结,也希望对有同样问题的朋友有帮助。
 
Q:Python为什么流行?
A:Python是一个比较方便的跨平台脚本语言。对于像我这种从C#转型Java的程序员,我更希望用python在Linux写脚本,而不用shell script,因为shell script实在不好懂。Python近几年的流行要归功于numpy和pandas,以及大数据和数据分析的流行。这些库使python成为数据分析的不二选择。
 
Q:Python 2.7和Python 3+用哪个?
A:如果用python做些小项目,写些分析数据的脚本,其实2.7就够用了。而且主流Linux一般都有python2.7,属于拿来就用,其实挺好的。但是如果开发大型项目,那么最好还是python3,特么是需要使用coroutine的时候,用python3原生的方法更好。但是如果项目中会使用很多第三方库的话,最好预先检查一下这些库有没有python3的版本。一般主流的库现在都支持python3了。
 
Q:PyPy还是CPython?
A:先说一下PyPy是啥。PyPy是一个用python实现的python虚拟机。相比CPython,由于PyPy大量使用了JIT优化,所以运行速度比CPython要快很多。但是,一些重要的第三方库,像Pandas和numpy都不支持pypy,这也就严重限制了Pypy的实用性。同时在python中有个叫Global Interpreter Lock(GIL)的东西,这从本质上限制了python语言的高并发执行效率,所以如果追求性能的话,golang可能会比pypy更合适。
 
Q:Windows还是Linux?
A:开发python还是用Linux吧,在windows 下开发很别扭,conda啥的真的不是很好用。在windows下写脚本就更用不到python 了。Powershell这个微软推崇的东西更好用一点。
 
Q:Pydev还是Pycharm?
A: 这个看个人习惯。很多用python 的人都是Java程序员,用eclipse 的会觉得Pydev更好,用IntelliJ的会觉得Pycharm更好用。
 
Q:Pypi是啥?
A:Pypi是类似nuget和maven的东西。用于管理第三方库。注意pypi是没有org的概念的。所以如果你的库和上面已经有的库重名的话,那你就只能改名了。所以如果准备把自己的库发到pypi上的话,最好先查查名字有没有已经被使用。
 
Q:Python开发环境有什么不同?
A:相比开发Java或者C#这种静态语言,开发Python可以通过使用REPL大幅提高效率。通过交互式命令行,我们可以把调试需要的数据都预先读好,再通过shell来进行交互式的编程。这种编程方式节约了调试时启动程序的时间,可以大大提高编程效率。在这里强力推荐使用ipython。
 
Q:Python适合编程新手么?
A:现在很多学校把python作为学生的第一编程语言。这个我个人认为并不好。Python语言过于灵活,并不适合新手打好编程基础。没有很好编程习惯的程序员在面对几万行python的项目的时候会非常不知所措,他们写的代码也会很难维护。
 
Q:Jupyter ipython notebook要不要用?
A:现在很多cloud平台提供免费的noteobok来使用,个人只推荐进行简单的数据分析和demo的时候用。因为notebook的代码不好进行版本控制和单元测试。单元测试对于python来说太重要了。
 
Q:Python有哪些常用的库?
A:环境配置:virtualenv,pip
网页编程:Django,pyramid或者flask
数据库:sqlalchemy,alembic
数据分析:numpy,pandas,matplotlib,scikit-learn
单元测试:pytest,mock
 
这里先写10个,以后想起来啥再慢慢加。
 

Python那些事的更多相关文章

  1. [Python] 糗事百科文本数据的抓取

    [Python] 糗事百科文本数据的抓取 源码 https://github.com/YouXianMing/QiuShiBaiKeText import sqlite3 import time im ...

  2. python 糗事百科实例

    爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath / re 做数据提取 获取每个 ...

  3. 孤荷凌寒自学python那些事第二天

    孤荷凌寒自学python第二天 Python的变量声明 (完整学习过程屏幕记录视频在文末,手写笔记在文末) Python的变量声明不必要显式指定变量类型 甚至也不需要进行显式的声明 比javascri ...

  4. 孤荷凌寒自学python那些事第一天

    孤荷凌寒自学python第一天 初识python (学习过程的完整录像分享链接在文末,手写笔记图片在文末) 一种编程语言,首先是它的语言的基本架构,python总体让人耳目一新: 今天其实只接触到了它 ...

  5. python溴事百科爬虫

    import urllib.request import re # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 def jokeCr ...

  6. Python/MOOC /翻Wall和互联网编程的那些事

    Python MOOC 翻Wall和互联网编程的那些事 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系 ...

  7. 关于Python编程的一些问答

    关于Python编程的一些问答 导语 大约1个月前,oschina.net和华章图书一起合作做了一个活动:OSC第51期高手问答--聊聊python那些事,来推广我参与撰写的书<编写高质量代码: ...

  8. python常见用法

    1.冒泡排序 a = [25,15,47,36,44,455,67,234,7,8,-47] def sortport(): for i in range(len(a)-1): for j in ra ...

  9. 神级程序员通过两句话带你完全掌握Python最难知识点——元类!

    千万不要被所谓"元类是99%的python程序员不会用到的特性"这类的说辞吓住.因为 每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生 ...

随机推荐

  1. 01-Flutter移动电商实战-项目学习记录

    一直想系统性的学习一下 Flutter,正好看到该课程<Flutter移动电商实战>的百度云资源,共 69 课时,由于怕自己坚持不下去(经常学着学着就不学了),故采用博客监督以记之. 1. ...

  2. laravel5.2总结--请求

        1 获取请求 1.1 获取请求的 URI 1>path 方法会返回请求的 URI.所以,如果接收到的请求目标是 http://domain.com/foo/bar,那么 path 方法就 ...

  3. 配置网络策略中的 NAP 条件

    TechNet 库 Windows Server Windows Server 2008 R2 und Windows Server 2008 按类别提供的 Windows Server 内容 Win ...

  4. git+jenkins持续集成一:git上传代码

    先注册一个账号,注册地址:https://github.com/ 记住地址 下载git本地客户端,下载地址:https://git-scm.com/download/win 一路next傻瓜安装,加入 ...

  5. Selenium - WebDriver: Page Objects

    This chapter is a tutorial introduction to page objects design pattern. A page object represents an ...

  6. 在Myeclipse8.5中安装findbugs方法

    step 1:首先从官网下载findbugs插件:http://downloads.sourceforge.net/project/findbugs/findbugs%20eclipse%20plug ...

  7. File IO(NIO.2):路径类 和 路径操作

    路径类 Java SE 7版本中引入的Path类是java.nio.file包的主要入口点之一.如果您的应用程序使用文件I / O,您将需要了解此类的强大功能. 版本注意:如果您有使用java.io. ...

  8. 字符串匹配算法(在字符串T中查找是否有与字符串P相同的子串)

    T称为目标串(Target)或主串 ,P称为模式串(Pattren) 或子串 1. 简单字符串模式匹配算法 原理:用字符串P的字符依次与字符串T中的字符进行比较,首先将字符串P从第0个位置起与主串T的 ...

  9. get_class 方法

    get_class 返回对象的类名 get_class (PHP 4, PHP 5) get_class — 返回对象的类名 说明 string get_class ([ object $obj ] ...

  10. PYTHON资源入口汇总

    Python资源入口汇总 官网 官方文档 教程和书籍 框架 数据库 模板 工具及第三方包 视频 书籍 博客 经典博文集合 社区 其他 整理中,进度30% 官网 入口 官方文档 英文 document ...