首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

20道常考Python面试题大总结

Werkzeug和Jinja2是其中的两个环境依赖。Flask不需要依赖外部库。 9、解释Python中的join()和split()函数。 Join()可用于将指定字符添加至字符串中。...Python指定了一个代码块。循环,类,函数等中的所有代码都在缩进块中指定。通常使用四个空格字符来完成。如果开发者的代码没有缩进,Python将无法准确执行并且也会抛出错误。...浅拷贝是将一个对象的引用拷贝到另一个对象上,如果在拷贝中改动,会影响到原对象。深拷贝是将一个对象拷贝到另一个对象中,如果对一个对象的拷贝做出改变时,不会影响原对象。...当一个嵌套函数在其外部区域引用了一个值时,该嵌套函数就是一个闭包。其意义就是会记录这个值。 比如: 运行结果是: 16、Python的优势有哪些?...主要区别是列表是可变的,元组是不可变的。比如以下举例: 会出现以下报错: 20、什么是Python模块?Python中有哪些常用的内置模块? Python模块是包含Python代码的.py文件。

4.7K20

Python最佳实践指南-结构化工程

最自然分开这两 层的方式是,在一份文件里重组所有功能接口,并将所有底层操作封装到另一个文件中。...在很多其他语言中,include file 指令被预处理器用来获取文件里的所有代码并‘复制’ 到调用方的代码中。...在这种情况下,导入多层嵌套 的子包中的某个部件需要执行所有通过路径里碰到的 __init__.py 文件。...但正如函数式编程所讨论的那个问题,函数式的“变量”状态与类的 状态并不相同。 在某些架构中,典型代表是web应用,大量Python进程实例被产生以响应可能同时到达的 外部请求。...命名为 ‘a’ 的变量可能是各种类型,开发人员或维护人员需要在代码中追踪命名,以保证它 没有被设置到毫不相关的对象上。

70041
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不可不知的一点Python陷阱

    每个对象都有一个唯一标识,可以用id函数来读取。要找出两个变量或两个属性是否都指向同一个对象,可以使用is操作符。...处理措施是维护搜索路径中的所有目录和包文件的安全访问权限,以确保未经授权的用户无法对其进行写访问。请记住,调用Python解释器的初始脚本所在的目录会自动插入到搜索路径中。...在Python中,函数时第一类对象,它们维护了到函数的许多属性的引用。...幸运的是,Python的标准库中自带了tempfile模块,它提供高层次函数,“以可能的最安全的方式”来创建临时文件名。...安全意识高的开发者可能会考虑首先将源文件复制到一个随机的临时文件名,然后将临时文件重命名为它最终的名字。

    1.2K80

    C++并发 - 线程管理

    「多进程并发」   将场景任务以两个或以上进程实现,这些独立的进程相互通信,共同完成任务,称之为多进程并发。  ...由于操作系统对进程提供了大量的保护机制,以避免一个进程修改了另一个进程的数据,使用多进程比多线程更容易写出安全的代码。...因此, thread_guard对象g是第一个被销毁的, 这时线程在析构函数中被加入②到原始线程中。...转移线程所有权   转移线程所有权是将一个线程的任务函数的控制权转移到另一个线程。   转移所有权,我理解的是在局部函数或特定阶段,能够随意控制指定线程而不受外部影响,另外也会减少资源开销。  ...线程外部通过 std::thread 对象的成员函数 get_id() 获取。

    65320

    前端入门16-JavaScript进阶之EC和VO声明正文-执行上下文EC和变量对象VO

    JavaScript 在 JavaScript 中,上下文是指执行上下文,通俗点理解,代码执行的上下文,所以也有翻译成执行环境,可以通俗的把它理解成一个对象,对象名 EC,表示代码的执行上下文。...所以执行 js 文件代码期间,这个栈底一直是全局执行上下文,直到 js 文件代码执行结束。全局代码执行过程中,每调用一次函数,新创建一个函数执行上下文,就放入栈内。...将 EC 理解成一个对象的话,它有两个属性,一个是变量对象(VO),另一个是作用域链(Scope Chain)。...也就是说,内部函数之所以可以使用外部函数内的变量,之所以可以使用全局变量,都是依赖于当前这个内部函数的执行上下文。 而且,变量之所以会提前声明也是因为执行上下文的因素。...作用域链 每次函数调用时,都会创建一个函数执行上下文 EC,但其中的变量对象 VO 只保存着当前上下文中的变量而已,那么函数内如果需要使用到外部函数的变量,甚至是使用全局的变量时,此时就需要依赖于执行上下文的另一个属性

    74031

    React进阶(5)-分离容器组件,UI组件(无状态组件)

    Redux实现了一个todolist,但是代码依旧不够完美,我们继续进行拆分的 在本节中,你将学习到,如何拆分容器组件,UI组件(无状态组件),让组件尽可能的保持功能的单一,减少组件的状态的 容器组件...,让每个组件只专注的做自己的事情 例如:在我们上几节代码中的Todolist的代码中,尽管我们把数据已经抽离放到store当中进行存储了的,但是依旧有许多逻辑,组件的渲染都杂糅在一个文件当中的 如下代码所示...,另一个就是渲染组件 我们可以把这个组件进一步的拆分成两个组件,分别承担着不同的任务,然后把两个组件嵌套起来,完成一个大组件所有的功能 关于组件的嵌套问题,涉及到一个父子组件(外部组件与内部组件),在组件当中调用的地方位置处...如下所示,主要是将父组件中的render函数返回的内容,直接返回一个组件的,而子组件的渲染通过外部的props值给传进去,关注render函数的返回内容 import React, { Component...,分离出了UI组件,实际上就如下图的关系 关于state状态通过容器组件来获取,然后通过props传递给UI组件,让组件更少的涉及到状态的维护,避免分散在各个组件中 结语 在React中,对于组件的职责功能划分

    1.5K00

    Python 架构模式:第十章到结语

    ,我们可以得到一个整洁打印的摘要,其中包含了我们可以复制并粘贴到 Python shell 中以重新创建对象的传入数据。...例如,我们的客户不会注意到查询是否过时几秒钟,但如果我们的分配服务不一致,我们将搞乱他们的订单。我们可以利用这种差异,通过使我们的读取最终一致来使它们的性能更好。...很难在不跨越整个代码库进行寻宝之旅的情况下理解每个操作的含义。将所有逻辑汇总到一个方法中,并使用 UoW 来控制我们的事务,使系统更容易理解。 提示 如果在用例函数中存在重复,也没关系。...这是一个很好的机会,可以将任何数据访问或编排代码从领域模型中提取出来,并放入用例中。我们还应该尝试将 I/O 问题(例如发送电子邮件、写文件)从领域模型中提取出来,并放入用例函数中。...例如,我们的一个屏幕是文件夹和文档的树形视图。 这个屏幕在数据库上非常重,因为它依赖于触发延迟加载的 ORM 的嵌套for循环。

    29810

    【深入浅出C#】章节 6: 异常处理和调试:异常的概念和处理机制

    finally块是可选的,它在try-catch块结束后执行,无论是否发生异常都会执行其中的代码。finally块通常用于释放资源或进行一些清理工作,比如关闭文件、数据库连接等。...当程序执行到throw语句时,会立即终止当前代码块的执行,并将指定的异常对象抛出到调用堆栈中的上一级try-catch块,或者如果没有匹配的try-catch块,则导致程序崩溃。...无论在 try 块中是否抛出异常,finally 块中的代码都会得到执行,确保资源的正确释放和清理。...1.5 try-catch-finally 嵌套 在 C# 中,try-catch-finally 块可以进行嵌套,即在一个 try 块或 catch 块中嵌套另一个 try-catch-finally...4.2 构建异常链 在 C# 中,我们可以使用 InnerException 属性来构建异常链,将一个异常嵌套在另一个异常中,形成异常链。

    1.1K40

    【Python】从基础到进阶(五):探究Python中的函数与模块

    函数是Python中最基本的代码组织形式,通过将代码封装成函数,我们可以实现代码的重用、提高代码的可读性以及简化调试过程。...__doc__) # 输出函数的文档字符串 5. 函数的嵌套与作用域 在Python中,函数可以嵌套定义,并且内部函数可以访问外部函数的变量。函数的作用域规则决定了变量在不同作用域中的可见性。...在下一部分中,我们将探讨如何将函数和其他代码组织在模块中,以实现更高效的代码重用和管理。 三、模块 1....自定义模块 您可以创建自己的模块,将常用的函数和类封装在其中,方便在多个程序中复用。创建自定义模块的方法很简单,只需将函数或类定义在一个.py文件中,并在需要时导入该模块即可。...该计算器支持基本的加减乘除运算,并采用模块化的设计,将不同的运算功能分离到各自的模块中。 1. 需求分析 我们需要实现以下功能: 支持加法、减法、乘法和除法运算。

    10810

    Google C++ 编程风格指南(二):作用域

    最好不要使用 using 指示,以保证名字空间下的所有名称都可以正常使用. // 禁止 —— 污染名字空间 using namespace foo; 在 .cc 文件, .h 文件的函数, 方法或类中,...嵌套类 当公有嵌套类作为接口的一部分时, 虽然可以直接将他们保持在全局作用域中, 但将嵌套类的声明置于 2.1. 名字空间 内是更好的选择....嵌套类可以在外围类中做前置声明, 然后在 .cc 文件中定义, 这样避免在外围类的声明中定义嵌套类, 因为嵌套类的定义通常只与实现相关. 缺点: 嵌套类只能在外围类的内部做前置声明....这样的函数可以被定义成静态成员, 或是非成员函数. 非成员函数不应依赖于外部变量, 应尽量置于某个名字空间内. 相比单纯为了封装若干不共享任何静态数据的静态成员函数而创建类, 不如使用 2.1....定义在同一编译单元的函数, 被其他编译单元直接调用可能会引入不必要的耦合和链接时依赖; 静态成员函数对此尤其敏感. 可以考虑提取到新类中, 或者将函数置于独立库的名字空间内.

    79130

    C++ 作用域使用规范建议

    1.名字空间(Namespace) C++ 在 C 的基础上引入了名字空间机制,使C中作用域的级别从原有的文件域(全局作用域)、函数作用域和代码块作用域(局部域)增加了名字空间域和类域。...使用匿名名字空间的作用主要是将匿名名字空间中的成员的作用域限制在源文件中,其作用域与使用static关键字类似,但是与static关键字不同的是:包含在匿名名字空间中的成员(变量或者函数)具有外部连接特性...有时,不把函数限定在类的实体中是有益的,甚至需要这么做,要么作为静态成员,要么作为非成员函数。非成员函数不应依赖于外部变量,并尽量置于某个名字空间中。...可以考虑提取到新类中,或者将函数置于独立的名字空间中。...大多数全局变量应该是类的静态数据成员,或者当其只在.cpp文件中使用时,将其定义到不具名名字空间中,或者使用静态关联以限制变量的作用域。

    1.1K20

    深入解析Python中的unittest框架-基础用法与实践技巧

    通过命令行运行 将测试代码保存在一个Python文件中,例如test_example.py,然后在终端中运行: python -m unittest test_example.py 在代码中运行 可以在测试脚本的末尾添加以下代码来运行测试...suite()函数将多个测试用例添加到测试套件中,随后由runner运行该套件。...如果某个子测试失败,其余的子测试仍会继续运行,并报告具体的失败用例。 使用Mock对象 在测试依赖外部资源(如数据库、API调用或文件系统)的代码时,直接访问这些资源可能不是最佳选择。...通过设置fetch_data方法的返回值,我们可以控制测试的行为,而不依赖于实际的外部API调用。 测试代码覆盖率 在测试过程中,代码覆盖率是一个非常重要的指标,用于评估测试覆盖了多少代码。...在实际开发中,单元测试是确保代码质量的有效手段,建议开发者将其融入日常开发流程中,以提高软件的健壮性和可维护性。

    27320

    React 17 RC 版发布:无新特性,却有新期待!

    这会破坏 e.stopPropagation(): 即便嵌套树停止了事件冒泡,外部的树仍会接收到该事件,这就使嵌套不同版本的 React 难以实现。...例如,如果应用的外部「shell」是用 jQuery 编写的,但其中的较新代码是用 React 编写的,那么 React 代码中的 e.stopPropagation() 将会阻止它执行 jQuery...请注意, e.persist() 在 React 事件对象上仍然可用,但是现在它什么也没做。 Effect 清理时机 我们正在使 useEffect 清理函数的时间更统一。...在极少数情况下,你可能希望依赖同步执行,这时你可以改用 useLayoutEffect. 另外,React 17 会根据 effect 在树中的位置,以相同的顺序执行清理函数。...React 实现这一机制的方式有些另类。目前,浏览器并不提供获取函数堆栈框架(源文件和位置)的方法。

    2.4K20

    React进阶(5)-分离容器组件,UI组件(无状态组件)

    Redux实现了一个todolist,但是代码依旧不够完美,我们继续进行拆分的 在本节中,你将学习到,如何拆分容器组件,UI组件(无状态组件),让组件尽可能的保持功能的单一,减少组件的状态的 · 正...,那么就可以把组件拆分成若干粒度的小组件的,让每个组件只专注的做自己的事情 例如:在我们上几节代码中的Todolist的代码中,尽管我们把数据已经抽离放到store当中进行存储了的,但是依旧有许多逻辑...,另一个就是渲染组件 我们可以把这个组件进一步的拆分成两个组件,分别承担着不同的任务,然后把两个组件嵌套起来,完成一个大组件所有的功能 关于组件的嵌套问题,涉及到一个父子组件(外部组件与内部组件),在组件当中调用的地方位置处...UI组件(傻瓜组件/无状态组件) UI组件:纯函数,没有任何副作用,给指定的输入,有指定的输出的函数,换句话说,只根据外部组件的props进行渲染组件的 好处:拆分成容器组件与UI组件,不仅仅是功能上的分离...如下所示,主要是将父组件中的render函数返回的内容,直接返回一个组件的,而子组件的渲染通过外部的props值给传进去,关注render函数的返回内容 import React, { Component

    96410

    tf.data

    要在函数内部使用Python代码,有两个选项:1)依靠AutoGraph将Python代码转换成等价的图形计算。这种方法的缺点是AutoGraph可以转换一些但不是所有的Python代码。...2)使用tf.py_function,它允许您编写任意Python代码,但通常会导致比1)更差的性能。参数:map_func:映射张量嵌套结构的函数(具有self定义的形状和类型)。...到另一个嵌套的张量结构。num_parallel_calls:(可选)。一个tf.int32标量tf。张量,表示要并行异步处理的数字元素。如果没有指定,元素将按顺序处理。...(弃用)参数:map_func:映射张量嵌套结构的函数(具有self定义的形状和类型)。到另一个嵌套的张量结构。num_parallel_calls:(可选)。一个tf.int32标量tf。...该方法与Python中的内置zip()函数具有类似的语义,主要区别在于数据集参数可以是Dataset对象的任意嵌套结构。

    2.8K40

    《Python for Excel》读书笔记连载1:为什么为Excel选择Python?

    执行这种嵌套函数调用与其他编程语言的工作方式没有什么不同,只是在单元格中编写代码,而不是在文本文件中编写代码。...没有重复的代码意味着更少的代码行和更少的错误,这使得代码更易于维护。 如果编写VBA,最常见的可重用代码是函数。例如,通过函数可以从多个宏访问同一代码块。...版本控制 专业程序员的另一个特点是他们使用系统进行版本控制或源代码控制。版本控制系统(VCS)跟踪源代码随时间的变化,允许你查看谁修改了内容、修改时间和原因,并允许你在任何时间点恢复到旧版本。...PowerQuery的核心功能是处理太大而无法放入电子表格的数据集。加载数据后,你可以执行额外的步骤来清理和操作数据,使其以Excel中可用的形式出现。...Power Pivot与PowerQuery齐头并进:从概念上讲,这是使用PowerQuery获取和清理数据之后的第二步。PowerPivot可帮助你直接在Excel中以吸引人的方式分析和显示数据。

    5.3K20

    作为Python中级程序员,有句话不知当讲不当讲 ( ̄へ ̄)

    ▍LEGB含义解释 L-Local(function):函数内的名字空间 E-Enclosing function locals:外部嵌套函数的名字空间(例如closure) G-Global(module...▍闭包 维持对早期范围对象的引用。 ? 我们可以使用_closure__来验证函数是否为闭包。 ? 一个函数和它的环境变量合在一起,就构成了一个闭包(closure)。...简单来说Python中的装饰器就是指某些函数或其他可调用对象,以函数或类作为可选输入参数,然后返回函数或类的形式。...2、包通常实现为包含特殊 _init__.py 文件的目录。 3、导入包时执行 __init__.py 文件。 4. 包可以包含自己实现的子包。...这些子包本身是用目录中的 __init__.py 文件实现的。 5、包的模块对象具有__path__属性。 绝对导入:使用模块完整路径的导入。

    1.2K20

    Python 架构模式:引言到第四章

    分层 封装和抽象通过隐藏细节和保护数据的一致性来帮助我们,但我们还需要注意对象和函数之间的交互。当一个函数、模块或对象使用另一个时,我们说一个依赖于另一个。这些依赖形成一种网络或图。...您无需担心 pytest 或其固定装置的细节,但简单的解释是,您可以将测试的常见依赖项定义为“固定装置”,pytest 将通过查看其函数参数将它们注入到需要它们的测试中。...相反,我们喜欢清楚地确定代码库中的责任,并将这些责任分离成小而专注的对象,这些对象易于用测试替身替换。...将事物放入文件夹中以查看它们的归属 随着我们的应用程序变得更大,我们需要不断整理我们的目录结构。我们项目的布局为我们提供了关于每个文件中可能包含的对象类型的有用提示。...② 我们将区分服务层。目前只有一个名为services.py的文件用于我们的服务层函数。您可以在这里添加服务层异常,并且正如您将在第五章中看到的那样,我们将添加unit_of_work.py。

    52110

    Google C++编程风格指南(三)之作用域的相关规范

    1.名字空间(Namespaces) C++在C的基础上引入了名字空间机制,使C中作用域的级别从原有的文件域(全局作用域)和局部域(函数作用域和代码块作用域)中间增加了名字空间域和类域。...使用匿名名字空间的作用主要是将匿名名字空间中的成员的作用域限制在源文件中,其作用域static关键字类似,但是其static关键字不同的是:包含在匿名名字空间中的成员(变量或者函数)具有外部连接特性,而用...有时,不把函数限定在类的实体中是有益的,甚至需要这么做,要么作为静态成员,要么作为非成员函数。非成员函数不应依赖于外部发量,并尽量置亍某个命名空间中。...可以考虑提取到新类中,或者将函数置亍独立库的命名空间中。...大多数全局变量应该是类的静态数据成员,或者当其只在.cpp文件中使用时,将其定义到不具名名字空间中,或者使用静态关联以限制变量的作用域。

    1.2K30

    类和对象(万字总结!深度总结了类的相关知识)(上)

    继承:一个类可以从另一个类继承属性和行为,便于代码复用和扩展。 多态:不同的对象可以通过相同的接口调用不同的实现,这种特性称为多态性。...private:私有成员,外部代码无法直接访问,只能通过类的公有函数访问。 protected:受保护成员,外部代码无法访问,但可以在派生类中访问。...析构函数:析构函数用于在对象销毁时执行清理工作,它的名称是类名前加一个波浪号 ~,通常用于释放资源(如内存或文件句柄)。...需要注意的是,静态成员变量在类的外部进行定义。 5.3 类的嵌套作用域 在C++中,类还支持嵌套类,即一个类可以定义在另一个类的作用域中。嵌套类的作用域只限于包含它的类内部。...这意味着类中的每个成员变量的地址可能需要对齐到某个字节边界上,编译器可能会在变量之间插入“填充字节”以满足对齐要求。

    9510
    领券