Python 学习笔记(半ZZ半自己写)
什么是 Python 语言
Python 语言是一种计算机编程语言,作用类似于 c/c++/java/perl/VB/Delphi 等等计算机编程语言,据有非常清晰易读的语法特点,并且是一种高级面向对象的语言,用途非常广泛,并且可以进行扩展。Python 可以运行在 Windows,Linux,FreeBSD,Solaris等等几乎所有的电脑中,也可以运行在手机中,支持 Java 和 .Net 技术。 Python(派森)语言是一种面向对象的用途非常广泛的编程语言,具有非常清晰的语法特点,适用于多种操作系统,可以在Windows和Unix这样的系统中运行。目前在国际上非常流行,正在得到越来越多的应用。Python可以完成许多任务,功能非常强大。Python核心网站是: http://www.python.org/ ,其中你可以找到很多资料。如果您第一次使用 Python, 可以下载一个试试。
Python 语言使用方便,不需要进行复杂的编译,用途非常广泛,可以进行各种软件的开发,比如: 网站,图形界面(GUI), 网络编程,数据库编程,图形图像处理,科学计算,手机编程等等。
使用 Python 最多的应该是 Google 公司了(google的云计算平台GAE就支持默认Python),就是人们到处都可以看到的 Google 搜索引擎。微软公司也已经开始提供Python语言的软件了(其中架构在.NET 平台值上的IronPython,让一切变的更有可能)。 全球著名的手机厂商 Nokia 公司早已经开始提供基于Python语言的手机开发软件了。另外,还有很多游戏是用Python开发的。另外一个比较有名的就是 Zope 公司了,还有youtube是全部用Python开发的。国内使用Python的公司并不多,只有一些Web 2.0的公司。但是因其非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行,所以其相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多,随着时间的推移,很多软件公司都会开始规模的使用它。
“Python”这个英文单词的发音似“派森”,因此中文可以称之为派森。
下载和安装
· 请到 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 运行程序,程序非常简单,我们可以在特殊的命令行中输出结果:
语法
虽然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快速参考指南,如下图所示
总结:
很多人说C#,Java是工作语言,Python,Ruby是周末语言,事实上语言之间都是互通,多学习一点,可以开阔视野,在敏捷开发这么热门的时候从中选取一种来学习,也是一种保障,不是吗?如果你接触Python我相信你会喜欢它。