您的位置:首页 > 编程语言 > Python开发

Python开发入门

2012-05-23 08:51 417 查看
转载自:http://marshal.easymorse.com/tech/python%E5%BC%80%E5%8F%91%E5%85%A5%E9%97%A8


Python开发入门

python语言是一种很容易上手的语言:

解释型的脚本语言,不需要编译,随写随运行
语法简洁,很多时候,完成同样的功能,比java代码要少的多
Linux系统和Mac系统都标配python环境

另外,python还有一些优点:

大公司的支持,比如Google的很多系统就是python开发的,python也是GAE下两种可用的语言,另外一种是java
历史够长,有很多成熟的库和第三方库
既适合写临时性的脚本,也可以实现大型的应用
可以作为开发者的入门语言,学习成本比较低,容易上手,便于培养开发者的编程能力,另外,可帮助入门人员通过python触摸到计算机系统,打好计算机基础

实际上,写这篇文档是为部门培养初级程序员编程能力,学习python而编写的一篇导引性质文档。

言归正传,上来先是搭建开发环境。


开发环境

首先,需要安装python,python的官方网站:http://www.python.org/

如果是Linux环境或者Mac环境,应该已经安装了Python,比如我用的Mac OSX 10.6.5,python环境是2.6.1,在UBuntu10.10环境下,是2.6.5。

如果是Windows,需要下载和安装,这里要注意,python有两个主要版本,python2.x和python3.x。版本2和版本3不兼容。python3中做了很多改进,更适合面向对象编程,但是目前我们使用的环境和市面上的python应用大都使用python2开发。因此从实际出发,本文建议使用2.x版本。即下载2.7的最新版本。

集成开发环境,因为团队成员都安装并比较熟练的使用Eclise,因此建议使用第三方Eclipse插件pydev,网址在:http://pydev.org/,如果使用Eclipse3.6,安装很简单,通过在线安装即可,链接是:http://pydev.org/updates

安装好以后,重启Eclipse,需要配置一下,告知插件你的python在哪里。





这里选择auto config即可了,会自动扫描找到python环境。

然后,可以创建pydev project开始python开发了。






编写Python版Helloworld

根据上面的截图,相信你已经创建好pydev项目。那么,创建一个python文件。python文件的结尾名为py。按照下图方式创建文件:





这里文件名为helloworld.py。pydev会自动在空文件中增加一些内容,为了简易起见,统统删除。然后增加文件顶部内容:


#!/usr/bin/python

# -*- coding: utf-8 -*-



其中第一句的作用是在linux和mac上作为脚本运行的时候系统使用它识别为python脚本。

第二句的目的是申明程序使用utf-8编码。这样可防止中文乱码显示的事情。

写个最简单的吧,只有一行,打印语句:


print "你好,世界!"



可以通过两种方式运行这个最简单的程序。

通过Eclipse pydev插件:





运行效果如下:





另外,可以在linux或者mac下通过脚本方式运行:





在运行前,需要把脚本权限设置为可执行:


chmod +x helloworld.py




基本语法

以下用最简单的示例说明最基本的语法。这部分的目的不是涵盖主要语法,而是帮助你尽快开始工作。如果需要查找详细语法,或者本文中未涵盖的语法,请参见参考文档部分。


变量和数据类型

程序最基本的元素是变量。python是动态类型语言,这一点,很类似javascript。比如:


a=1

a="aaa"



以上是合法的python变量赋值语句。这里我们要注意以下几个问题:

没有诸如,int a=1这样的java语法中的int类型符号,java是静态类型语言,a变量声明为int型,那它就固定下来了,在该变量的作用域中它将只能是int型,而动态类型语言的python,甚至可以在后面改变a的类型,从数字型转为字符串型
上面要点提到的区别,实际上是解释型语言和编译型语言原理上的区别,后者在编译的时候要做类型检查,并生成二进制的机器指令,因此类型不可改变,解释型语言是在运行时才判断该变量是何种类型,因此没有这样的限制
python的每一行的结束标志是回车,很多语言是通过分号表示行结束的

python支持的数据类型很多,和其他语言大同小异。

python的所有数据类型都是对象。这在当代新型语言中普遍采用。形成对比的是java中除了对象类型数据以外还有基本型,比如int。


字符串

在python中的字符串字面量表示方式比较丰富,和c、java这样的语言比较而言。


a="aaa"

a=’aaa’

a="""

ddd

dfaf

dfafa

"""

a=”’

fjkdajla

fjdakfjal

”’



使用单引号和双引号,这点类似javascript,可以帮助简化写出类似下面的代码而不需要转义符,反之亦然:


a=’hello "world" ‘



三个符号的单引号和双引号,可以方便写多行的代码。

有关字符串的详细内容,可参见:http://docs.python.org/tutorial/introduction.html#strings


流程控制语句

流程控制语句,分支语句if,比如循环语句for。

分支语句:


if True:

print ‘ok.’

elif True:

print ‘ok too’

else:

print ‘no!’



这里要提到几点:

判断语句用:做分割
用空格替代了c风格语法的大括号,这种方式有很多人不习惯,其实很好,强制开发者在语法中注意代码的格式
空格一般是缩进4个空格

循环语句:


for s in range(10):

print ‘aaa’,s



相当于for(int i=0;i<10;i++)。

更详细的可参见:http://docs.python.org/tutorial/controlflow.html#for-statements


数据结构

python提供了丰富的数据结构方面的支持,包括:

列表,可以认为等同于java的List
元组,和列表功能类似,不可编辑
集合,类似Java中的Set
字典,类似Java中的Map

具体内容参见:http://docs.python.org/tutorial/datastructures.html


函数的声明和使用

写一个最简单的函数声明:


def my_test():

print ‘>>>测试’



使用该函数:


my_test()



声明带参数的函数:


def my_test(name="–"):

print ‘>>>你好,’,name



因为是动态类型语言的特点,函数参数不需要声明类型。另外,参数可以有默认值。

所有python函数都会自动返回一个None对象,如果没有在代码中使用return的话。

比如现在要在函数中返回name:


def my_test(name="–"):

print ‘>>>你好,’,name

return name




文件和流的处理


网络和流的处理

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: