答:DocStrings 文档字符串是一个重要工具,用于解释文档程序,帮助你的程序文档更加简单易懂。主要是解释代码作用的。
答:PEP 484 引入了类型提示,这使得可以对 Python 代码进行静态类型检查。 在使用 Ide 的时候可以获取到参数的类型,更方便传入参数。使用格式如下
def foo(num: int) -> None:
print(f"接收到的数字是:{num}")
介绍下这个简单例子,我们可以在函数的参数部分使用参数名+:+类型,来指定参数可以接受的类型,这里的话就是 num 参数为 int 类型,然后后面->接的是返回值的类型。这里返回值为 None,然后通过 fstring 格式化字符串输出传入的数字。
答:类:总是使用首字母大写单词串,如 MyClass。内部类可以使用额外的前导下划线。 变量:小写,由下划线连接各个单词。方法名类似 常量:常量名所有字母大写 等
答:可以使用 docstring 配合类型注解
答:可以通过变量名:类型的方式如下
a: str = “this is string type”
答:给文件命名的时候不要和标准库库的一些模块重复,比如 abc。 另外要名字要有意义,不建议数字开头或者中文命名。
答:pylint 和 flake8
答: Python3 中有六个标准的数据类型:字符串(String)、数字(Digit)、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)。
答: 从对象内存地址方向来说
答:%s,format,fstring(Python3.6 开始才支持,现在推荐的写法)
数据类型 - 列表
答:
l = [[1,2],[3,4],[5,6]]
x=[j for i in l for j in i]
print(x)
答:del 可以根据索引(元素所在位置)来删除的,没有返回值。 pop 可以根据索引弹出一个值,然后可以接收它的返回值。
d1 = [
{‘name’:‘alice’, ‘age’:38},
{‘name’:‘bob’, ‘age’:18},
{‘name’:‘Carl’, ‘age’:28},
]
答:
d1 = [
{‘name’: ‘alice’, ‘age’: 38},
{‘name’: ‘bob’, ‘age’: 18},
{‘name’: ‘Carl’, ‘age’: 28},
]
print(sorted(d1, key=lambda x:x[“age”]))
答: 合并字典方法很多,可以使用 a.update(b) 或者下面字典解包的方式
a = {“A”:1,“B”:2}
b = {“C”:3,“D”:4}
print({**a,**b})
答:
#需求 3: 把字典的 key 和 value 值调换;
d = {‘a’:‘1’, ‘b’:‘2’}
print({v:k for k,v in d.items()})
答 zip 的使用,但是最后记得把 zip 对象再转换为字典。
a = (“a”, “b”)
b = (1, 2)
print(dict(zip(a, b)))
A:{1:0,2:0,3:0}
B:{“a”:0, “b”:0, “c”:0}
C: {(1,2):0, (2,3):0}
D: {[1,2]:0, [2,3]:0}
答:D 因为只有可 hash 的对象才能做字典的键,列表是可变类型不是可 hash 对象,所以不能用列表做为字典的键。
答:
s = {“A”:1,“B”:2}
#方法一:
dict_new = {value:key for key,value in s.items()}
new_s= dict(zip(s.values(),s.keys()))
答: 这个题目考察了 Python 标准库的 itertools 模快的掌握情况,该模块提供了操作生成器的一些方法。 对于生成器类型我们使用 islice 方法来实现切片的功能。例子如下
from itertools import islice
gen = iter(range(10)) #iter()函数用来生成迭代器
#第一个参数是迭代器,第二个参数起始索引,第三个参数结束索引,不支持负数索引
for i in islice(gen,0,4):
print(i)
答:通过把列表生产式的中括号,改为小括号我们就实现了生产器的功能即,
(i for i in range(3))