1、使用pip在你的计算机上安装Black、flake8和isort。
在命令行中执行以下命令来安装这些工具:pip install black flake8 isort
2、在代码中表示现实世界“事物”的自然方式是什么?
可以使用字典来模拟对象,将对象的属性和方法存储在字典中。例如,对于正方形对象,可以使用包含名称、边长、周长计算函数和面积计算函数的字典来表示。
3、1. 解释 Python 内置 hash 函数的作用。2. 为什么 hash(123) 和 hash(“123”) 可以正常工作,而 hash([123]) 会引发异常?
Python 的内置 hash 函数用于返回对象的哈希值。
hash(123) 和 hash("123") 能正常工作是因为整数和字符串是 不可变对象 ,可被哈希。
而列表是 可变对象 ,其内容可以改变,为保证哈希表的一致性和正确性,Python 不允许对可变对象进行哈希操作,所以 hash([123]) 会引发异常。
4、创建一个不匹配指定模式的匹配器。例如,Not(Lit(“abc”)) 仅在文本不是 “abc” 时匹配成功。并为其编写一些测试。
以下是实现该功能的 Python 代码:
首先,我们需要定义 Not 类,它接收一个匹配器作为参数,并在 match 方法中对其进行取反操作。接着,我们编写测试函数来验证 Not 类的功能。以下是具体代码:
class Lit:
def __init__(self, chars, rest=None):
self.chars = chars
self.rest = rest
def match(self, text, start=0):
end = start + len(self.chars)
if text[start:end] != self.chars:
return False
if self.rest:
return self.rest.match(text, end)
return end == len(text)
class Not:
def __init__(self, matcher):
self.matcher = matcher
def match(self, text, start=0):
return not self.matcher.match(text, start)
# 测试函数
def test_not_literal_match():
# Not(Lit("abc")) 匹配非 “abc” 的文本
assert Not(Lit("abc")).match("abd")
def test_not_literal_no_match():
# Not(Lit("abc")) 不匹配 “abc”
assert not Not(Lit("abc")).match("abc")
# 运行测试
test_not_literal_match()
test_not_literal_no_match()
上述代码定义了 Not 类,它接收一个匹配器作为参数,并在 match 方法中对其进行取反操作。同时,编写了两个测试函数 test_not_literal_match 和 test_not_literal_no_match 来验证 Not 类的功能。
5、编写一个函数,该函数接受一个表示包含数字的嵌套列表的字符串,并返回实际的列表。例如,输入 ‘[1, [2, [3, 4], 5]]’ 应生成对应的 Python 列表。
可以使用 Python 的 ast.literal_eval 函数来实现该功能,示例代码如下:
import ast
def str_to_list(s):
return ast.literal_eval(s)
使用示例:
input_str = '[1, [2, [3, 4], 5]]'
result = str_to_list(input_str)
print(result)
6、运行代码“for name in globals(): print(name)”会发生什么?运行代码“name = None; for name in globals(): print(name)”又会发生什么?为什么两者不同?
运行 for name in globals():

最低0.47元/天 解锁文章
1513

被折叠的 条评论
为什么被折叠?



