Python杂谈——Python都能干什么?

[复制链接]
pili3761 发表于 2017-12-31 06:54:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Python 今年 28 岁了。尽管它比我的许多读者年纪还要大,但是仍然受到高度的关注,因为它可以被应用于如今你所能想得到的相当多的软件开发和操作场景。要管理本地或者云基础设施吗?Python可以。开发网站?OK,它也能行的。需要处理一个 SQL 数据库?可以。需要为 Hive 或者 Pig 定制一个功能?能做到。只是想为自己构建一个小工具?Python 就是最好的选择。需要一门支持面向对象设计的语言?Python 的特性就能满足啦。简而言之,将 Python 了解得更加深入一点点,就能让你具备可以适应范围更宽泛的工作角色的技能。
5 f* _3 f* D& d, s  c7 \9 K# y0 o7 `$ @8 e: O" d
! q  C; p. E; @, y6 Y% `
对这方面感兴趣,想要学习python或者想要了解python可以加群:623715703- Q' n" y. j7 Z7 E
、Python 只适合测试?/ Z/ L7 V3 x( l% [' ~

8 `, b5 c0 V! y" b关于Python是一种什么样的语言,这里不打算说对象、类之类的术语。我们可以先来看一看,时至今日 Python 都在哪些领域里得以应用:% L8 f1 M6 [7 G4 O" s7 C
    8 l8 \; Z1 K- k7 d$ ^# j
  • 电信基础设施 (Twilio)
    $ O- C; m2 L) o: E
  • 支付系统 (PayPal, Balanced Payments)
    / u' }  N, U! S8 ^& o% P0 @& b
  • 神经科学和心理学0 A- ]/ y. O! y$ P2 S! @9 `
  • 数值分析和工程 (numpy, numba)
    5 c- e( a" I  f0 F
  • 动画(LucasArts, Disney, Dreamworks)5 t! E* z+ @% q) I
  • 游戏后台 (Eve Online, Second Life…)
    0 W6 ?& M7 I8 g) V) }
  • Email 基础设施 (Mailman, Mailgun)
    5 p4 O2 G9 L& O$ A; ]. ], B0 m
  • 媒体存储和处理 (YouTube, Dropbox)9 a& k$ m7 P4 c9 W8 n8 z8 F9 K
  • 操作和系统管理 (Rackspace, OpenStack)1 ]' N( _- w6 l  @( b! `9 ~
  • 自然语言处理(NLTK)  [5 g# {2 V5 q9 Q0 i
  • 机器学习和计算机版本 (scikit-learn, Orange)% ^  \9 U9 q6 Z5 v, T
  • 安全性和渗透性测试 ( eBay/PayPal )- k) ^/ m) w6 e
  • 大数据 (Disco, Hadoop support)* |  p: o; _0 k  g8 z" u
  • 搜索系统 (ITA, Ultraseek, 还有 Google)" ~4 y! f$ R$ h8 {1 x
  • Internet 基础设施 (DNS) (BIND 10)
    8 U( v+ }; d8 a# l& N! {
: F" u# t  o* u; H! v
对这方面感兴趣,想要学习python或者想要了解python可以加群:623715703: z) |( S% a2 f/ \. G& r. a
在如此之多领域的公司里得到广泛使用的Python,难道只是用在它们的测试部门?至少根据网络上的谣言,豆瓣、Youbute、和 Dropbox 都是以 Python 为主体语言搭建起来的网站。Python 强大的能力(例如:网络处理能力,还有各种扩展包),可以使得程序员们把注意力投放在实现业务上,而不是内存管理,接口设计之类的细节上。+ C9 {3 [. }8 y" M* Q% H
事实上,Python 最常见的应用情形是:
  x  @' o& w3 O  u1.使用 Python 快速生成程序的原型(有时甚至是程序的最终界面,你会喜欢 wxPython 的),
+ \5 S9 O: t. U# M2.对其中有特别要求的部分,使用更合适的语言(尤其是 C/C++)改写。
% K$ V! [( S  J4 B由于 Python 与 C 的天然联系,它们之间的相互调用从来都不是问题。特别是 Python 如何调用 C 在《 Programming Python》的 Chapter 22. Extending Python 部分有介绍。Python 调用 C 的动态/静态库并不是一件复杂的事情。实际上, Python 原生的正则表达式库就是用 C 语言实现的。& ?: I0 ]! J& o2 z
  N. y4 ]9 y5 l
对这方面感兴趣,想要学习python或者想要了解python可以加群:623715703% @+ h, `/ Y& i: J$ k3 r% U* W

/ ~+ A8 @+ ~5 f; I/ V- X: Z( G4 U# ]
三、Python 只是脚本语言?
2 i& I8 `; h; I( V  \: oPython 确实的可以完成脚本语言的功能(使用更简洁的方式)。Shell 工具往往从命令行运行,实现诸如文本文件的处理以及调用其他程序等任务。Python 能做的更多。
6 N8 \" N3 M5 i* z6 h  g2 J有专家称 Python 是大数据全栈式开发语言,在“云基础设施”、“DevOps”、”网络爬虫” 和 “数据处理”领域,Python 都是最流行的语言。
! L1 f, S! C# Z- S8 M/ R, z2 Y1 S对于开源软件向来迟钝的微软参加2015年 PyCon 时高调宣布提高 Python 在 Windows 上的编程体验,包括 Visual Studio 支持 Python,优化 Python 的 C 扩展在 Windows 上的编译等等。脑补下未来 Python 作为 Windows 默认组件的场景。
7 S; X( u2 j* M- A
+ T5 Q; ]$ w! T# p& B. [4 ?" @1 W
. z/ V. W5 u  J% X5 k4 w  P四、Python 之NB
7 ]' p# g6 C# I* F0 r和 Python 之禅(注1)里表述的一样,简单优雅已经深入Python骨髓。正是这个原因,Python 才被认为上手简单,开发快速,程序可读性超强;也正是这些特点,互联网公司更有意愿使用它,因为快速发布是它们的生存之根本。在实践中,程序员可以很直观地发现,用 Python 写的代码通常要比同样的 C/C++ 或 JAVA 程序要短得多。
1 ^, W- v8 ^  e" zPython
% m# l. q8 C( i1 h#!/usr/bin/pythona = 0while(a <= 10):C++
1 N9 N5 T: f; U5 y+ C#include <iostream>int main()能做到这些,是因为Python
1 i/ c/ O8 Z2 g) S- i5 t4 d4.1 变量不需要声明
/ K4 O7 [( h; Z; J这个真的很方便。变量的声明和定义一定会严重打断对代码逻辑的思考,还有对齐的麻烦。内存的管理,这简直都就是 C/C++ 编程中最常见的雷区,由于省略了声明,这也不再是问题了。0 C$ y' J) j( C$ ]" c; q
4.2 缩进而不是
1 V7 R1 f5 r. J' C{) q% A! k, ?+ Y9 Y6 F; @) U, {: a
}
; |( ~3 f. ]9 c, E! PPython 是以缩进来管理代码结构的。这样做有他的优越性:程序员们一定有过漏写 ‘{’ 或者 ‘}’ 的经历。如果使用的编译器或者解释器优秀的话,漏去的’{’ ‘}’的确可以非常容易的加上。但如果不是这样,请在复杂的代码中漫游一会吧。因为可能编译器会通知一个 ‘错误’ 的错误信息,这个错误的位置可能会离你真正错误的地方很远(十万八千里?!)。相对于此,以缩进管理方式的 Python 来说,程序员几乎不用考虑这种问题。其次以缩进方式区分块的Python在进行复杂的嵌套中,Python代码就显得明了许多了。
5 Q7 C  M( `+ Y4 O# C, I8 jPython
& i/ T5 p" M2 P: o, dclass python:C+++ ?: c8 O: w- q4 a9 p
class python相比较来看,Python的代码更能分清其层次,而对于C++这样的代码虽然能够编译成功。但是,对于其日后的维护,会造成无尽的痛苦。由此,可以看出 Python的语法简洁。同时,Python 的查错能力也非常强。在一般情况下,Python的解释器能够准确指出错误的位置和原因。( F  N* u) p! U* [+ A  z
3 K4 \# y! w6 g' `/ F: S% v6 W; K
对这方面感兴趣,想要学习python或者想要了解python可以加群:6237157035 i/ C/ A/ o; C0 m* V
Python 的缩颈唯一没有做好的就是没有指定一定要缩进4个空格。
0 k# c: Z& h' T$ X: o看书不会进步,思考和实践才有成长,自学编程是一个比较枯燥的过程,如果没有正向反馈,学习的积极性很容易被打压下来,所以你应该积极参与到相关的技术圈子中去,尝试去解答力所能及的新手问题,向圈子中的大牛们寻求帮助,善于总结自己所学到的东西,分享给更多的人,记住,你不是一个人在战斗。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

精彩评论1

jhg001002 发表于 2017-12-31 07:54:14 | 显示全部楼层
Python是最有潜力的语言!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图