查看: 3974|回复: 16
收起左侧

[Tribon] 学习Python语言

[复制链接]
发表于 2014-2-9 22:05 | 显示全部楼层 |阅读模式 来自: 中国上海
学习Python语言

我爱Python.pdf

390.88 KB, 下载次数: 82

售价: 2 金币  [记录]

回复

使用道具 举报

龙船学院
发表于 2014-2-9 22:27 | 显示全部楼层 来自: 中国山东青岛
这个软件在船舶中有什么作用,求楼主详细解释
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-10 19:46 | 显示全部楼层 来自: 中国上海
宇智波。。无名 发表于 2014-2-9 22:27
这个软件在船舶中有什么作用,求楼主详细解释

1 基本概念编辑本段
  Python(KK 英语发音:/'paɪθɑn/, DJ 英语发音:/ˈpaiθən/)是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于19***底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

2 主要特点编辑本段
  简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
  易学:Python极其容易上手,因为Python有极其简单的语法。
  免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
  高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
  可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
  解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
  运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
  在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
  面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
  可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
  可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
  丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试线程数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
    规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。

3 基本术语编辑本段
3.1 局限
  强制缩进:这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。
  单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

3.2 应用
    系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
  图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
  数学处理:NumPy扩展提供大量与许多标准数学库的接口。
  文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
  数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,Mysql、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
  网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
  Web编程:应用的开发语言,支持最新的XML技术。
  多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

4 发展历程编辑本段
  Python的创始人为Guido van Rossum。19***圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
  ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。
  就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

5 其他资料编辑本段
5.1 风格
  Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
  设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。 
  Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。
  一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

5.2 执行
  Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python 虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。
  基于C的Python编译出的字节码文件,通常是.pyc格式。


回复 支持 反对

使用道具 举报

发表于 2014-2-11 21:33 | 显示全部楼层 来自: 中国山东青岛
非常感谢,只是这个软件在船舶行业能用上么???
回复 支持 反对

使用道具 举报

发表于 2014-6-10 21:16 | 显示全部楼层 来自: 中国福建厦门
没见过的东西
回复 支持 反对

使用道具 举报

发表于 2014-6-19 22:15 | 显示全部楼层 来自: 中国上海
爬虫语言仍然是文本化语言,在文本化语言算好的的,但在编程语言领域也不算非常好的,哈哈。据说这后来诞生了R语言,D语言说是很有潜力。不知情况如何。
其实,我最钟爱的是图形化语言
回复 支持 反对

使用道具 举报

发表于 2014-6-19 22:33 | 显示全部楼层 来自: 中国广东深圳
有时间看一下这个书籍,有时间还得问一下楼主问题好么。。
回复 支持 反对

使用道具 举报

发表于 2014-6-19 22:36 | 显示全部楼层 来自: 中国陕西西安
学习了!谢谢
回复 支持 反对

使用道具 举报

发表于 2014-6-19 22:42 | 显示全部楼层 来自: 中国上海
实际上就语言的简单易用性而言,在我发现PROCESSING后,我果断不折腾“爬虫”!
因为自己折腾这语言不是为了船舶,个人认为这是截至目前认为文本化编程语言中最简单的语言。而且功能强大!
回复 支持 反对

使用道具 举报

发表于 2014-6-19 22:45 | 显示全部楼层 来自: 中国上海
Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production
回复 支持 反对

使用道具 举报

发表于 2014-6-19 22:47 | 显示全部楼层 来自: 中国上海
This simple example shows how to use the library:

import processing.dxf.*;

boolean record;

void setup() {
  size(500, 500, P3D);
}

void draw() {
  if (record) {
    beginRaw(DXF, "output.dxf");
  }

  // Do all your drawing here
  if (record) {
    endRaw();
    record = false;
  }
}

void keyPressed() {
  // Use a key press so that it doesn't make a million files
  if (key == 'r') {
          record = true;
  }
}



实现DXF格式文件转换程序就是这样简单的程序。简单,易懂,看着也舒服
回复 支持 反对

使用道具 举报

发表于 2014-7-20 14:45 | 显示全部楼层 来自: 中国山东威海
好资料,谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2014-11-9 16:08 | 显示全部楼层 来自: 中国福建福州
luguo ,dingyixia.
回复 支持 反对

使用道具 举报

发表于 2014-12-21 17:20 | 显示全部楼层 来自: 中国天津
下载了,谢谢
回复 支持 反对

使用道具 举报

发表于 2014-12-22 12:41 | 显示全部楼层 来自: 中国湖南
扣了钱怎么不能下载呀
回复 支持 反对

使用道具 举报

发表于 2014-12-22 20:26 | 显示全部楼层 来自: 中国江苏南京
下载了,这教程不错,面向初学者
回复 支持 反对

使用道具 举报

发表于 2015-3-29 21:27 | 显示全部楼层 来自: 中国辽宁葫芦岛
扣了钱怎么不能下载呀
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|标签|免责声明|龙船社区

GMT+8, 2024-9-21 02:48

Powered by Imarine

Copyright © 2006, 龙船社区

快速回复 返回顶部 返回列表