浏览量 1K+
globals() 和 locals() 函数可用于根据调用它们的位置返回全局和局部命名空间中的名称。如果从函数内部调用 locals(),它将返回可以从该函数局部访问的所有名称。如果从函数内部调用 globals(),它将返回可以从该函数全局访问的所有名称。这两个函数的返回类型都是字典。因此,可以使用 keys() 函数提取名称。当模块导入到脚本中时,模块顶层部分的代码将被执行…… 阅读更多
浏览量 449
变量是映射到对象的名称(标识符)。命名空间是变量名(键)及其对应的对象(值)的字典。Python 语句可以访问局部命名空间和全局命名空间中的变量。如果局部变量和全局变量具有相同的名称,则局部变量将隐藏全局变量。每个函数都有其自己的局部命名空间。类方法遵循与普通函数相同的范围规则。Python 对变量是局部变量还是全局变量进行推断。它假设在函数中赋值的任何变量都是局部变量。因此,为了在…… 阅读更多
当导入模块时,Python 解释器将按照以下顺序搜索模块:当前目录。如果找不到模块,Python 接下来将搜索 shell 变量 PYTHONPATH 中的每个目录。如果所有方法都失败,Python 将检查默认路径。在 UNIX 上,此默认路径通常为 /usr/local/lib/python/。模块搜索路径存储在系统模块 sys 中,作为 sys.path 变量。sys.path 变量包含当前目录、PYTHONPATH 和安装相关的默认值。PYTHONPATH 变量PYTHONPATH 是一个环境变量,包含目录列表。PYTHONPATH 的语法与 shell 变量 PATH 的语法相同。这里有一个…… 阅读更多
浏览量 3K+
您可以通过在其他 Python 源文件中执行 import 语句,将任何 Python 源文件用作模块。语法import 语句具有以下语法:import module1[, module2[, ... moduleN]]当解释器遇到 import 语句时,如果模块存在于搜索路径中,它将导入该模块。搜索路径是解释器在导入模块之前搜索的目录列表。例如,要导入模块 support.py,您需要在脚本顶部添加以下命令:#!/usr/bin/python # 导入模块 support import support # 现在您可以调用该模块中定义的函数…… 阅读更多
Python 中的 return 语句是一个非常有用的语句,用于将程序的流程从函数返回到函数调用者。关键字 return 用于编写 return 语句。由于 Python 中的一切都是对象,因此返回值可以是任何对象,例如数字(int、float、double)或集合(列表、元组、字典)或用户定义的函数和类或包。return 语句具有以下特性:return 语句不能用在函数之外。return 语句之后编写的任何代码都被称为死代码,因为它永远不会…… 阅读更多
浏览量 2K+
这些函数被称为匿名函数,因为它们不是以标准方式使用 def 关键字声明的。您可以使用 lambda 关键字创建小的匿名函数。Lambda 表达式可以接受任意数量的参数,但只能返回一个表达式的值。它们不能包含命令或多个表达式。匿名函数不能直接调用 print,因为 lambda 需要一个表达式。Lambda 函数有自己的局部命名空间,不能访问其参数列表和全局命名空间以外的变量。虽然看起来 lambda 是函数的一行版本,但它们…… 阅读更多
浏览量 6K+
您可能需要为定义函数时指定的参数处理更多参数。这些参数称为可变长度参数,不像必需参数和默认参数那样在函数定义中命名。语法具有非关键字可变参数的函数的语法如下:def functionname([formal_args, ] *var_args_tuple ): "function_docstring" function_suite return [expression]星号 (*) 放在保存所有非关键字可变参数值的变量名前面。如果在函数调用期间未指定其他参数,则此元组将保持为空。示例实时演示#!/usr/bin/python # 函数定义在此处 def printinfo( arg1, *vartuple ): "这将打印传递的可变参数"…… 阅读更多
可以通过在 C 中实现套接字编程在两台计算机之间传输数据。在某些情况下,可以通过实现用户数据报协议 (UDP) 和简单的客户端/服务器来轻松发送文件。安全性 - 通过加密处理。协议 - UDP加密 - XOR 加密算法服务器启动并等待文件名。客户端发送文件名。服务器接收此文件名。如果文件存在,服务器开始读取文件并继续发送用加密的文件内容填充的缓冲区,直到到达文件结尾。文件结尾由 EOF 标记。接收文件作为缓冲区,直到接收到 EOF。之后,它…… 阅读更多
浏览量 386
二项堆定义为二叉堆的扩展,它提供更快的合并或联合操作以及二叉堆提供的其他操作。二项堆被视为二项树的集合。什么是二项树?可以通过取两棵 k-1 阶的二项树并将其中一棵作为另一棵的最左子节点来构建 k 阶的二项树。k 阶的二项树具有以下属性。二项树的节点数恰好为 2k。二项树的深度为 k。在深度 i 处恰好有 kCi 个节点,其中 i = 0, 1, ... 阅读更多
浏览量 586
对于给定的二叉树,将其转换为二叉搜索树,同时保持二叉树的原始结构不变。此解决方案将使用 C++ STL 的集合而不是基于数组的解决方案。示例示例 1输入 11 / \ 3 8 / \ 9 5输出 9 / \ 5 11 / \ 3 8示例 2输入 11 / \ 31 16 / \ 21…… 阅读更多