7、字符串
字符串是str类型的对象,下面总结了字符串常用的操作方法
string=‘test’
(1)测试字符串的开始
if(string.startswith('tes')):
语句
(2)测试是否包含某个字符串
if 'tes' in string:
语句
(3)找到指定字符串在某个字符串中的位置
if(string.find('tes')!=-1):
语句
该方法返回的整形变量即子字符窜在原字符窜中的索引号,find没有找到指定的字符串时会返回-1.
(4)字符串的连接
'123'+'345'
(5) 将列表转换为一个字符串并且加上分隔符
list=['123','456']
string='|'.join(list)
这样string的内容是123|456
七、面向对象编程
前面说过python是面向对象的编程语言,那么一定就要构造自己的类了。
1、类的创建
class person:
2、类中创建方法
class person:
def fun(self):
语句
注意类中的方法与普通的方法的区别在于一定有个参数self,表示对象本身,但是调用这个方法时不用为这个参数赋值,如:p=person.fun()
3、类与对象的变量
类的数据部分也叫域,分为两种:类的变量和对象的变量。
类的变量是类的所有对象共享的,也就是说当某个对象对类的变量修改时其他对象是可见的。
对象的变量每个对象自己的变量,不同的对象即使有相同的对象名也互不影响。
4、类中的特殊方法
(1)__init__方法(双下划线)
在类中这个方法比较特别,是在创建对象时对对象的初始化。
class person:
def __init__(self,name):
self.name=name
def sayhi(self):
print 'hello %s' % self.name
上述__init__方法中用来接收参数name的值,这个参数是在对象实例化时传递的,另外,self.name是新创建了一个域。
(2)__del__(self)
在对象消逝时默认调用这个方法,那么对象什么时候消逝呢,就是在接下来的代码中不再使用这个对象。这个对象的内存空间就被收回了。
八、继承
继承的目的就是为了实现代码的重用,继承涉及到父类和子类,我们在解决实际问题时需要将现实中的事物抽象为编程里面的逻辑概念就是类。
比如学生和教师,是两个现实的事物,在代码里面自然就要创建这两个类。但是又发现这两个其实还是有共性的,就是他们都是人,都有性别、年龄、姓名等。于是我们在这两个相对具体的类中抽出他们的共性,然后创建一个类,然后学生和教师类继承这个类,同时他们又分别保存自己的特性。这就是设计的思路。
使用继承的优点:
(1)在父类中更改属性可以体现到所有的子类中
(2)在某个子类中更改属性不能影响其他的子类
(3)在需要父类的场合中可以将子类转换为父类
1、继承
class Member():
属性和方法
class Student(Member):#这样就继承了父类
属性和方法
class Teacher(Member):
属性和方法
九、输入输出
1、标准输入输出
(1)raw_input()
如:i=raw_input('Please input :')
raw_input是从标准输入读入一个字符串,此时如果需要整形变量可以转换为整数,如:i=int(raw_input('Please input :'))
执行完这条语句后会等待用户的输入,比如输入字符串123,字符串‘123’会被转换为整形的123,即i=123
(2)print
print会在打印完后默认追加一个换行,这点与一般的高级语言不一样。
print的常见用法:
i=100
①print ‘string is’,i
②print 'num is %d ' % int(i)
③print ‘string %s format into integ %d’% (i,int(i))
2、文件的读写
使用file类对文件进行操作
(1)文件对象实例化
f=file('test.txt','w')#open for writing
文件的模式可以是r,w或者a,这个参数如果不写的话就默认是r,当以w或者a的模式打开文件时若文件不存在就会新建一个文件。
(2)写文件
str='test data'
f.write(str)
(3)读文件行
line=f.readline()
调用一次就读取文件的一行,包括换行符。读取的位置自动定位到下一行。
如:
while TRUE:
line=f.readline()
if(len(len)==0)#注意判断文件末尾的方法是len(line)==0
break;
print line
3、存储器
python提供了一个模块Pickle可以对文件进行存取,它的关键点在于可以实现将任何对象存储到文件中,注意是将任何对象存储,但存储时并非是字符串的形式,写文件的目的在于存储一个对象,而不是为了让文件工人阅读。因为存储的是任何对象,所以当你查看文件时发现内容并非是那么的易读,因此这个功能在于临时存储并非是给人看的,而是共程序看的。
还有一个功能与Pickle相同但是速度回比他快上1000倍的模块cPickle,用c语言写的,因此我们一般使用这个模块。
使用案例如下:
import cPickle as p
shoplist=['aa','bb','cc']
f=file(filename,"w")
p.dump(shoplist,f)#将对象写入文件
f.close()
f=file(filename)
storelist=p.load(f)#将对象读出
f.close()
阅读(620) | 评论(0) | 转发(0) |