为什么使用python

  • 软件质量:

    可读写、一致性、软件质量
    支持软件开发的高级重用机制

  • 提供开发者的效率:

    代码只有java或C++的1/5~1/3
    无须编译链接,提高了程序原的效率

  • 程序的可移植性:

    用户图像界面、数据库接入、基于Web的系统等

  • 标准库的支持:
  • 组件集成:

    可以调用C或C++的库
    可以被C和C++程序调用
    可以于Java组件集成

软件质量:

简洁和高可读性的语法
极简主义的设计理念:尽管实现某一编程任务通常有许多种方法,往往只有一种方法是显而易见的
python采用模块化设计、OPP在内的一些工具来提示程序的可重用性

开发效率:
  python付出较少的精力完成更多的任务
  简洁的语法、动态类型、无需编译、内置工具包

Python是“脚本语言”吗:
  python是一门多种用途的编程语言,时常在扮演脚本语言的角色
  python可定义为面向对象的脚本语言
  人们往往以“脚本”而不是“程序”描述python的代码文件
  “脚本”往往倾向于描述简单的顶层代码文件
  “程序”则用来描述那些相对复杂一些的多文件

 人们对Python冠以的三个不同角色:

  • Shell工具:

实现诸如文本文件的处理以及调用其他程序等任务
python不只是一种很好的Shell脚本语言

  • 控制语句:

测试硬件设备时,应用程序可以调用python代码,而无需分发或者重新编译整个系统代码

  • 快捷使用:

python的易用性和灵活性使编程任务变得简单
常用于快速作业任务和长期战略开发

Python的缺点是什么:
  Python没有将代码编译成底层的二进制代码,Python程序将会比C这样的完全编译的语言慢一些
  Python开发速度带来的效益往往比执行速度带来的损失更为重要,而现代CPU越来越快

使用Python可以做些什么:

  • 系统编程:

Python对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(Shell工具)的理想工具
Python程序可以搜索文件和目录树、可以运行其他程序、用进程或线程进行并行处理等
Python的标准库绑定了POSIX以及其他常规的操作系统(OS)工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、Shell命令启动器、文件名扩展等

  • 用户图像接口:

Python内置了TKinter的标准面向对象接口Tk GUI API,使Python程序可以生成可移植的本地观感的GUI

  • Internet脚本:

Python提供了标准Internet模块,能广泛地在多种网络任务中发挥作用
脚本可以通过套接字进行通信、通过FTP传输文件、通过URL获取网页、通过XML-RPC、SOAP和Telnet通信等

  • 组件集成:

Python可以通过C/C++系统进行扩展,并能够嵌套C/C++系统的特性
将Python嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制

  • 数据库编程:

  Python提供了对所有主流关系数据库的接口

  • 快速原型:

Python或C编写的组件看起来都是一样的,可以在一开始利用Python做系统原型,之后再将组件移植到C或C++这样的编译语言上。当原型确定后,Python不需要重写

  • 数值计算和科学计算编程:

Python提供对矩阵对象、标准数学库的接口

  • 游戏、图像、人工智能、XML、机器人等

利用pygame系统使用Python对图形的游戏进行编程
利用PsSerial扩展在Windows、Linux以及更多系统上进行接口通信
用PIL、PyOpenGL、Blender、Maya和其他的一些工具进行图像处理
用xml库、xmlrpclib模块和其他一些第三方扩展进行XML解析
......

Python有那些技术上的优点:

  • 面向对象:

    Python是一种面向对象的语言,支持多态、操作符重载和多重继承等高级概念

  • 免费:

  Python的使用和分发都是完全免费的

  • 可移植性:

  Python的标准实现是由可移植的ANSI C编写的
  Python可以在下列平台上运行:
  Linux和UNIX、Windows和DOS、Mac OS、BeOS等等

  • 功能强大:

  Python是一个混合体,丰富的工具使他介于传统的脚本语言(Tcl、Perl)和系统语言(C、C++)之间

    • 动态链接:

  Python在运行过程中随时跟踪对象的种类,不需要代码中关于复杂的类型和大小的声明

    • 自动内存管理:

  Python自动进行对象分配,当对象不再使用时将自动撤销对象("垃圾回收")

    • 大型程序支持:

  为了能够建立更大规模的系统,Python包含了模块、类、和异常处理工具

    • 内置对象类型:

  Python提供了常用的数据结构作为语言的基本组成部分,例如:列表(list)、字典(dictionary)、字符串(string)

    • 内置工具:

  Python自带了许多强大的标准操作,包括合并(concatenation)、分片(slice)、排序(sort)和映射(mapping)

    • 库工具:

  Python预置了许多预编译的库工具,从正则表达式匹配到网络都支持

    • 第三方工具:
  • 可混合:

  Python的C语言可以帮助Python程序灵活地调用C程序
  Python于C或者C++写出的库文件混合起来,使Python成为一个前端语言和定制工具

  • 简单易用:

  运行Python程序,至需要简单键入Python程序并运行就可以了,不需要其他语言所必须的编译和链接等中间步骤

  • 简单易学:

  Python语言的核心是非常简单易学

Python彩蛋:
  要了解完整的Python哲学理想,在任意一个Python交互解释器中键入import this命令。描述了一系列Python的设计原则

Python是工程,不是艺术:
  Python的创立者所受的是数学家的训练,Python就像数学一样,其设计也具有正交性(orthogonal),例如:移动掌握Python的多态,剩下的就只是细节而已
  编写独特、充满技巧性的代码,常常是Perl用户之间的骄傲来源强,Perl是描述性语言
  Python最有利于Perl这列描述语言:是Python的语法模型几乎会强迫用户编写可读的代码,代码在首次编写后能够长期使用

1-了解Python的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. jquery插件开发(checkbox全选的简单实例)

    html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  2. XStream将xml文件拼成字符串

      1.引入的包 <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId&g ...

  3. Android(java)学习笔记125:Clock app编写报错02

    1.首先之间看错误: 07-13 10:07:55.354: E/AndroidRuntime(8008): FATAL EXCEPTION: main 07-13 10:07:55.354: E/A ...

  4. Joseph cicyle's algorithm

    约瑟夫环问题: 输入:1)总共人数:2)每次被杀的序号数: 输出:最后一个活着的序号 python代码如下: n=int (input('please input the number of peop ...

  5. Cadence画封装的步骤

    画封装的步骤 打开 pad designer       through 通孔       single  表贴      在焊盘设置时,soldermask层要比pastmask大0.1毫米     ...

  6. show variables 详解

    back_log MySQL主线程检查连接并启动一个新线程这段时间内,可以设置多少个请求可以被存在堆栈中 connect_timeout 连接超时 检测方法nmap -p3306 数据库ip dela ...

  7. CentOS下安装福昕PDF软件

    官方下载地址:http://www.foxitsoftware.cn/downloads/ tar -jxvf foxreader.tar.bz2问题:下载官方包以后解压,双击不能打开,也没有任何提示 ...

  8. 【MINA】心跳机制

    列上两篇好文章 http://www.cnblogs.com/pricks/p/3832882.html http://blog.csdn.net/cruise_h/article/details/1 ...

  9. zabbix的邮件报警

    邮件报警插件 #!/usr/bin/python #coding:utf-8 import smtplib from email.MIMEText import MIMEText import os ...

  10. Java parseInt_使用此方法得到的原始数据类型的一个特定的字符串

    Java parseInt解释加方法示例     使用此方法得到的原始数据类型的一个特定的字符串. parseXxx()是一个静态方法,可以有一个参数或两个         java parseInt ...