Python2.5/2.6实用教程:基础篇

 

Python2.5/2.6实用教程:基础篇

介绍



本文方便有经验的程序员进入Python世界.本文适用于python2.5/2.6版本.

Deparecated:Python3 和 python2.x语法不同.如果你正在用python3,请参考新教程:http://www.cnitblog.com/yunshichen/archive/2009/04/01/55924.html

起步走

# ! /usr/bin/python

a
= 2
b
= 3
c="test"
c
= a + b
print   " execution result: %i " % c


知识点

  • Python是动态语言,变量不须预先声明.
  • 打印语句采用C风格

字符串和数字

但有趣的是,在javascript里我们会理想当然的将字符串和数字连接,因为是动态语言嘛.但在Python里有点诡异,如下:

# ! /usr/bin/python

a
= 2
b
= " test "
c
= a + b


运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换

# ! /usr/bin/python

a
= 2
b
= " test "
c
= str(a) + b
d
= " 1111 "
e
= a + int(d)
# How to print multiply values
print   " c is %s,e is %i "   %  (c,e)

知识点:

  • 用int和str函数将字符串和数字进行转换
  • 打印以#开头,而不是习惯的//
  • 打印多个参数的方式

国际化

写腻了英文注释,我们要用中文!

# ! /usr/bin/python
#
 -*- coding: utf8 -*- 

print   " 上帝重返人间:马拉多纳出任阿根廷国家足球队主帅. "

知识点:

  • 加上字符集即可使用中文

列表

列表类似Javascript的数组,方便易用

# ! /usr/bin/python
#
 -*- coding: utf8 -*- 

# 定义元组
word = [ ' a ' , ' b ' , ' c ' , ' d ' , ' e ' , ' f ' , ' g ' ]

# 如何通过索引访问元组里的元素
a = word[ 2 ]
print   " a is:  " + a
b
= word[ 1 : 3 ]
print   " b is:  "
print  b  #  index 1 and 2 elements of word.
c = word[: 2 ]
print   " c is:  "
print  c  #  index 0 and 1 elements of word.
d = word[0:]
print   " d is:  "
print  d  #  All elements of word.

# 元组可以合并
e = word[: 2 ] + word[ 2 :]
print   " e is:  "
print  e  #  All elements of word.
f = word[ - 1 ]
print   " f is:  "
print  f  #  The last elements of word.
g = word[ - 4 : - 2 ]
print   " g is:  "
print  g  #  index 3 and 4 elements of word.
h = word[ - 2 :]
print   " h is:  "
print  h  #  The last two elements.
i = word[: - 2 ]
print   " i is:  "
print  i  #  Everything except the last two characters
l = len(word)
print   " Length of word is:  " +  str(l)
print   " Adds new element "
word.append(
' h ' )
print  word

# 删除元素
del  word[0]
print  word
del  word[ 1 : 3 ]
print  word


知识点:

  • 列表长度是动态的,可任意添加删除元素.
  • 用索引可以很方便访问元素,甚至返回一个子列表
  • 更多方法请参考Python的文档

字典

# ! /usr/bin/python

x
= { ' a ' : ' aaa ' , ' b ' : ' bbb ' , ' c ' : 12 }
print  x[ ' a ' ]
print  x[ ' b ' ]
print  x[ ' c ' ]

for  key  in  x:
    
print   " Key is %s and value is %s " ,(key,x[key])
    
keys
= x.items();
print  keys[0]
keys[0]
= ' ddd '
print  keys[0]


知识点:

  • 将他当Java的Map来用即可.

 

字符串

比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧.

word = " abcdefg "
a
= word[ 2 ]
print   " a is:  " + a
b
= word[ 1 : 3 ]
print   " b is:  " + #  index 1 and 2 elements of word.
c = word[: 2 ]
print   " c is:  " + #  index 0 and 1 elements of word.
d = word[0:]
print   " d is:  " + #  All elements of word.
e = word[: 2 ] + word[ 2 :]
print   " e is:  " + #  All elements of word.
f = word[ - 1 ]
print   " f is:  " + #  The last elements of word.
g = word[ - 4 : - 2 ]
print   " g is:  " + #  index 3 and 4 elements of word.
h = word[ - 2 :]
print   " h is:  " + #  The last two elements.
i = word[: - 2 ]
print   " i is:  " + #  Everything except the last two characters
l = len(word)
print   " Length of word is:  " +  str(l)


不过要注意Asc和Unicode字符串的区别:

# ! /usr/bin/python
#
 -*- coding: utf8 -*- 

s
= raw_input( " 输入你的中文名,按回车继续 " );
print   " 你的名字是  :  "   + s;

l
= len(s)
print   " 你中文名字的长度是: " + str(l);
a
= unicode(s, " utf8 " )
l
= len(a)
print   " 对不起,刚才计算错误.我们应该用utf8来计算中文字符串的长度, /
你名字的长度应该是: " +str(l);

知识点:

  • 用unicode函数进行转码

条件和循环语句

# ! /usr/bin/python
x = int(raw_input( " Please enter an integer: " ))
if  x < 0:
    x
= 0
    
print   " Negative changed to zero "

elif  x == 0:
    
print   " Zero "

else :
    
print   " More "


#  Loops List
=  [ ' cat ' ' window ' ' defenestrate ' ]
for  x  in  a:
    
print  x, len(x)


知识点:

  • 条件和循环语句
  • 如何得到控制台输入

函数

# ! /usr/bin/python
#
 -*- coding: utf8 -*- 

def  sum(a,b):
    
return  a + b


func 
=  sum
=  func( 5 , 6 )
print  r

#  提供默认值
def  add(a,b = 2 ):
    
return  a + b
r
= add( 1 )
print  r
r
= add( 1 , 5 )
print  r


一个好用的函数

# ! /usr/bin/python
#
 -*- coding: utf8 -*- 

#  The range() function
= range( 5 , 10 )
print  a
=  range( - 2 , - 7 )
print  a
=  range( - 7 , - 2 )
print  a
=  range( - 2 , - 11 , - 3 #  The 3rd parameter stands for step
print  a


知识点:

  • Python 不用{}来控制程序结构,他强迫你用缩进来写程序,使代码清晰.
  • 定义函数方便简单
  • 方便好用的range函数

异常处理

 

# ! /usr/bin/python
s = raw_input( " Input your age: " )
if  s  == "" :
    
raise  Exception( " Input must no be empty. " )

try :
    i
= int(s)
except  ValueError:
    
print   " Could not convert data to an integer. "
except :
    
print   " Unknown exception! "
else #  It is useful for code that must be executed if the try clause does not raise an exception
     print   " You are %d "   %  i, "  years old "
finally #  Clean up action
     print   " Goodbye! "

 

come from: http://www.cnitblog.com/yunshichen/archive/2008/11/21/51775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python”这个英文单词的发音似“派森”,因此中文可以称之为派森。Python是一个有10年历史的Windows编程语言Python的创始人为Guido van Rossum。<br/><br/> <br/><br/>Python是一种即译式的,互动的,面向对象的编程语言,它包含了模组式的操作,异常处理,动态资料形态,十分高层次的动态资料结构,以及类别的使用。Python揉合了简单的语法和强大的功能。它的语法表达优美易读。它具有很多优秀的脚本语言的特点:解释的,面向对象的,内建的高级数据结构,支持模块和包,支持多种平台,可扩展。而且它还支持交互式方式运行,图形方式运行。它拥有众多的编程界面支持各种操作系统平台以及众多的各类函数库。利用C和C++可以对它进行扩充。个别的应用软件如果需要有一个可程序化界面也可以利用它来做为扩展语言用。最后,Python的可移植度非常高:它可以在许多的Unix类平台上运行,在Mac,MS-DOS,视窗Windows,Windows NT,OS/2,BeOS,以至RISCOS上都有相关的Python版本。<br/><br/> <br/><br/>Python核心网站是: http://www.python.org/ ,其中你可以找到很多资料。如果您第一次使用 Python, 可以下载一个试试。目前,Python已经有成百上千的公共资源可以供你调用。 <br/><br/> <br/><br/>Python作用 <br/><br/> <br/><br/>Python可以用在许多场合。当你需要大量的动态调整,要容易使用,功能强大并且富有弹性的情况,Python可以发挥很好的功效。 <br/><br/> <br/><br/>一个宏编程语言 <br/><br/>你可以用Python给现有的应用程序添加一个宏语言或底稿编制(scripting)能力。经过稍微的训练,它使用户级别的底稿编制变得简单。发展一种新的语言常常被认为是大公司独家专利。Python是一个你可以加入你现有工具的宏语言并适合不同的层次的人使用。<br/><br/> <br/><br/>一个快速的对象模型和算法的原型开发工具 <br/><br/>开发软件花费钱财需要很多时间才能达到很好的效果。在Python下创建对象,你可以比我们知道的任何语言用更短的代码和更少的时间,并且全部支持继承,密封和多形性。一个比较流行的办法是在Python中原型一个程序,直到你相信设计是正确的再换到C++中,一个更好的办法是将Python应用程序轮廓化,然后在C++中重写速度至关重要的部分。<br/><br/><br/><br/>一个调试工具 <br/><br/>新程序和代码库需要测试。有经验的开发人员知道给一个新功能或程序建立一个测试套件会节约时间并减少麻烦。如果一个程序可以与输入输出文件工作,Python 可以生成输入,运行这个程序,然后检查输出并进行分析。如果问题在于数据,你可以编写一次性的脚本来检查数据是否一致。<br/><br/> <br/><br/>数据清除和转换<br/><br/>你可能会将数据由一个数据库移到一个新的数据库,或新建一个界面让数据在互不兼容的系统中流动。如果人工来做,这会是一个很繁琐而且容易犯错误的过程,你总会遗漏东西,到头来你还得重做以前的工作。Python对列表和字典的本地支持使复杂的数据转换更加容易。而且这种交互式模式可以让编程人员在转换过程的每一阶段观看数据。还可以编写由源到目标的数据转换的脚本并按需要不断运行,直到它正确完成工作。<br/><br/> <br/><br/>Python作为粘合剂 <br/><br/>互不兼容的系统常常需要被联在一起,而且这个过程需要自动进行。Python支持所有的集成关键技术。同时也很好的与文件,协议,DLLs及COM对象工作。Python还提供广泛的库帮助你得到几乎任何种类的数据。它还是很好的控制其他套件、进行系统管理以及控制其他系统数据流动的工具。<br/><br/> <br/><br/>运行方式<br/><br/> <br/><br/>Python可以以命令行方式运行,也可以交互式方式运行,还具有图形集成环境,这样开发Python就相当方便。现在已经出现了许多用Python编写的可视化编程软件,用于实现象Delphi一样的功能。<br/><br/> <br/><br/>面向对象<br/><br/> <br/><br/>Python是一个真正的面向对象语言。它甚至支持异常的处理。如果学过Java,应该对这个不陌生。但其它的脚本语言,如PHP,好象就没有。这使得程序的编写更加清晰,而不需要许多的错误检查了。<br/><br/> <br/><br/>模块和包<br/><br/> <br/><br/>这一点更象是Java。对于Java的支持,大家可以了解JPython。JPython是用Java写的Python,它完全支持Java,在这个环境下使用Python可以随意地使用Java的类库。语言扩展可以用C、C++或Java为Python编写新的新言模块,如函数。或者与Python直接编译在一起,或者采用动态库装入方式实现。也专门有人编写了一个工具,可以实现为Python自动实现函数接口封装,这就是SWIG(Simplified Wrapper and Interface Generator),或称做简单封装和接口生成器(可以在http://sourceforge.net/projects/swig/)。<br/><br/> <br/><br/>有趣的语法 <br/><br/> <br/><br/>Guido认为Python的语法是非常优美的。其中一点就是,块语句的表示不是C语言常用的{}对,或其它符号对,而是采用缩近表示法!有趣吧。就这一点来说,Guido的解释是:首先,使用缩近表示法减少了视觉上的混乱,并且使程序变短,这样就减少了需要对基本代码单元注意的范围;其次,它减少了程序员的自由度,更有利于统一风格,使得阅读别人的程序更容易。感觉还是不错的,就C语言来说,在if语句后面大括号的写法就好几种,不同的人喜欢不同的样子,还不如统一起来,都不会看得别扭。 <br/><br/>在每个类或函数的定义后面,第一行可以是说明语句,根本不需要注释符标记。对于后面跟块语句的语句,后面应跟上一个冒号。一行语句不能太长,因为没有行结束符,如果超长则要使用续行符(\)。还有一些有趣的比如说,象下面的一个比较处理,用C语言为: <br/><br/> <br/><br/>if (2<br/><br/>用Python可以表示为<br/><br/>if (2 <br/><br/> <br/><br/>什么是Zope? <br/><br/> <br/><br/>Zope是一个开放源代码的Web应用服务器,采用Python语言开发,使用它您可以方便的构建内容管理、内部网、门户网站、和其他的定制应用。<br/><br/> <br/><br/> 高度面向对象的Web开发平台,采用Python语言开发。<br/><br/> 可以运行在几乎所有流行的操作系统上,支持多语言。<br/><br/> 能集成到其他流行的服务器,也自带服务器。<br/><br/> 提供清晰的数据/逻辑/表示的分离。<br/><br/> 带有可扩展的内置对象和强大的集成安全模块。<br/><br/> <br/><br/> 什么是Plone?<br/><br/> <br/><br/>Pone是一个Zope上的一个用户友好、功能强大的开放源代码内容管理系统。Plone适合用作内部网/外部网的服务器、文档发布系统、门户服务器和异地协同群件工具,到目前,Plone其实已经发展成为了一个应用开发平台。<br/><br/> <br/><br/> 是一种功能强大的开放源码(Open Source)内容管理系统(CMS)。<br/><br/> 通过Web浏览器来访问、编辑内容和管理,易于更新内容。<br/><br/> 无需编程,即可创建新的内容类型。<br/><br/> 协同的编辑和发布机制。<br/><br/> <br/><br/>Python的IDE开发环境: <br/><br/> <br/><br/>Wingide:http:// www.wingide.com<br/><br/>ipython: http://ipython.scipy.org/ <br/><br/>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值