Python教程

牛客网【Python专项练习】错题笔记

本文主要是介绍牛客网【Python专项练习】错题笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2021.09.20练习记录

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__":来表明整个工程开始运行的入口。

这篇关于牛客网【Python专项练习】错题笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!