它是一种面向对象的解释型交互式高级脚本语言:被设计为一种高度可读的语言,因为它使用大量英语单词作为关键字,并且不像其他语言那样使用标点符号组成复杂的字符。 语法结构,语法结构很少。
关注、转发、私信小编“01”即可领取免费学习资料!
它是一种面向对象的语言:它支持面向对象并支持对象中的代码封装。
它是一种解释型语言:即程序在运行时由解释器解释并执行,因此不需要提前编译源程序。 这与 Perl 和 PHP 类似。
它是一种交互式语言:也就是说,您可以直接在提示符处交互式地编写程序。
It is a for : 这是一门非常适合初学者的语言。 它支持多种类型应用程序的开发,例如简单的文本处理、www浏览器应用程序开发、游戏开发等。
1)什么是? 使用它有什么好处? 有什么缺点?
它是一种面向对象的解释型交互式语言,具有自动管理对象、模块、线程、异常和内存的机制。
使用它的优点是:简单、易学、轻量级便携、可扩展、可读、有多种内置数据类型、开源等。
使用的缺点是:运行速度慢,代码无法加密(解释型语言,发布应用程序只能发布源代码,不像C发布编译后的应用程序文件)
2) 什么是 PEP 8?
PEP 8 是一个编码规范,是一系列关于如何使代码更具可读性的编码建议。
3)什么是序列化()和反序列化()?
序列化:将内存中的变量转换为可以存储或传输的过程。 应用JSON传输并序列化为统一格式json
反序列化:与序列化相反的过程
模块允许我们将对象转换为信息的表示形式,并使用转储函数将其保存到文件中。 这个过程称为序列化。 使用文件中保存的对象信息重建对象的过程称为反序列化。
4)如何解释和实施?
它是一种解释性语言,可以直接从源代码运行程序。 程序员编写的源代码首先转换为中间语言代码,然后再转换为可以直接执行的机器语言代码。
5)内存管理是如何进行的?
内存空间以私有堆的形式进行管理。 所有对象和数据结构都存储在私有堆中。 解释器可以访问私有堆,但程序员不能。
将堆空间中的内存分配给对象的工作是由内存管理器完成的。 内核API将为程序员提供一些相关工具来完成涉及内存的编码工作。
还有内置的垃圾收集器,通过回收将内存释放到堆空间。
6)有哪些工具可以找到程序中的bug进行静态分析?
它是一个静态分析工具,可以发现源代码中的错误并警告代码风格和复杂性。 另一个工具是验证模块是否符合编码标准的能力。
7)什么是装饰器?
用于装饰函数,使函数可以动态生成附加函数,而无需修改自身的函数定义; 被装饰函数的输入参数就是需要被装饰的函数。装饰器本质上是一个返回函数的高阶函数
装饰器是我们可以在符合语法的情况下方便地对函数进行的特定修改。
8) 列表、元组、集合和字典有什么区别?
列表:元素是可变的(任何数据类型)、有序的(可索引的)、//pop;
元组:元素是不可变的,但其中的可变元素是可变的; 有序(可转位); 元组可以被散列,例如作为字典的键。
集合:无序(不可索引)、不同
字典:无序,键值对(key:value),key唯一且不能重复
9)如何理解字典和列表?
它们是用于创建可变对象、数据容器的语法结构。
dic插入和查找速度比list快,并且不会随着key的增加而增加,但list会随着元素()的增加而增加
10) 参数如何通过值或引用传递?
准确的说应该是“传递对象引用”的方法,通过引用对象来传递。一切都是对象,参数都是引用。
如果函数接收到可变对象(例如列表或字典)的引用,则可修改对象的原始值==相当于“按引用传递”方法;
如果函数接收到一个不可变对象(如数字、字符或元组),则无法直接修改原对象指向的值==相当于“值传递”方法;