当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Python 简单入门
帖子发表于 : 2006-06-04 2:35 

注册: 2006-05-25 5:52
帖子: 24
送出感谢: 0 次
接收感谢: 0 次
Python 简单入门

注意:由于该论坛不允许空格,然而空格是对于解释Python语法必须的,所以请访问
这里来显示正确的语法。

前言
Python 是我接触过的编程语言中最容易上手的。Python 的语法干净,写出来的代码也简单易读。此文只是简单的入门教程,对那些从没有接触过Python的人,也许有一点作用。如果你想深入学习Python,我极力推荐2个教程:
1、 在线教程:Python Tutorial, http://docs.python.org/tut/tut.html
2、 书: 学习Python 第二版, http://www.china-pub.com/computers/comm ... p?id=25523
第一个Python程序
首先建立一个文件hello.py, .py是Python专用的后缀名。 其代码如下
#!/usr/bin/python

#输出hello,world
print "hello,world"

这是一个最简单的Python程序,但对于有其他编程语言经验的程序员来说,有几点需要注意:
1、双引号和单引号没有区别
2、注意"hello,world"后面没有分号“;”作为一行的结束
3、print 会自动加入 '\n' 在输出中,所以,如果你手工打上"\n",那么输出结果是两个空行。
4、# 后面是注释(comment)

保存退出后,使用 chmod 700 hello.py 使其可运行。然后运行该程序即可,Python 是一个脚本语言,你无须编译即可运行。
逻辑运算及变量申请
#!/usr/bin/python
x = 50
if x < 10:
print "Less than 10"
else:
print "Greater than 10"
print x

在上面简单的6行代码中,我们要注意几点,首先,你不需要为变量申明类型。在上面代码中我直接将整数50赋值到x中,我也可以将字符串"hello"赋值到x中。
以下一点是Python最最特别的地方,那就是他不是用括号来区分代码,而是用“缩进”来区别。大家可以看到print "Greater than 10" 和 print x 是对齐的。那说明他们同时都在else的区块下。
在这里例子中,此代码会输出
Greater than 10
50
并且只有当x大于等于10的时候,我们才输出x. 如果我们将print x向前移动,使其与else对齐,那整个代码的意思就变成不管x是不是大于等于10,都将print x。
#!/usr/bin/python
x = 50
if x < 10:
print "Less than 10"
else:
print "Greater than 10"
print x

在Python中,缩进是非常重要的,这就像C,C++里的括号,如果你括错地方,那就是语法错误。所有有些编辑器带有自动缩进是非常适合Python的,比如emacs或者Gedit(在选项中有自动缩进,并选择insert spaces instead tabs, tab width 4)。如果你用其他不带有此功能的编辑器,在使用中要注意不要使用tab来对齐。
循环和数组
在python中,while 的用法和C,C++差不多
#!/usr/bin/python
x = 50
while x > 0:
print x
x -= 1

但for的用法就不是很一样。首先让我们先申明数组,python里叫"list".
#!/usr/bin/python

x = ["hello","world","hello","hell"]
for each_word in x:
print each_word

输出结果是:
hello
world
hello
hell
试试直接用print x,Python可以聪明的输出整个list并用逗号区分。
List
申明list
x = ["hello","world","hell",1,7]

添加一个内容到list
x.append("what")

删除一个内容
x.remove("hello")

编辑一个内容
x[0] = "hi" #change "hello" to "hi"

排列
x.sort()
Dictionary(Hash)
申明
#name(key) and age(value) pair
x = {"scott":24, "terence":26, "jackson":25}

添加一个内容
x["jonathan"] = 30

编辑一个内容
x["scott"] = 18

删除一个内容
del x["terence"]

循环
for name,age in x.iteritems():
print name,"is",age,"years old"

keys and values
names = x.keys() # x.keys 返回所有的keys
age = x.values() # x.values 返回所有的values

作者: Scott Wang, findhappy@gmail.com


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-05-26 4:34 

注册: 2006-07-27 0:30
帖子: 23
送出感谢: 0 次
接收感谢: 0 次
顶楼主。要是能排一下版就更好了!


_________________
我爱好Java,正在学习Python和Linux,很高兴和你交朋友!我的BLOG是http://shao-fan.com/blog


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-11-19 16:04 

注册: 2007-11-12 10:51
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
不错,顶!


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-18 15:58 

注册: 2007-10-20 22:18
帖子: 77
送出感谢: 0 次
接收感谢: 0 次
我的不支持中文注释?什么问题?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译