1-了解Python
为什么使用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的更多相关文章
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- Apache执行Python脚本
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...
- python开发编译器
引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- jquery插件开发(checkbox全选的简单实例)
html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- XStream将xml文件拼成字符串
1.引入的包 <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId&g ...
- 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 ...
- Joseph cicyle's algorithm
约瑟夫环问题: 输入:1)总共人数:2)每次被杀的序号数: 输出:最后一个活着的序号 python代码如下: n=int (input('please input the number of peop ...
- Cadence画封装的步骤
画封装的步骤 打开 pad designer through 通孔 single 表贴 在焊盘设置时,soldermask层要比pastmask大0.1毫米 ...
- show variables 详解
back_log MySQL主线程检查连接并启动一个新线程这段时间内,可以设置多少个请求可以被存在堆栈中 connect_timeout 连接超时 检测方法nmap -p3306 数据库ip dela ...
- CentOS下安装福昕PDF软件
官方下载地址:http://www.foxitsoftware.cn/downloads/ tar -jxvf foxreader.tar.bz2问题:下载官方包以后解压,双击不能打开,也没有任何提示 ...
- 【MINA】心跳机制
列上两篇好文章 http://www.cnblogs.com/pricks/p/3832882.html http://blog.csdn.net/cruise_h/article/details/1 ...
- zabbix的邮件报警
邮件报警插件 #!/usr/bin/python #coding:utf-8 import smtplib from email.MIMEText import MIMEText import os ...
- Java parseInt_使用此方法得到的原始数据类型的一个特定的字符串
Java parseInt解释加方法示例 使用此方法得到的原始数据类型的一个特定的字符串. parseXxx()是一个静态方法,可以有一个参数或两个 java parseInt ...