python 学习笔记
时间:2010-10-05 来源:漩涡鸣人
1、dir() 函数 显示属性列表,包括很多东西,其中有变量。
2、del 命令 删除变量,如del a.
3、创建你自己的模块
#!/usr/bin/python
# Filename: mymodule.py
def sayhi():
print 'Hi, this is mymodule speaking.'
version = '0.1'
# End of mymodule.py
4、引用上面模块
import mymodule
mymodule.sayhi()
print 'Version', mymodule.version
运行结果:
# Filename: mymodule_demo.py
$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1
第二种引用方法:
# Filename: mymodule_demo2.py
from mymodule import sayhi, version
# Alternative:
# from mymodule import *
sayhi()
print 'Version', version
结果一样。
5、列表 列表成员由逗号分开,用列表的sort方法来对列表排序。这个方法影响列表本身,而不是返回一个修改后的列表——这与字符串工作的方法不同。这就是我们所说的列表是可变的而字符串是不可变的 。可以对成员赋值,可以将值传入另一列表,但目标列表必须先初始化0,即分配好内存单元。字符串不能给成员赋值。
list.sort()分类函数,按大小排列。append添加列表成员,del 删除成员,如 shoplist.append ('成员'),del shoplist[成员所在下标]。 help(list.sort)
• insert(i, x) ---- 在指定位置插入一项。第一自变量是要在哪一个元素前面插入,用下标表示。例如,a.insert(0, x)在列表前面插入,a.insert(len(a), x)等价于a.append(x) 。
• append(x) ---- 等价于a.insert(len(a), x)
• index(x) ---- 在列表中查找值x 然后返回第一个值为x 的元素的下标。没有找到时出错。
• remove(x) ---- 从列表中删去第一个值为x 的元素,找不到时出错。
• sort() ---- 对列表元素在原位排序。注意这个方法改变列表,而不是返回排序后的列表。
• reverse() ---- 把列表元素反序。改变列表。
• count(x) ---- 返回x 在列表中出现的次数。
6、数组和列表十分类似只不过数组和字符串一样是不可变的 即你不能修改数组。数组通过圆括号中用逗号分割的项目定义。数组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的数组的值不会改变。
含有0个或1个项目的元组。一个空的元组由一对空的圆括号组成,如myempty = ()。然而含有单个元素的元组就不那么简单了。你必须在第一个(唯一一个)项目后跟一个逗号,这样Python才能区分元组和表达式中一个带圆括号的对象。即如果你想要的是一个包含项目2的元组的时候,你应该指明singleton = (2 , )。
7、在打印时,加逗号表示打印在同一行,即不换行。不加系统默认换行。
8、 数组# Filename: print_tuple.py
age = 22
name = 'Swaroop'
print '%s is %d years old' % (name, age)
print 'Why is %s playing with that python?' % name
9、字典 键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒
号分割,而各个对用逗号分割,所有这些都包括在花括号中。help(dict)查询。
# Filename: using_dict.py
# 'ab' is short for 'a'ddress'b'ook
ab = { 'Swaroop' : '[email protected]',
'Larry' : '[email protected]',
'Matsumoto' : '[email protected]',
'Spammer' : '[email protected]'
}
print "Swaroop's address is %s" % ab['Swaroop']
# Adding a key/value pair
ab['Guido'] = '[email protected]'
# Deleting a key/value pair
del ab['Spammer']
print '\nThere are %d contacts in the address-book\n' % len(ab)
for name, address in ab.items():
print 'Contact %s at %s' % (name, address)
if 'Guido' in ab: # OR ab.has_key('Guido')
print "\nGuido's address is %s" % ab['Guido']
10、序列
列表、数组和字符串都是序列,序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。
11、引用与对象
对两个序列a,b. a=b与a=b[:]是不同的,后者是拷贝,前者是两个变量指向同一个对象。
字符串的方法
#!/usr/bin/python
# Filename: str_methods.py
name = 'Swaroop' # This is a string object
if name.startswith('Swa'):
print 'Yes, the string starts with "Swa"'
if 'a' in name:
print 'Yes, it contains the string "a"'
if name.find('war') != -1:
print 'Yes, it contains the string "war"'
delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print delimiter.join(mylist)
输出
$ python str_methods.py
Yes, the string starts with "Swa"
Yes, it contains the string "a"
Yes, it contains the string "war"
Brazil_*_Russia_*_India_*_China