【无标题】

#错题知识点解析笔记
1、__name__是python的一个内置类属性,它存储模块的名称。
python的模块既可以被调用,也可以独立运行。而被调用时__name__存储的是py文件名(模块名称),独立运行时存储的是"main"。
那么它的作用主要就是用来区分,当前模块是独立运行还是被调用。

通常的应用场景为:自己需要测试的时候会print一些东西,在print上加上一句 if name ==‘main’:就可以避免别人在调用的时候打印出自己的测试内容。

2、在 Python 中,pass 是一个空语句,为了保持程序结构的完整性。一般情况下,pass 不做任何事情,被用作占位符。
它的作用如下:

  1. 空语句 do nothing
  2. 保证格式完整
  3. 保证语义完整
    pass语法格式:pass
    如果写了一个循环或者函数,尚未实现(暂未想好如何实现或者交付给其他人),但是会在将来的某个时候实现。这时,如果循环体或者函数体为空,解释器就会报错。此时,可以使用 pass 语句构造一个不做任何事情的主体。
    pass 和注释之间的区别在于:解释器会完全忽略注释,但不会忽略 pass。然而,执行 pass 时什么都不会发生,导致无操作(NOP)。

python中跳出循环的关键词为 break

3、nums = set([1,2,2,3,3,3,4])
print len(nums)
set方法是移除重复数据 也就是去重 去重之后 就是[1,2,3,4] len也就是等于4

4、class Rect:

def init(self,width,height):

self.width = width

self.height = height

@property

def area(self):

return self.height* self.width

rect = Rect(10,20)

rect.area()

B
a = 0

def fun():

a += 1

print(a)

fun()

C
class Animal:

def init(self,color=“白色”):

Animal.color = color

def get_color(self):

print(“Animal的颜色为”,Animal.color)
class Cat(Animal):
def init(self):

pass

cat = Cat()

cat.get_color()

D
class Cat:

def init(self,color=“白色”):

self.__color = color

cat = Cat(“绿色”)

print(cat._Cat__color)

正确答案:D
你的答案:B
官方解析:
A选项,使用property会将方法转为属性,因此rect.area()应该改为rect.area。B选项,当给作用域中的一个变量赋值时,Python 会自动的把它当做是当前作用域的局部变量,从而会隐藏外部作用域中的同名变量,因此a += 1会报错。C选项,子类若有定义__init__()函数时,将不会自动继承父类的构造函数,因此在调用父类的get_color()函数时,会出现Animal找不到属性color,修改时只需在子类的__init__()函数中添加语句:super().init()。D选项,尽管color属性为私有属性,但是在类外部使用时,仍可以通过实例名._类名__xxx来访问。
2023.6.24

5、题目:
strs = [‘a’, ‘ab’, ‘abc’, ‘python’]
y = filter(lambda s: len(s) > 2, strs)
tmp = list(map(lambda s: s.upper(), y))
print(tmp)

其中filter方法为过滤序列中符合条件的元素
map函数为它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
上述y为选取strs中单词长度超过2的,得到的结果是[ ‘abc’, 'python]。
upper函数为将字母小写变大写
所以答案是[‘ABC’, ‘PYTHON’]

6、题目
执行下列程序,输出结果为()

def fun(a,*,b):

print(b)

fun(1,2,3,4)
官方解析:
当函数的的形参单独为*时,它并不属于未匹配的位置参数,而是表示后面的参数必须使用关键字参数进行匹配,所以这里会抛出异常。
7、list = [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
print list[10:]
解析:关于切片 而在step<0时,参数1一定大于参数2(右边的下标一定大于左边),否则就会得到空列表。

比如,t[0:3:2]和t[3:0:-2]都是合法的,而t[3:0:2]和t[0:3:-2]都是非法的,会输出空列表。所以此题结果是空列表

8、链接:https://www.nowcoder.com/questionTerminal/5ba163c0f27a42f5a20224e673252a34?orderByHotValue=0&mutiTagIds=573_572&page=7
来源:牛客网

b 二进制模式
r 只读,指针将会放在文件的开头
rb 二进制只读,指针将会放在文件的开头
r+ 读写,指针将会放在文件的开头
rb+ 二进制读写,指针将会放在文件的开头
w 写入, 如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
wb 二进制写入,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等
w+ 读写,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 二进制读写,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等
a 追加,如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
ab 二进制追加,如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
a+ 读写,如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 二进制读写,如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值