选择显示字体大小

python 快速入门(一)


   原作者:xina

python概要

python是一门解释性的、面向对象的、动态语义特征的高层语言。它的高层次的内建数据结构,以及动态类型和动态绑定,这一切使得它非常适合于快速应用开发,也适合于作为胶水语言连接已有的部件。python的简单而易于阅读的语法强调了可读性,因此降低了程序维护的费用。python支持模块和包,并鼓励程序模块化和代码重用。python的解释器和标准扩展库的源码和二进制格式在各个主要平台上都可以免费得到,而且可以免费分发。

通常,程序员爱上python是因为它能增加生产力。由于没有编译过程,编辑-测试-调试周期相当快。调试python程序很简单:一个错误永远不会导致一个段错误。当解释器发现错误时,它就引发一个异常。当程序没有捕捉到异常,解释器就打印一个堆栈跟踪。一个源码级调试器允许我们检查局部和全局变量,计算表达式,设置断点,单步跟踪等等。调试器是用python写的,这证明了python的能力。另外,最快的调试程序的方法是增加几条打印语句:快捷的编辑-测试-调试周期使得这个简单的办法十分有效。

基本的运算式

我们直接切入正题,直接简单的教你使用 python。 我假设读者己有其它语言的基础,可以直接切入语法重点。


1 a = 0
2 b = 7
3 a = a + 1
4 a = b * a
5 print a

结果显示 : 7



上面就是 python 的简单例子,相信如果你学过其它的语言(如 c/c++, java),就能很容易的了解。

a+b a 加 b
a-b a 减 b
a*b a 乘 b
a/b a 除 b
a%b 取 a/b 的馀数(如 8 % 3 == 2)
-a 取 a 的反数( 若 a == 7, -a == -7)
string



1 a = 'hello'
2 b = "world"
3 c = a + ' ' + b + '!!'
4 print c

结果显示 : hello world!!



string 可以使用 ' or " 符号括起来表示。在行 3,是合并四个 string object 的例子, 将四个 string 依顺连接成单一的 string。


1 a = '%s=%d' % ('test', 16)
2 print a

结果显示 : test=16



类似於 c/c++ 的 printf 或 sprintf,在行 1,python 提供 string format 的功能。 字串 '%s=%d' 指定 string 的 format,而後在字串後接着 % 然後是 format 的参数, 这些参数会依序取代 format 里的 %s 和 %d。%s 代表要取代字串,%d 则是取代成整数。


a = 'this is a rather long string containing\n\
several lines of text just as you would do in c.\n\
note that whitespace at the beginning of the line is\
significant.\n'



string 可以延伸到数行,但在每一行的最後必需要有escape \ 以忽略掉 newline。 另外也可以使用 """ 或 '''


a = '''this is a rather long string containing
several lines of text just as you would do in c.
note that whitespace at the beginning of the line is
significant.'''



使用 ''' 或 """ 就不需要在每一行结数时 escape,但 newline 会被包含入 string 内容。

list



1 a = []
2 a[0] = 'aoo'
3 a[1:3] = [10, 11]
4 b = [1, 2, 3, 'foo']
5 print a, b, b[:3], b[1:]

结果显示 : [9, 10, 11] [1, 2, 3, 'foo'] [1, 2, 3] [2, 3, 'foo']



上面是 list 的使用范例。list 是一个 sequence data type, 类於 c/c++ 的 array, 但 array 是 fixed length 而 list 不是, 其长度是可以随时改变的。行 1 就 bind a 为一个空的 list。 行 2 则指定 index 0 为 'aoo' string object。行 3 为 list 的 slice 的使用范例。 将 index 1 和 index 3 之间的 item(index 1 和 2) 代换成 10 和 11。行 5 的 b[:3] 则相当於 b[0:3], 而 b[1:] 相当於 b[1:4]。list 内的 item 不需是相同的 type, 如上例在一个 list object 里可以同时包含整数和 string 不同 type 的 item。


1 a = [1, 2, 3] + [4, 5, 6]
2 print a

结果显示 : [1, 2, 3, 4, 5, 6]



和 string 一样,list 也可以进行合并的动作(concatenate)。

slice



1 a = [ 1, 2, 3, 4, 5]
2 print a[3], a[3:], a[:2], a[:-1], a[-2]

结果显示 : 4 [4, 5] [1, 2] [1, 2, 3, 4] 4



index 可为负数,负数则从 list 的结束位置往回数。

list 的 index 可以比作下图,每一个 item 指 list 里的一个 object。而 则为 item 之间的分界, 其下方则为其 index。


item 0 item 1 item 2 .... item n
0 1 2 3 n n+1
-n -n+1 -n+2 -n+3 -1



当指定 item k (0 <= k < n+1), 则 index 设为 item k 的前一个分界 index k。 当指定 item k ~ item p (0 <= k <= p < n+1) 时,则 slice 指定为 [k:p+1] (意指 index k 和 index p+1 两个分界之间所有的 item) 或 [k:p-n](注: p < n, p - n < 0 为负数)。

methods for list



1 a = []
2 a.append(1)
3 a.append(2)
4 a.insert(1, 3)
5 print a

结果显示 : [1, 3, 2]



上面是 list 的 append() 和 insert() 两个 method 的使用范例,append 用以新增一个 item 到 list 的最後面。 insert 用以在指定的位置插入一个新的 item。行 4即在 list 的 index 1 的位置(即 item 0 和 item 1 之间)插入一个新 item。


1 a = [1, 3, 2]
2 a.sort()
3 print a,
4 a.reverse()
5 print a

结果显示 : [1, 2, 3] [3, 2, 1]



sort() method 能将 list 进行从小到大的排序,reverse() method 则进行从大至小的反向排序。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons