当前位置: 首页 > news >正文

安徽省住房与城乡建设部网站上海网络排名优化

安徽省住房与城乡建设部网站,上海网络排名优化,济南企业网站开发,音乐图书馆网站建设系列文章目录 个人简介#xff1a;机电专业在读研究生#xff0c;CSDN内容合伙人#xff0c;博主个人首页 Python面试专栏#xff1a;《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读#xff0c;一起进步#xff01;#x1f31f;#x1f31f;#x1f31f; …系列文章目录 个人简介机电专业在读研究生CSDN内容合伙人博主个人首页 Python面试专栏《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读一起进步 码字不易如果觉得文章不错或能帮助到你学习可以点赞收藏评论关注哦 文章目录 系列文章目录Python 面试的基础问题1. 什么是 Python?使用 Python 的好处是什么2. 什么是强动态类型语言?什么是动态类型/静态类型性能灵活性和出错什么是强类型/弱类型记住结论 3.什么是解释型语言?4. PEP 8 是什么?为什么它很重要?5. Python 中的作用域是什么?6. 什么是列表和元组?两者的主要区别是什么?7. Python 中常见的内置数据类型有哪些8. 什么是 Python 中的 pass9. 什么是 Python 中的模块和包10. Python 中的全局属性、受保护属性和私有属性是什么11. self 在 Python 中有什么用12. 什么是__init__13. 什么是 Python 中的 break、continue 和 pass14. 什么是 Python 中的单元测试15. 什么是 Python 中的文档字符串16. 什么是 Python 中的切片17. 解释如何在 Unix 上使 Python 脚本可执行18. Python 数组和列表有什么区别 Python 面试的进阶问题[华为、阿里巴巴、字节跳动 100 Python 面试问题总结二](https://blog.csdn.net/a2360051431/article/details/131484549) 本文是Python面试专栏的第一篇。在本专栏中我将总结华为、阿里巴巴、字节跳动等互联网公司 Python 面试中最常见的 100 问题。每道题都提供参考答案希望能够帮助你在求职面试中脱颖而出找到一份高薪工作。这些面试题涉及 Python 基础知识、Python 编程、数据分析以及 Python 函数库等多个方面。 Python 面试的基础问题 1. 什么是 Python?使用 Python 的好处是什么 Python 是一种高级的、解释型的、通用的编程语言。作为一种通用语言它可以使用合适的工具/库来构建几乎任何类型的应用程序。此外Python 还支持对象、模块、线程、异常处理和自动内存管理这有助于对现实世界的问题进行建模并构建应用程序来解决这些问题。 使用 Python 的好处 Python 是一种通用编程语言它具有简单、易于学习的语法强调可读性从而降低了程序维护的成本。此外该语言能够编写脚本是完全开源的并支持鼓励模块化和代码重用的第三方包。它的高级数据结构与动态类型和动态绑定相结合吸引了大量开发人员进行快速应用程序开发和部署。 2. 什么是强动态类型语言? 什么是动态类型/静态类型 在理解动态类型语言之前我们应该先了解什么是类型检查。 类型检查是一个验证和施加类型约束的过程编译器或解释器通常在编译或运行阶段做类型检查。用更简单的术语类型检查仅仅就是查看变量和它们的类型然后说这个表达式是合理的。 因此现在我们知道类型检查是什么明白这些术语真的很简单。 在静态类型语言statically typed languages中类型检查发生在编译阶段compile time即代码执行前在动态类型语言dynamically typed languages中类型检查发生在运行阶段run time即代码执行期间。 性能 静态类型编译阶段做更多处理但是运行时性能更好 动态类型编译阶段更高效但是运行时的类型检查会影响到性能 灵活性和出错 静态类型运行时出错机会更小但是提供给程序员的灵活性不好 动态类型提供更多的灵活性但是运行时出错机会相对更大 什么是强类型/弱类型 首先看下什么是强类型在强类型中不管在编译时还是运行时一旦某个类型赋值给某个变量它会持有这个类型并且不能同其他类型在计算某个表达式时混合计算 然而在弱类型中它是很容易与其他类型混合计算的。 例如在 Python 中“1” 2 将导致类型错误因为这些语言不允许 “类型强制转换”数据类型的隐式转换。然而在另一门同样伟大的语言 Javascript 中将简单地输出 “12” 作为结果。 记住 各种语言按照动态/静态强/弱类型的划分 结论 类型检查确保一个表达式中的变量类型是合法的。在静态类型语言中类型检查发生在编译阶段动态类型语言类型检查发生在运行阶段。强类型语言有更强的类型检查机制表达式计算中会做严格的类型检查而弱类型语言允许各种变量类型间做一些运算。Python 是一门强动态类型的语言 3.什么是解释型语言? 解释型语言逐行执行它的语句。Python、Javascript、R、PHP 和 Ruby 等语言是解释型语言的主要例子。用解释型语言编写的程序直接从源代码运行没有中间的编译步骤。 4. PEP 8 是什么?为什么它很重要? PEP 8 是 Python 官方推荐的编码规范。其中 PEP 是 Python Enhancement ProposalPython 增强建议书的缩写8 代表的是 Python 代码的样式指南。PEP 8 是向 Python 社区提供信息的官方设计文档或者描述 Python 或其进程的新特性。PEP 8 特别重要因为它记录了Python 代码的样式指南。显然为使代码易读、易懂、易维护需要真诚而严格地遵循这些样式指南。 5. Python 中的作用域是什么? Python 中的每个对象都在一个作用域内运行。作用域是 Python 中对象保持相关的代码块。命名空间唯一地标识程序中的所有对象。但是这些名称空间也有一个为它们定义的作用域可以在没有任何前缀的情况下使用它们的对象。Python 代码执行过程中创建作用域的几个例子如下: 局部作用域指的是当前函数中可用的局部对象。全局作用域指的是自开始以来在整个代码执行过程中可用的对象。模块级作用域指的是程序中可访问的当前模块的全局对象。最外层作用域指的是程序中可调用的所有内置名称。最后搜索此范围内的对象以查找引用的名称。 注意局部作用域对象可以使用 global 关键字与全局作用域对象同步。 6. 什么是列表和元组?两者的主要区别是什么? 列表和元组都是序列数据类型可以在 Python 中存储数据。存储在这两个序列中的数据可以具有不同的数据类型。列表用方括号表示而元组用圆括号表示。 但两者的真正区别是什么呢两者之间的关键区别在于列表是可变的而元组是不可变的对象。这意味着列表可以随时修改、追加或切片但元组保持不变。可以在 Python IDLE 上运行以下示例来确认差异 my_tuple (sara, 6, 5, 0.97) my_list [sara, 6, 5, 0.97] print(my_tuple[0]) # output sara print(my_list[0]) # output sara my_tuple[0] ansh # modifying tuple throws an error my_list[0] ansh # modifying list list modified print(my_tuple[0]) # output sara print(my_list[0]) # output ansh7. Python 中常见的内置数据类型有哪些 Python 中有几种内置数据类型。虽然 Python 不要求在变量声明期间显式定义数据类型但如果忽略数据类型的知识及其相互兼容性则可能会发生类型错误。Python 提供 type() 和 isinstance() 函数来检查这些变量的类型。这些数据类型可分为以下几类 None Type 关键字 None 表示 Python 中的空值。可以使用这些 NoneType 对象执行布尔相等运算。 类名描述NoneType表示 Python 中的 NULL 值。 数值类型 有三种不同的数值类型——整数、浮点数和复数。此外布尔类型是整数类型的子类型。 类名描述整型将整数文本包括十六进制、八进制和二进制数存储为整数。浮点型将包含十进制值和/或指数符号的文本存储为浮点数。复数型以ABj的形式存储复数并具有属性real 和 imag。布尔型存储布尔值True 或 False。 序列类型 根据 Python 文档有三种基本的序列类型—— 列表、元组和 range 对象。序列类型定义了用于遍历其元素的 in 和 not in 运算符。这些运算符与比较操作具有相同的优先级。 类名描述列表通常用于存放同类项目集合的可变序列。元组通常用于储存异构数据多项集的不可变序列。range 对象在执行期间生成的不可变的数字序列。字符串由 Unicode 码位构成的不可变序列。 注意 标准库还包括用于处理的其他类型二进制数据如 bytes、bytearray 和 memoryview。 映射类型 映射对象可以将可哈希值映射到 Python 中的随机对象。映射对象是可变的目前只有一种标准映射类型即字典。 类名描述字典存储以逗号分隔的键值对列表。 集合类型 目前Python 有两种内置的集合类型—— set 和 frozenset。 set 类型是可变的其内容可以使用 add() 和 remove() 这样的方法来改变。 由于是可变类型它没有哈希值且不能被用作字典的键或其他集合的元素。 frozenset 类型是不可变并且为 hashable其内容在被创建后不能再改变因此它可以被用作字典的键或其他集合的元素。 类名描述set不同可哈希对象的可变无序集合。frozenset不同可哈希对象的不可变集合。 模块 模块是 Python 解释器支持的附加内置类型。模块唯一的特殊操作是属性访问m.name这里 m 为一个模块而 name为定义在 m 的符号表中的一个名称。 模块属性可以被赋值。 可调用类型 可调用类型是可以应用函数调用的类型。它们可以是用户定义的函数、实例方法、生成器函数以及其他一些内置函数、方法和类。 有关 Python 中数据类型的详细可以参阅 docs.python.org 中的文档。 8. 什么是 Python 中的 pass 关键字 pass 表示 Python 中的空操作。它通常用于填充可能在运行时执行但尚未编写的空代码块。如果没有以下代码中的 pass 语句我们可能会在代码执行过程中遇到一些错误。 def myEmptyFunc(): # do nothingpass myEmptyFunc() # nothing happens ## Without the pass keyword # File stdin, line 3 # IndentationError: expected an indented block9. 什么是 Python 中的模块和包 Python 包和模块是允许在 Python 中进行模块化编程的两种机制。模块化有几个优点 简单性处理单个模块可以帮助专注于手头问题的相对较小的一部分。这使得开发更容易更不容易出错。可维护性:模块被设计为在不同的问题域之间强制执行逻辑边界。如果它们是以一种减少相互依赖的方式编写的那么模块中的修改不太可能影响程序的其他部分。可重用性:在模块中定义的函数可以很容易地被应用程序的其他部分重用。作用域:模块通常定义一个单独的命名空间这有助于避免来自程序其他部分的标识符之间的混淆。 一般来说模块只是具有 .py 扩展名的 Python 文件可以定义和实现一组函数、类或变量。它们可以使用语句导入并初始化一次。如果需要部分功能使用 import ... from ... 导入必需的类或函数 包允许使用点符号对模块命名空间进行分层结构。模块有助于避免全局变量名之间的冲突同样包有助于避免模块名之间的冲突。创建包很容易因为它利用了系统固有的文件结构。所以只要把模块塞进一个文件夹就可以了文件夹名就是包名。从这个包中导入模块或其内容需要将包名作为模块名的前缀并加上一个点。 10. Python 中的全局属性、受保护属性和私有属性是什么 全局变量是在全局范围内定义的公共变量。要在函数内的全局范围内使用该变量我们使用关键字 global。 受保护属性是用前缀在其标识符上的下划线定义的属性例如。_萨拉。仍然可以从定义它们的类之外访问和修改它们但负责任的开发人员应避免这样做。 私有属性是在其标识符上带有双下划线前缀的属性例如__ansh。它们不能直接从外部访问或修改如果进行此类尝试将导致 AttributeError。 11. self 在 Python 中有什么用 self 在 Python 中是一个特殊的参数用于表示对象自身。它通常作为方法的第一个参数传递并用于访问对象的属性和方法。 在类定义中我们可以使用 self 来引用当前实例对象的属性和方法。通过 self我们可以在类的方法中操作对象的状态并将其封装起来以供其他方法调用。 举个例子在一个 Person 类中我们可以定义一个名为 set_name 的方法使用 self 参数来设置对象的姓名属性 class Person:def set_name(self, name):self.name name在这个例子中self 参数表示当前实例对象我们可以通过 self.name 来访问该对象的 name 属性。 总而言之self 在 Python 中用于表示对象自身在类的方法中使用 self 可以方便地访问和操作对象的属性和方法。 12. 什么是__init__ __init__是Python中的一个特殊方法用于在创建类的实例时进行初始化操作。它被称为构造函数或初始化方法。 当我们使用类创建对象时Python 会自动调用该类的__init__方法来执行一些初始化任务。在__init__方法中我们可以定义对象的属性并给它们赋初始值。 举个例子假设我们有一个 Person 类希望在创建 Person 对象时可以设置姓名和年龄。可以在类中定义一个__init__方法并接受 name 和 age 两个参数来初始化对象的属性 class Person:def __init__(self, name, age):self.name nameself.age age当我们创建一个 Person 对象时可以传递相应的参数来初始化对象的属性 person Person(Alice, 25)在这个例子中当我们执行 Person(Alice, 25) 时Python 会自动调用 Person 类的__init__方法并将 “Aliice” 和 25 作为参数传递给该方法。在__init__方法中通过 self.name 和 self.age 来分别初始化对象的 name 和 age 属性。 13. 什么是 Python 中的 break、continue 和 pass break break 语句立即终止循环控制程序运行到循环体后面的语句。continue continue 语句是 break 语句的小版本跳过当前迭代中的其余代码控制程序运行到循环的下一个迭代。pass 如上所述Python 中的 pass 关键字通常用于填充空块类似于 Java、C、Javascript 等语言中由分号表示的空语句。 pat [1, 3, 2, 1, 2, 3, 1, 0, 1, 3] for p in pat:passif (p 0):current pbreakelif (p % 2 0):continueprint(p) # output 1 3 1 3 1 print(current) # output 014. 什么是 Python 中的单元测试 Python 中的单元测试是一种侧重于验证软件系统中单个单元或组件的正确性的测试。单元通常指的是一小段独立的代码如函数、方法或类。 单元测试的目的是确保每个代码单元按预期执行并在给定特定输入的情况下产生所需的输出。通过编写和运行单元测试开发人员可以在开发过程的早期检测和修复错误在进行更改时最小化引入新错误的风险并提高代码库的整体质量和可靠性。 在 Python 中单元测试通常使用测试框架如 unittest、pytest 或 nose创建。这些框架为定义测试用例、执行测试用例和报告结果提供了实用工具和断言。 典型的单元测试包括: 定义测试用例这包括创建函数或方法这些函数或方法定义了具有已知输入和预期输出的特定测试用例。执行测试用例测试框架自动运行定义的测试用例并检查实际输出是否与预期输出匹配。报告结果测试框架提供关于测试通过、失败或遇到错误的详细报告。 通过定期运行单元测试开发人员可以获得对代码行为的信心促进团队成员之间的协作并确保对代码库的修改或添加不会引入回档。 15. 什么是 Python 中的文档字符串 文档字符串docstring是用于记录特定代码段的多行字符串。Python 的 docstring 约定建议使用三引号“”来定义 docstring。文档字符串可以在模块、函数、类或方法定义之后立即写入并包含在各自的代码块中。文档字符串应描述函数或方法的作用。 下面是一个带有 docstring 的函数示例 def add(a, b):Adds two numbers and returns the result.Args:a (int): The first number.b (int): The second number.Returns:int: The sum of the two numbers.return a b16. 什么是 Python 中的切片 顾名思义“切片” 是其中的一部分。切片的语法是 [start : end : step]start 是要从中对列表或元组进行切片的起始索引end 是结束索引或停止的地方。。step 是跳跃的步数。start 的默认值为 0end 为项目数step 为 1。切片可以在字符串、数组、列表和元组上完成。 numbers [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(numbers[1 : : 2]) # output : [2, 4, 6, 8, 10]17. 解释如何在 Unix 上使 Python 脚本可执行 要在 Unix 上使 Python 脚本可执行可以按照以下步骤进行操作 添加 shebang也称为 hashbang行在 Python 脚本的第一行添加以下代码以指定解释器路径。 #!/usr/bin/env python这将告诉系统使用 env 来查找 Python 解释器并使用找到的解释器来运行脚本。如果你的 Python 解释器的路径不是 /usr/bin/env python请相应地更改该行。 设置脚本权限使用 chmod 命令为脚本添加可执行权限。 chmod x script.py这将允许直接运行脚本而无需在命令前添加 python 关键字。 运行脚本现在可以通过以下方式运行 Python 脚本。 ./script.py注意脚本文件必须位于当前工作目录中或者必须提供脚本的完整路径。 这样就可以在 Unix 上使 Python 脚本可执行了。 18. Python 数组和列表有什么区别 在 Python 中数组和列表是两种不同的数据结构。它们有以下区别 内存分配方式数组通常在内存中以连续的块存储数据这使得它们在访问元素时具有更快的速度。而列表是由指针链表实现的每个节点都包含指向下一个节点的指针。 数据类型数组只能包含相同数据类型的元素即数组的数据类型应该是同类的消耗的内存远少于列表。而列表可以包含不同数据类型的元素即列表的数据类型可以是异构的它具有消耗大量内存的缺点。这意味着数组支持更广泛的数值计算操作如矩阵运算等。 大小调整数组的大小是固定的一旦创建就无法更改。如果需要更改数组的大小通常需要创建一个新的数组并复制原始数据。而列表的大小是可变的可以根据需要添加或删除元素。 考虑到上述区别当需要进行数值计算和处理时使用数组可能更有效。而当需要灵活性和动态调整大小时列表可能更适合。 Python 面试的进阶问题华为、阿里巴巴、字节跳动 100 Python 面试问题总结二
http://www.tj-hxxt.cn/news/142383.html

相关文章:

  • wordpress建站速度提升华为云网站建设
  • 外贸网站制作广州用vs代码做网站
  • 公司招人去哪个网站搭建网站 软件
  • 免费网站站长推广做一个app需要学什么
  • 做网站用html好还是vue好做一个卖东西的网站
  • 内容管理网站建设方案手机传奇手游发布网站
  • 昆明网站关键词优化wordpress后台菜单加入页面
  • 黄村做网站的公司html5 后台网站模板
  • 网站建设费用皆选网络网站建设需要
  • 小程序 网站建设 app 开发中金超钒 网站建设
  • 深圳营销网站建设公司做医药代表去什么招聘网站
  • 广州网站制作到诺然网站制作的服务怎么样
  • 网站主办者有效证件电子件网站小图标怎么做的
  • 重庆有的设计网站wordpress 文章商品
  • .net 网站开发框架凤蝶直播
  • 网站开发工作标准莱芜网站开发代理
  • 校园网网站建设实训报告有做soho网站的吗
  • 海南做房地产网站的网络公司萍缘网站建设工作
  • 凡科网做网站贵吗深圳企业网站建设设计公司
  • 北京网站建设公司现状谷歌浏览器下载安装
  • 深圳企业网站设计长沙九度网络科技
  • 辽宁省建设厅网站升级ui设计界面配色
  • 免费如何创建网站平台厦门市海沧区建设局网站
  • 暖色调 网站广州软件开发杰迅科技
  • 加强网站硬件建设方案上海包装设计公司排名
  • 屏蔽阿里云网站吗网站制作费用低
  • 北京网站优化seo济宁网站建设吊装
  • 地方志网站建设自查报告网站欢迎屏怎么做
  • 上海网站建设服务教做软件的网站
  • 整站优化系统厂家专业做物流公司网站