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. 移动Web应用程序开发HTML5篇

    https://software.intel.com/zh-cn/blogs/2012/03/09/webhtml5-offline-web-applications

  2. 可拖动jquery插件

    http://www.open-open.com/ajax/DragDrop.htm http://sc.chinaz.com/info/130722592854.htm http://sc.itcn ...

  3. Struts之准备工作

    *Struts之需要准备的jar包: *Struts之xml配置文件: <?xml version="1.0" encoding="UTF-8"?> ...

  4. 基于 <tx> 和 <aop> 命名空间的声明式事务管理

    环境配置 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可.添加方法: 点击项目右键->Build Path->Add ...

  5. Knights of the Round Table

    Knights of the Round Table Being a knight is a very attractive career: searching for the Holy Grail, ...

  6. python和tensorflow安装

    一.Python安装 python采用anaconda安装,简单方便,下载python3.6的anaconda  linux64的sh安装文件. 1.bash Anaconda-2.1.0-Linux ...

  7. 讲的很详细的一篇关于object equals() & hashCode() 的文章

    转: 讲的很详细的一篇关于object equals() & hashCode() 的文章 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java ...

  8. 汽车加油行驶(cogs 737)

    «问题描述:给定一个N*N 的方形网格,设其左上角为起点◎,坐标为(1,1),X 轴向右为正,Y轴向下为正,每个方格边长为1,如图所示.一辆汽车从起点◎出发驶向右下角终点▲,其坐标为(N,N).在若干 ...

  9. pat 团体天梯赛 L2-004. 这是二叉搜索树吗?

    L2-004. 这是二叉搜索树吗? 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一棵二叉搜索树可被递归地定义为具有下列性质的 ...

  10. 百度识图for windows phone 上线

    原文发布时间为:2013-07-04 -- 来源于本人的百度文章 [由搬家工具导入] 百度识图主要用于找女神,找男神,找美图,找宠物,找图文新闻,找相似图,找原图,还能鉴别头像照片真伪,免得被网络照片 ...