1、 已知a=[1,2,3]和b=[1,2,4],那么id(a[1])==id(b[1])的执行结果()
A True
B False
解析:答案选 A。
Python 为了提高内存利用效率会对一些简单的对象(如数值较小的 int 对象,字符串等)采取重用内存地址的方法。所以 Python 中有一个小整数对象池,范围为[-5,256]。对于在这个范围内的整数,不会新建对象,直接从小整数池中取。
2、下列程序打印结果为()
import re str1="Python's features" str2=re.match(r'(.*)on(.*?).*',str1,re.M|re.I) print str2.group(1)
A Python
B Pyth
C thon’s
D Python’s features
解析:答案选 B。
re 模块实现正则功能。
re.match (正则表达式,要匹配的字符串,[匹配模式])
要匹配的字符串为str1=“Python’s features”
正则表达式r’(.)on(.?).’
r表示后面的字符串是一个普通字符串(比如\n会译为\和n,而不是换行符)
()符号包住的数据为要提取的数据,通常与.group()函数连用。
.匹配单个字符串。
匹配前一个字符出现0次或无限次。
?匹配前一个字符出现0次或1次。
(.)提取的数据为str1字符串中 on 左边的所有字符,即 Pyth。
(.?)提取的数据为str1字符串中 on 右边的,空格前面,即’s。
.group(0)输出的是匹配正则表达式整体结果。
.group(1)列出第一个括号匹配部分,.group(2)列出第二个括号匹配部分。
3、Assuming the filename for the code below is /usr/lib/python/person.py,and the program is run as:python/usr/lib/python/person.py,What gets printed?()
class Person: def __init__(self): pass def getAge(self): print __name__ p=Person() p.getAge()
解析:答案是 D。
1、__name__
这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__
的名称就是__main__
,如果不是,则为这个模块的名称。
2、__main__
一般作为函数的入口,类似于 C 语言,尤其在大型工程中,常常有if__name__=="__main__"
:来表明整个工程开始运行的入口。