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. requireJS入门学习

    前言 最近网上.群里各种随便看,随便学.暑期实习还没找到,昨天开题过了,好好学习吧.最近一直看到前端的ADM,CMD规范,然后网上各种找资料看,看了好几个牛人的博客,写的很好,然后自我感觉了解了点,介 ...

  2. NodeJs初学者经典入门解析

    Node.js 是一个基于谷歌浏览器JavaScript执行环境建立的一个平台,让JavaScript可以脱离客户端浏览器运行,让 JavaScript具有服务器语言的能力.我们可以使用NodeJs方 ...

  3. 34、Java集合框架List,Map,Set等全面介绍(转载)

      Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构.   Java集合框架的基本接口/类层次结构: java.util.C ...

  4. 隐匿攻击-ICMP

    ICMP隐蔽隧道从入门到精通 概述 众所周知传统socket隧道已极少,tcp.upd大量被防御系统拦截,dns.icmp.http/https等难于禁止的协议(当然还有各种xx over dns/i ...

  5. java包、类、方法、属性、常量命名规则

    必须用英文,不要用汉语拼音 1:包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下,包的命名规则:将公司域名反转作为包名.比如www.sohu.com 对于包名:每个字母都需 ...

  6. redhat--1

    ---------------- ---------------- 免密码ssh远程登录设置 . In host1, copy the ssh-key to the host2 hosts # ssh ...

  7. Hibernate命名策略及配置

    hibernate 表 命名策略         分类:            hibernate2013-02-27 18:46464人阅读评论(0)收藏举报 Hibernate注释下的自定义架构实 ...

  8. DOM的相关概念

    [前面的话]DOM全称是Document Object Model,即文档对象模型.我们常说的html文档其实就是一个DOM树,DOM操作就是在内存中找到DOM树上我们想要的DOM对象,对它的属性进行 ...

  9. VS 2013插件

    http://www.spersky.com/post/vsPlugins.html http://vswebessentials.com/download http://developer.51ct ...

  10. [HDU2829] Lawrence [四边形不等式优化dp]

    题面: 传送门 思路: 依然是一道很明显的区间dp 我们设$dp\left[i\right]\left[j\right]$表示前$j$个节点分成了$i$块的最小花费,$w\left[i\right]\ ...