Python2.5/2.6实用教程:基础篇
介绍
本文方便有经验的程序员进入Python世界.本文适用于python2.5/2.6版本.
Deparecated:Python3 和 python2.x语法不同
起步走
#
! /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:
"
+
b
#
index 1 and 2 elements of word.
c
=
word[:
2
]
print
"
c is:
"
+
c
#
index 0 and 1 elements of word.
d
=
word[0:]
print
"
d is:
"
+
d
#
All elements of word.
e
=
word[:
2
]
+
word[
2
:]
print
"
e is:
"
+
e
#
All elements of word.
f
=
word[
-
1
]
print
"
f is:
"
+
f
#
The last elements of word.
g
=
word[
-
4
:
-
2
]
print
"
g is:
"
+
g
#
index 3 and 4 elements of word.
h
=
word[
-
2
:]
print
"
h is:
"
+
h
#
The last two elements.
i
=
word[:
-
2
]
print
"
i is:
"
+
i
#
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
a
=
[
'
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
r =
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
a
=
range(
5
,
10
)
print
a
a =
range(
-
2
,
-
7
)
print
a
a =
range(
-
7
,
-
2
)
print
a
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!
"