怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题。
Python包含的内容很多,加上各种标准库、拓展库,乱花渐欲迷人眼。我一直希望写一个快速的、容易上手的Python教程,而且言语简洁,循序渐进,让没有背景的读者也可以从基础开始学习。我将在每一篇中专注于一个小的概念,希望在闲暇时可以很快读完。
小提醒
- 教程将专注于Python基础,语法基于Python 2.7 (我会提醒Python 3.x中有变化的地方,以方便读者适应3.X的情况)。测试环境为Linux。标准库的一些包不适用于Windows平台。如果文中的程序无法在你的平台上运行,欢迎讨论。
- 我将专注于Python的主干,以便读者能以最快时间对Python形成概念。
- Linux命令行将以$开始,比如 $ls, $python
- Python命令行将以>>>开始,比如 >>>print 'Hello World!'
- 注释会以#开始
建议
- 将教程中的命令敲到Python中看看效果。
- 看过教程之后,可以进行一些练习。
- 参与文章评论区的讨论,可以更好的积累经验。
教程内容
sequence 序列
sequence(序列)是一组有顺序的元素的集合。
(严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)
序列可以包含一个或多个元素,也可以没有任何元素。
我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。
序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)
- >>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple
- >>>s2 = [True, 5, 'smile'] # s2是一个list
- >>>print s1,type(s1)
- >>>print s2,type(s2)
tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。
一个序列作为另一个序列的元素
- >>>s3 = [1,[3,4,5]]
空序列
- >>>s4 = []
元素的引用
序列元素的下标从0开始:
- >>>print s1[0]
- >>>print s2[2]
- >>>print s3[1][2]
由于list的元素可变更,你可以对list的某个元素赋值:
- >>>s2[1] = 3.0
- >>>print s2
如果你对tuple做这样的操作,会得到错误提示。
所以,可以看到,序列的引用通过s[]实现, int为下标
其他引用方式
范围引用: 基本样式[下限:上限:步长]
- >>>print s1[:5] # 从开始到下标4 (下标5的元素 不包括在内)
- >>>print s1[2:] # 从下标2到最后
- >>>print s1[0:5:2] # 从下标0到下标4 (下标5不包括在内),每隔2取一个元素 (下标为0,2,4的元素)
- >>>print s1[2:0:-1] # 从下标2到下标1
从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。
尾部元素引用
- >>>print s1[-1] # 序列最后一个元素
- >>>print s1[-3] # 序列倒数第三个元素
同样,如果s1[0:-1], 那么最后一个元素不会被引用 (再一次,不包括上限元素本身)
字符串是元组
字符串是一种特殊的元素,因此可以执行元组的相关操作。
- >>>str = 'abcdef'
- >>>print str[2:4]
总结
tuple元素不可变,list元素可变
序列的引用 s[2], s[1:8:2]
字符串是一种tuple
完整教程可查看:Python教程
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!