Python核心编程 第三章

1. \ :一行过长的语句可以使用反斜杠分解成几行。

2.Python使用缩进来分隔代码组。代码的层次关系式通过同样深度的空格或制表符缩进体现的。同一代码组的代码必须严格左对齐。

3.在Python语言中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。Python的赋值语句不会返回值。

4.多元赋值:采用这种赋值方式时,等号两边的对象都是元组。Python的多元赋值方式可以实现无需中间变量交换两个变量的值。

5.在模块,类声明或函数声明中第一个没有赋值的字符串可以用属性obj.__doc__来进行访问。

6.Python是否有一种方法能在运行时检测该模块是被导入还是被直接执行呢?_name_系统变量就是正确答案。

如果模块是被导入,_name_的值为模块的名字。如果模块是被直接执行,_name_的值为'_main_'

7.引用计数:Python内部记录着所有使用中的对象各有多少引用。当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被设置为1.

对象的引用计数在

对象被创建

x=3.14

或另外的别名被创建

y=x

或被作为参数传递给函数(新的本地引用)

foobar(x)

或称为容器对象的一个元素

myList=[123,x,'xyz']

8.当变量被赋值给另外一个对象时,原对象的引用计数也会自动减1.


9.

import os
ls = os.linesep

while True:
    fname = raw_input('Input your file name:')
    if os.path.exists(fname):
        print "ERROR: '%s' already exists" % fname
    else:
        break

all = []
print "\nEnter lines ('.'by itself to quit).\n"

while True:
    entry = raw_input('>')
    if entry == '.':
        break
    else:
        all.append(entry)
    fobj = open(fname, 'w')
    fobj.writelines(['%s%s' % (x, ls) for x in all]);
    fobj.close();
    print "DONE!"

fname = raw_input('Enter filename:')
print
try:
    fobj=open(fname,'r');
except IOError, e:
    print "*** file open error:", e;
else:
    for eachLine in fobj:
        print eachLine,
    fobj.close();

try-except-else语句。else子句在try代码块运行无误时执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值