Python自学入门 下

打开一个文件的命令很简单:


file('
文件名')


这里的文件名可以用文件的完整路径,也可以是相对路径。因为我们把要读取的文件和代码放在了同一个文件夹下,所以只需要写它的文件名就够了。


f = file('data.txt')


但这一步只是打开了一个文件,并没有得到其中的内容。变量f保存了这个文件,还需要去读取它的内容。你可以通过read()函数把文件内所有内容读进一个字符串中。


data = f.read()



做完对文件的操作之后,记得用close()关闭文件,释放资源。

读取文件内容的方法还有
readline() #
读取一行内容
readlines() #
把内容按行读取至一个list

python默认是以只读模式打开文件。如果想要写入内容,在打开文件的时候需要指定打开模式为写入:


f =file('output.txt', 'w')


'w'
就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。
不加参数时,file为你默认为'r'reading,只读模式,文件必须存在,否则引发异常。
另外还有一种模式是'a'appending。它也是一种写入模式,但你写入的内容不会覆盖之前的内容,而是添加到文件中。


打开文件还有一种方法,就是open(),用法和file()是一致的。


写入内容的方法同样简单:


f.write('a string you want to write')


write的参数可以是一个字符串,或者一个字符串变量。


示例程序:


data = 'I will be in a file.\nSo cool!'
out = open('output.txt', 'w')
out.write(data)
out.close()

while 循环 在条件不满足时 结束,
for
循环 遍历完序列后 结束。

如果在循环条件仍然满足或序列没有遍历完的时候,想要强行跳出循环,就需要用到break语句。

while True:
a = raw_input()
if a == 'EOF':
break

break是彻底地跳出循环,而continue只是略过本次循环的余下内容,直接进入下一次循环。

注意:无论是continue还是break,其改变的仅仅是当前所处的最内层循环的运行,如果外层还有循环,并不会因此略过或跳出。

python中,可以使用try...except语句来处理异常。做法是,把可能引发异常的语句放在try-块中,把处理异常的语句放在except-块中。字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对应的信息。在字典中,名字叫做“键”,对应的内容信息叫做“值”。字典就是一个键/值对的集合。


它的基本格式是(key是键,alue是值):


d = {key1 : value1, key2 : value2 }





关于字典的键要注意的是:
1.键必须是唯一的;
2.
键只能是简单对象,比如字符串、整数、浮点数、bool值。


list就不能作为键,但是可以作为值。
python字典中的键/值对没有顺序,我们无法用索引访问字典中的某一项,而是要用键来访问。


注意,如果你的键是字符串,通过键访问的时候就需要加引号,如果是数字作为键则不用。

字典也可以通过for...in遍历:


for name inscore:

增加一项字典项的方法是,给一个新键赋值:


score['
慕容复'] = 88


模块可以理解为是一个包含了函数和变量的py文件。在你的程序中引入了某个模块,就可以使用其中的函数和变量。

想知道random有哪些函数和变量,可以用dir()方法:


dir(random)

如果你只是用到random中的某一个函数或变量,也可以通过from...import...指明:


from math import pi
print pi



from math import pi as math_pi
print math_pi

如果很多时候,我们都是用world来调用这个函数,少数情况才会去改参数。那么,我们就可以给这个函数一个默认参数:


def hello(name = 'world'):
print 'hello ' + name


当你没有提供参数值时,这个参数就会使用默认值;如果你提供了,就用你给的。


这样,在默认情况下,你只要调用
hello()



意,当函数有多个参数时,如果你想给部分参数提供默认参数,那么这些参数必须在参数的末尾。比如:
def func(a, b=5)
是正确的


def func(a=5, b)
就会出错

python是一种高度面向对象的语言,它其中的所有东西其实都是对象。所以我们之前也一直在使用着对象。看如下的例子

1.  s = 'how are you'

2.  #s被赋值后就是一个字符串类型的对象

3.  l = s.split()

4.  #split是字符串的方法,这个方法返回一个list类型的对象

5.  #l是一个list类型的对象

通过dir()方法可以查看一个类/变量的所有属性:

1.  dir(s)

2.  dir(list)

关键字class加上类名用来创建一个类。之后缩进的代码块是这个类的内部。在这里,我们用pass语句,表示一个空的代码块。

类名加圆括号()的形式可以创建一个类的实例,也就是被称作对象的东西。我们把这个对象赋值给变量mc。于是,mc现在就是一个MyClass类的对象。

看一下输出结果:

1.  <__main__.MyClass instance at0x7fd1c8d01200>

2.   

这个意思就是说,mc是__main__模块中MyClass来的一个实例(instance),后面的一串十六进制的数字是这个对象的内存地址。

调用类变量的方法是“对象.变量名”。你可以得到它的值,也可以改变它的值。

注意到,类方法和我们之前定义的函数区别在于,第一个参数必须为self。而在调用类方法的时候,通过“对象.方法名()”格式进行调用,而不需要额外提供self这个参数的值。self在类方法中的值,就是你调用的这个对象本身。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值