zoukankan      html  css  js  c++  java
  • Python 能干什么

    二、Python 只适合测试?

    关于Python是一种什么样的语言,这里不打算说对象、类之类的术语。我们可以先来看一看,时至今日 Python 都在哪些领域里得以应用:

    • 电信基础设施 (Twilio)
    • 支付系统 (PayPal, Balanced Payments)
    • 神经科学和心理学
    • 数值分析和工程 (numpy, numba)
    • 动画(LucasArts, Disney, Dreamworks)
    • 游戏后台 (Eve Online, Second Life…)
    • Email 基础设施 (Mailman, Mailgun)
    • 媒体存储和处理 (YouTube, Dropbox)
    • 操作和系统管理 (Rackspace, OpenStack)
    • 自然语言处理(NLTK)
    • 机器学习和计算机版本 (scikit-learn, Orange)
    • 安全性和渗透性测试 ( eBay/PayPal )
    • 大数据 (Disco, Hadoop support)
    • 搜索系统 (ITA, Ultraseek, 还有 Google)
    • Internet 基础设施 (DNS) (BIND 10)

    在如此之多领域的公司里得到广泛使用的Python,难道只是用在它们的测试部门?至少根据网络上的谣言,豆瓣、Youbute、和 Dropbox 都是以 Python 为主体语言搭建起来的网站。Python 强大的能力(例如:网络处理能力,还有各种扩展包),可以使得程序员们把注意力投放在实现业务上,而不是内存管理,接口设计之类的细节上。

    事实上,Python 最常见的应用情形是:

    1.使用 Python 快速生成程序的原型(有时甚至是程序的最终界面,你会喜欢 wxPython 的), 
    2.对其中有特别要求的部分,使用更合适的语言(尤其是 C/C++)改写。

    由于 Python 与 C 的天然联系,它们之间的相互调用从来都不是问题。特别是 Python 如何调用 C 在《 Programming Python》的 Chapter 22. Extending Python 部分有介绍。Python 调用 C 的动态/静态库并不是一件复杂的事情。实际上, Python 原生的正则表达式库就是用 C 语言实现的。


    三、Python 只是脚本语言?

    Python 确实的可以完成脚本语言的功能(使用更简洁的方式)。Shell 工具往往从命令行运行,实现诸如文本文件的处理以及调用其他程序等任务。Python 能做的更多。

    有专家称 Python 是大数据全栈式开发语言,在“云基础设施”、“DevOps”、”网络爬虫” 和 “数据处理”领域,Python 都是最流行的语言。

    对于开源软件向来迟钝的微软参加2015年 PyCon 时高调宣布提高 Python 在 Windows 上的编程体验,包括 Visual Studio 支持 Python,优化 Python 的 C 扩展在 Windows 上的编译等等。脑补下未来 Python 作为 Windows 默认组件的场景。


    四、Python 之NB

    和 Python 之禅(注1)里表述的一样,简单优雅已经深入Python骨髓。正是这个原因,Python 才被认为上手简单,开发快速,程序可读性超强;也正是这些特点,互联网公司更有意愿使用它,因为快速发布是它们的生存之根本。在实践中,程序员可以很直观地发现,用 Python 写的代码通常要比同样的 C/C++ 或 JAVA 程序要短得多。


    Python

    #!/usr/bin/python
    
    a = 0
    while(a <= 10):
        a = a + 1
        print 'The number is '+a
    print 'while is end'

    C++

    #include <iostream>
    
    int main()
    {
        int a = 0;
        while( a <= 10)
        {
            a = a + 1;
            cout<<"The number is "<<a<<endl;
        }
        cout<<"while is end"<<endl;
    }

    能做到这些,是因为Python

    4.1 变量不需要声明

    这个真的很方便。变量的声明和定义一定会严重打断对代码逻辑的思考,还有对齐的麻烦。内存的管理,这简直都就是 C/C++ 编程中最常见的雷区,由于省略了声明,这也不再是问题了。

    4.2 缩进而不是 { }

    Python 是以缩进来管理代码结构的。这样做有他的优越性:程序员们一定有过漏写 ‘{’ 或者 ‘}’ 的经历。如果使用的编译器或者解释器优秀的话,漏去的’{’ ‘}’的确可以非常容易的加上。但如果不是这样,请在复杂的代码中漫游一会吧。因为可能编译器会通知一个 ‘错误’ 的错误信息,这个错误的位置可能会离你真正错误的地方很远(十万八千里?!)。相对于此,以缩进管理方式的 Python 来说,程序员几乎不用考虑这种问题。其次以缩进方式区分块的Python在进行复杂的嵌套中,Python代码就显得明了许多了。


    Python

    class python:
        def Hello(self):
            print 'Hello'
        def count(self, n):
            in = 0
            while( in <= n):
                in = in + 1
                print in

    C++

    class python
    {
    public:
        void Hello(void)
        {
            cout<<"Hello"<<endl;
        }
        void count(int n)
        {
            int in = 0;
            while(in <= n)
            cout<<in<<endl;
        }
    };

    相比较来看,Python的代码更能分清其层次,而对于C++这样的代码虽然能够编译成功。但是,对于其日后的维护,会造成无尽的痛苦。由此,可以看出 Python的语法简洁。同时,Python 的查错能力也非常强。在一般情况下,Python的解释器能够准确指出错误的位置和原因。

    Python 的缩颈唯一没有做好的就是没有指定一定要缩进4个空格。

  • 相关阅读:
    net数据库连接池配制
    SEO关键词工具推荐
    WEB建站之网站宣传
    CVS 与vss的异同
    在SQLSERVER2000中对同一个数据库多张表进行查询时怎样避免笛卡儿乘积???
    session与cookies的区别
    SQL 新增/修改 表字段列的类型等
    asp.net2.0控件treeview绑定数据以及全选操作
    asp.net2.0 泛型相关
    索引基础知识
  • 原文地址:https://www.cnblogs.com/momoyan/p/9144386.html
Copyright © 2011-2022 走看看