面试复习-Python-模块
模块模块是一个包含 Python 定义和语句的文件,其作用包括: 代码组织与复用 每个模块都有自己的全局作用域,不同模块中的同名变量和函数不会相互干扰 要点: 模块的搜索路径存在于PYTHONPATH环境变量中,解释器中可以通过sys.path查看 命名空间:局部空间 > 全局空间 > 内建空间 python的对象可以看做一个命名空间,可以通过’.’给其添加属性。 模块导入 import module_name from module_name import obj1, obj2... from module_name import obj1 as obj import module_name as obj 被导入模块只在第一次导入的时候执行 被导入的模块或Python对象遵循全局或者局部作用域的原则 包包是一种组织模块的方式,它可以将多个相关的模块放在一个目录下,以便更好地管理和复用代码。一个包实际上是一个包含 init.py 文件的目录。这个文件可以是空的,也可以包含一些初始化代码,当包被导入时会自动执行。一个拥有子包的目录结构如下: 12345678my_p ...
面试复习-Python-函数
函数的参数组123456789101112131415>>> def myfunc(*args, **kwargs):... print(args)... print(kwargs)...>>> myfunc(1, 2, name="sen")(1, 2){'name': 'sen'}>>> myfunc(1, 2, name="sen", 3) File "<stdin>", line 1 myfunc(1, 2, name="sen", 3) ^SyntaxError: positional argument follows keyword argument>>> myfunc(name="sen")(){'name': ' ...
面试复习-Python-错误与异常
Python中常见的异常123456789101112131415161718192021222324252627282930313233>>> for File "<stdin>", line 1 for ^SyntaxError: invalid syntax>>> nameTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'name' is not defined>>> 5/0Traceback (most recent call last): File "<stdin>", line 1, in <module>ZeroDivisionError: division by zero>>> f[0]Traceback (most ...
面试复习-Python-文件处理
open函数在 Python 中,open()函数用于打开文件,并返回一个文件对象,通过这个文件对象可以对文件进行各种操作。 12f = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)f.close() file:要打开的文件路径,可以是相对路径或绝对路径。 mode(可选):打开文件的模式,默认为’r’(只读模式)。常见的模式有: ‘r’:只读模式,文件必须存在。 ‘w’:写入模式,如果文件存在则清空内容,如果文件不存在则创建新文件。 ‘a’:追加模式,在文件末尾追加内容,如果文件不存在则创建新文件。 ‘b’:二进制模式,可以与其他模式结合使用,如’rb’(二进制只读模式)、’wb’(二进制写入模式)。。 ‘t’:文本模式(默认),可以与其他模式结合使用,如’rt’(文本只读模式)、’wt’(文本写入模式)。 buffering(可选):设置缓冲策略。默认为 - 1,表示使用系统默认的缓冲策略 ...
面试复习-Python-流程控制
分支语句 if-elif-else 12345678910>>> string = 'hello world'>>> string_len = len(string)>>> if string_len > 10:... print("too long")... elif 2 < string_len < 5:... print("okay")... else:... print("too short")...too long 三目运算 too_long = True if len(string) > 10 else False 循环语句 for-in while break continue else: 循环语句中的else在循环顺利完成后执行,即没有被break 迭代器在 Python 中,迭代器是一种实现了迭代器协议的对象。迭代器协议包括两个方法:__iter__() 和 __nex ...
面试复习-Python-数据类型
Python 是一种高级编程语言,具有丰富的数据类型。了解这些数据类型对于有效地编写 Python 代码至关重要。以下是对 Python 主要数据类型的详细介绍。 Python使用对象模型来存储数据,一个python对象通常包含ID,Type, Value。 Python数据类型的分类标准类型: 数字 整型 长整型 浮点型 复数 布尔型 字符串 列表 (可变) 元组 字典 (可变) 其他内置数据类型: 类型 None 文件 集合 函数 模块 类 布尔值为False的对象: None, False, 0, 0.0, 0L, 0.0+0.0j, "", [], (), {} (JS中[], {}转换成布尔值后为true) 标准类型的操作符 数值比较操作符有: < > <= >= == != <> ID比较: is 和 is not 逻辑运算: and or not 用于标准类型的内置函数: type(o) repr(o) str(o) isinstance(o, O) id(o) 序 ...
AI: 发展历程、现状与基本概念
AI是什么?AI(人工智能)是一门研究、开发用于模拟、延伸和扩展人的智能的技术科学。 它具有以下几个关键特点: 学习能力:能够从大量的数据中自动学习模式、规律和知识。通过机器学习算法,AI 可以对数据进行分析和理解,不断提升自身的性能和能力。 智能表现:可以展现出类似人类智能的某些方面,比如感知、认知、决策、推理等。例如,图像识别、语音识别、自然语言处理等都是 AI 智能表现的具体体现。 适应性:能够根据不同的环境和任务进行调整和适应。它可以在新的情境中运用已学到的知识和技能,以更好地完成任务。 自主性:在一定程度上可以自主地进行操作和决策,而无需持续的人类干预。 广泛的应用领域:涵盖了医疗、交通、金融、教育、制造业等众多行业。比如在医疗领域辅助疾病诊断,在交通领域实现自动驾驶等。 从实现方式来看,AI 包含多种技术,如机器学习(包括监督学习、无监督学习等)、深度学习(利用深度神经网络)、自然语言处理、计算机视觉、智能机器人技术等。 AI 的目标是创造出能够像人类一样思考、学习和行动的智能系统,以帮助人类解决各种复杂的问题,提高工作效率和生活质量。然而,随着 AI 的发展,也带来了 ...
GraphQL概要
GraphQL概要 GraphQL是什么 API标准,可以作为REST API的备选方案 由Facebook开发并开源发布 用于API的查询语言 GraphQL诞生的原因 在网速较慢的设备上,移动端应用需要更快速的加载数据。GraphQL只需要传输前端需要的数据,而REST API则传世请求资源的所有数据。 前端框架和平台多种多样,GraphQL可以让它们可以精确地访问需要的数据。 持续集成导致API改动频率增加,而GraphQL则能减少这样的改动。 GraphQL相对于REST的优势 减少了要传输的数据 减少了发送请求的数量 避免了由于API设计变化导致的endpoint结构的调整 更理解客户端对数据的需求 Schema和强类型可以让前后端独立开发 GraphQL的核心概念 Schema Definition Language (SDL) 12345678910type Person { name: String! age: Int! posts: [Post!]!}type Post { title: String ...
Docker笔记
存储卷(Volumes) 匿名卷:可以在Dockerfile中使用VOLUME [ "/path" ]创建匿名卷,也可以在启动容器的时候用-v /path来创建。匿名卷在container被删掉之后会被自动删除。 命名卷:可以在启动容器的时候用-v volume_name:/path来创建命名卷。命名卷在容器被删除时不会被自动删除。 绑定挂载(Bind Mount):在启动容器时使用-v host_path:/container_path将主机上的目录映射到容器中。这样主机上文件的改动就能直接反映在容器里,无需重新构建容器镜像。 容器网络 容器中可以使用host.docker.internal作为主机名来访问主机网络。 多个容器可以通过--network {network_name}加入同一网络,同一网络中的容器可以通过容器名互相访问。 Docker网络有bridge, host, none, overlay, macvlan, third-party plugin等类型,在创建网络是通过--driver来指定。 CMD or ENTRYPO ...
Go语言的过程式编程
Go语言中常用的内置函数 函数 用法 append(s, …) 将s后面的所有参数追加到切片s中,如果容量不够,则新建一个切片 cap(x) 返回切片或者通道的容量,数组的长度 len(x) 返回切片、数组或者通道的长度 close(ch) 关闭通道,即不可以再往通道中写入值,但还可以读取 complex(r, i) 生成一个复数 copy(dist, src) 将切片src中的项复制到切片dist中,或者讲字符串src复制到[]byte类型的切片dist中 delete(m, k) 从映射m中删除键值为k的项 real(cx) 返回复数cx的实部 imag(cx) 返回复数cx的虚部 make(T, l, c) 创建一个切片、通道或者映射 new(T) 一个指向类型为T的值的指针 panic(x) 抛出一个运行时异常,其值为x recover() 捕获一个运行时异常 Go语言赋值 Go语言中的自增自减运算符都是后置的,且没有返回值。 可以使用=来给变量赋值,如果前面没有加var,那么变量必须是已经存在的。 可以使用逗号同时 ...




