桃李不言,下自成蹊;软件工程师,非某语言的程序员

Python 学习笔记(半ZZ半自己写)

什么是 Python 语言

Python 语言是一种计算机编程语言,作用类似于 c/c++/java/perl/VB/Delphi 等等计算机编程语言,据有非常清晰易读的语法特点,并且是一种高级面向对象的语言,用途非常广泛,并且可以进行扩展。Python 可以运行在 Windows,Linux,FreeBSD,Solaris等等几乎所有的电脑中,也可以运行在手机中,支持 Java 和 .Net 技术。 Python(派森)语言是一种面向对象的用途非常广泛的编程语言,具有非常清晰的语法特点,适用于多种操作系统,可以在Windows和Unix这样的系统中运行。目前在国际上非常流行,正在得到越来越多的应用。Python可以完成许多任务,功能非常强大。Python核心网站是: clip_image001http://www.python.org/ ,其中你可以找到很多资料。如果您第一次使用 Python, 可以下载一个试试。

Python 语言使用方便,不需要进行复杂的编译,用途非常广泛,可以进行各种软件的开发,比如: 网站,图形界面(GUI), 网络编程,数据库编程,图形图像处理,科学计算,手机编程等等。 clip_image002

使用 Python 最多的应该是 Google 公司了(google的云计算平台GAE就支持默认Python),就是人们到处都可以看到的 Google 搜索引擎。微软公司也已经开始提供Python语言的软件了(其中架构在.NET 平台值上的IronPython,让一切变的更有可能)。 全球著名的手机厂商 Nokia 公司早已经开始提供基于Python语言的手机开发软件了。另外,还有很多游戏是用Python开发的。另外一个比较有名的就是 Zope 公司了,还有youtube是全部用Python开发的。国内使用Python的公司并不多,只有一些Web 2.0的公司。但是因其非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行,所以其相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多,随着时间的推移,很多软件公司都会开始规模的使用它。

“Python”这个英文单词的发音似“派森”,因此中文可以称之为派森。

下载和安装

· 请到 clip_image001[1]Python.org下载, 建议下载 2.5+版本,因为其3.0+版本还在测试阶段

Python安装完毕后,会自带一个IDE开发环境IDEL (当然比之VS,那是轻量了不知多少倍),当然你完全也可以使用任何文本编辑器来编写Python,当然如今也有很多可视化的高级IDE开发环境来编写Python程序(如Wing IDE,komodo),如果是使用IronPython那么你也可以使用Visual Studio 来编写Python程序 (传统的Python是使用C实现的即为CPython,其实还有JPython)。

第一个“Hello World”程序

首先在桌面上新建一个记事本文件,同时把名称修改为helloworld.py(python的程序默认使用py作为扩展名,当然你也可以改成其他名字),点击右键使用IDEL打开,当然它是空的。键入

Print “Hello world”

然后按F5 运行程序,程序非常简单,我们可以在特殊的命令行中输出结果:

clip_image004

语法

虽然Python的语法非常简洁,但是也并非一两句话可以讲完,我整理了一些基本点

一、基本概念

1.       数:整数、长整数、浮点数【例:3.23或52.3E-4】、复数【例:(-5+4j)(2.3-4.6j)

2.       字符串:

(1) 在双引号中的字符串与单引号中的字符串的使用完全相同

(2) 利用三引号【'''或"""】,你可以指示一个多行的字符串

(3) 转义符【\】,但在一个字符串行末的单独一个反斜杠用于续行

(4) 自然字符串:通过给字符串加上前缀r或R来指定,这样就保持原样(不转义)

(5)  Unicode字符串:在字符串前加上前缀u或U,例:u"这是unicode"   <o:p></o:p>

3.       变量:使用变量时只需要给它们赋一个值。不需要声明或定义数据类型

4.       标识符:以字母表中的字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成,并且第一个字符必须是字母(大写或小写)或下划线(‘ _ ’)

5.       缩进:在Python,没有使用大括号来而是以缩进的方式来标示语句块,即同一层次的语句必须有相同的缩进

6.       运算符(部分)

(1)    幂运算符**:x**y返回x的y次幂,例:3 ** 4==3 * 3 * 3 * 3

(2)    取整除运算符//:返回商的整数部分,例:4 // 3.0得到1.0

(3)    布尔“非”运算符not

(4)    布尔“与”运算符and

(5)    布尔“或”运算符or

7.       控制流

(1)    if语句:形式如下:(注意if语句在结尾处包含一个冒号,告诉Python下面跟着一个语句块;并且,没有switch语句)

1. if condition:        

2.   statement        

3. elif condition:        

4.   statement        

5. else

6.   statement 

(2)    while语句:形式如下:

1. while condition:        

2.   statement        

3. else:

(3)    for语句:形式如下:

1. for element in collection:        

2.   statement        

3. else

(4)    break语句:形式同其他语言,需要注意的是,如果从for或while循环中终止 ,任何对应的循环else块将不执行

(5)    continue语句:同其他语言

8.       函数:通过def关键字定义。def关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体,例:

1. def function_name():  

2.   statement 

【注】 Python有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings。文档字符串的惯例是一个多行字符串(需使用三引号),它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。(有点类似javadoc,用于函数中,就像java中的method的方法说明)。注意,文档字符串首行紧随函数定义语句,亦即函数体的首行起为文档字符串。

9.       模块:一个模块就是一个python文件,一般是工具集或可重用代码,类似于C#中的工具类。

二、Python内建的数据结构

1.       列表list:变量赋值方式:shoplist = ['apple', 'mango', 'carrot', 'banana']【列表元素可变】

2.       元组array:变量赋值方式:zoo = ('wolf', 'elephant','penguin')【元组元素不可变】

3.       字典dict:变量赋值方式:d = {key1 : value1, key2 : value2 }【类似C#中的hashTable类】

4.       序列:列表、元组和字符串都是序列

(1)    索引操作符:取得列表/元组中的一个元素或字符串的的某个字符

(2)    切片操作符:取得序列的一个切片,连续的元素/字符

(3)    eg:

1. name = 'swaroop'

2. print 'characters 0 is', name[0]       # 's',索引操作符,类似C#

3. print 'characters 1 to 3 is', name[1:3]  # 'wa' 切片操作符,类似C# 中的Substring方法

事实上Python包含的内容还很多很多,如Python和传统的解释型脚本语言不同,它在第一次执行时会编译成字节码,其后执行就直接运行字节码了,这个.NET的DLR有点类似,和Java的虚拟机也类似,总之是将代码转化成更接近机器代码的方式,这样可以提高性能。

我整理了一个Python快速参考指南,如下图所示

python_cheatsheet_Cn_r2_c1

总结:

很多人说C#,Java是工作语言,Python,Ruby是周末语言,事实上语言之间都是互通,多学习一点,可以开阔视野,在敏捷开发这么热门的时候从中选取一种来学习,也是一种保障,不是吗?如果你接触Python我相信你会喜欢它。

posted @ 2010-02-25 17:26  假正经哥哥  阅读(3211)  评论(11编辑  收藏  举报