《python核心编程》
第二章:
1、列表、元祖、字典使用的符号分别是[]、()、{};其中列表类似c++中的数组,元祖只可读不可写,字典类似map.键值对;
list=[1,4,6,7]
tuple=(‘helle’,’world’)
dist={‘hello’:1,’world’:3}
print dist.keys()
2、python使用for循环时注意缩进对齐;一般使用tab键来维持indent;
常用的循环使用内建函数range()
#!usr/bin/python
list=['hello','world','hi','wa']
for i in range(len(list)):
print i,list[i]
print语句会默认给每一行添加一个换行符;如果在print后加一个逗号print i,list[i],
就不会自动换行了
二、属性,书中给的操作文件的代码
fobj=open('mylog.txt','r')
for i in fobj:
print i,
fobj.close()
用type()函数可以查看fobj变量的类型:type(fobj)是file,即返回的一个文件句柄,然后这个对象可以进行文件类的方法,就是所说属性;object.attribute跟c++中的类对象调用类成员函数格式相似;
三、函数——直接在命令行里敲
自定义一个自身加自身的函数,然后进行调用,python中的加号可以对任意类型
四、类——在.py文件中实现
#!usr/local/bin/python
class FooClass(object):
"""my very first class: FooClass"""
version = 0.1 # class (data) attribute
def __init__(self, nm='John Doe'):
"""constructor"""
self.name = nm # class instance (data) attribute
print 'Created a class instance for', nm
def showname(self):
"""display instance attribute and class name"""
print 'Your name is', self.name
print 'My name is', self.__class__.__name__
def showver(self):
"""display class(static) attribute"""
print self.version # references FooClass.version
def addMe2Me(self, x): # does not use 'self'
"""apply + operation to argument"""
return x + x
fool=FooClass()//创建实例
fool.showname()//调用类方法
类里面的init()类似c++中的构造函数,创建一个实例时,会自动执行,也有默认的init()方法,默认的没有执行什么,所以一般自己创建做一些初始化工作。比如上面代码中对name进行初始化,这个name变量仅在类实例中存在;
另外要注意的就是self参数,这个类似与C++中的this标识符。
五、为了将函数、类方便调用,引入模板的概念,比如用一个.py源文件写类,然后这个不带.py后缀的文件名就是模块的名字.
如何将上面写的FooClasse作为模板import呢~~十二章见