魔法方法、属性和迭代器
在python中,有的名称会在前面和后面各加上两个下划线,这种写法很特别。它表示名字有特殊含义,所以绝不要在自己的程序中使用这种名字。在python中,由这些名字组成的集合所包含的方法叫做魔法(或称特殊)方法。如果对象实现了这些方法中的某一个,那么这个方法会在特殊的情况下被python调用,而几乎没有直接调用它们的必要。
准备工作
为了确保类是新型的,应该把赋值语句_...
分类:
编程语言 时间:
2014-06-18 11:47:00
阅读次数:
358
异常
什么是异常
Python用异常对象来表示异常情况。遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行:
>>> 1/0
Traceback (most recent call last):
File "", line 1, in
1/0
ZeroDivisionError: integer...
分类:
编程语言 时间:
2014-06-15 13:33:25
阅读次数:
251
抽象
懒惰即美德。
抽象和结构
抽象可以节省大量工作,实际上它的作用还要更大,它是使得计算机程序可以让人读懂的关键。
创建函数
函数可以调用(可能包含参数,也就是放在圆括号中的值),它执行某种行为并且返回一个值。一般来说,内建的callable函数可以用来判断函数是否可调用:
>>> import math
>>> y=1
>>> x=math.sqrt
>>> callable...
分类:
编程语言 时间:
2014-06-15 12:11:55
阅读次数:
342
序列_练习与总结
每次处理一个字符
任务:
用每次处理一个字符的方式处理字符串。
方案:
可以创建一个列表,列表的子项是字符串的字符。python实际上并没有一个特别的类型来对应“字符”并以此和字符串区分开来。可以调用内建的list,用字符串作为参数:
thelist=list(thestring)
也可以不创建一个列表,直接用for语句完成对该字符串的循环遍历:
for c...
分类:
编程语言 时间:
2014-05-25 18:28:34
阅读次数:
342
条件、循环、其它语句
print和import
随着更加深入地学习python,可能会出现这种感觉:有些自以为已经掌握的知识点,还隐藏着一些让人惊讶的特性。
使用逗号输出
打印多个表达式,只要将这些表达式用逗号隔开即可:
>>> print "age:",28
age: 28
参数之间都插入了一个空格符。
如果在结尾加上逗号,那么接下来的语句会与前一条语句在同一行打印:...
分类:
编程语言 时间:
2014-05-21 08:06:46
阅读次数:
424
字典
映射(mapping),一种可通过名字引用值得数据结构。
字典是python中唯一内建的映射类型。
字典中的值没有特殊的顺序,但都存储在一个特定的键(key)里。键可以是数字、字符串甚至是元组。
字典的使用
某些情况下,字典比列表更加适用,比如:
表征游戏棋盘的状态,每个键都是由坐标值组成的元组;
存储文件修改数,用文件名作为键;
数字电话/地址簿;
假如有一个...
分类:
编程语言 时间:
2014-05-20 16:59:32
阅读次数:
573
字符串
基本字符串操作
字符串也是序列,因此序列的基本操作(索引、分片、连接、乘法、长度、求最大值和最小值、成员资格)对字符串同样适用:
索引
>>> 'a_string'[0]
'a'
长度
>>> len('a_string')
8
求最大值
>>> max('a_string')
't'
求最小值
>>> min('a_string')
'_'
乘法
>>> ...
分类:
编程语言 时间:
2014-05-18 10:50:15
阅读次数:
325
元组
元组不能修改;(可能你已经注意到了:字符串也不能修改。)
创建元组的语法很简单:如果用逗号分隔了一些值,那么你就自动创建了元组。
>>> 1,3,'ab'
(1, 3, 'ab')
元组也是(大部分时候是)通过圆括号括起来的。
>>> (1,3,'13')
(1, 3, '13')
空元组可以用没有内容的两个圆括号来表示。
如何实现包括一个值的元组呢?
...
分类:
编程语言 时间:
2014-05-15 23:38:44
阅读次数:
496
序列-2
序列相加
通过加号对列表进行连接操作;
列表
>>> [1,3,4]+[2,5,8]
[1, 3, 4, 2, 5, 8]
字符串
>>> '134'+'258'
'134258'
元组
>>> (1,2,3)+(2,5,8)
(1, 2, 3, 2, 5, 8)
元素数据类型不同的列表
>>> [[1,3],[3,9]]+[[2,2],'abc']
[[1,...
分类:
编程语言 时间:
2014-05-15 05:31:56
阅读次数:
425
假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.
思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用ping ip 的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Reply from ... "...
分类:
编程语言 时间:
2014-05-09 14:14:27
阅读次数:
343