020-29815005
预约专线时间:09:00-23:59

Python的10大基本知识,新手一定要记住!

新闻来源:本站 日期:2021-06-24
Python是一种解释性、交互式的高级脚本语言:Python被设计为一种高可读性语言,因为Python大量使用英语单词作为关键字,而与其他语言相比,Python没有太多使用标点来构成复杂的语法结构。
    Python是一种面向对象的语言:Python是支持面向对象的,它支持代码的封装在对象中。

    Python是一种解释性语言:也就是说,Python程序是通过在运行时由解释器解释来执行的,所以不必预先编译源程序。这个类似于hyperl和PHP。

    Python是一种交互语言:也就是你可以在Python提示符下直接交互地编写程序。

    Python是一门新手语言:Python是一门非常适合新手的语言,它支持开发各种类型的应用程序,比如简单的文本处理,www浏览器应用程序开发,游戏开发等等。

    1)什么是Python?用Python有什么好处?什么缺点呢?

    Python是一个具有对象、模块、线程、异常和自动内存管理机制的面向对象的解释交互语言。

    Python的优点是:简单、易于学习、轻便可移植、可扩展、可读、具有多种内部构建数据类型、开源等等。

    Python的缺点是:运行速度慢,无法加密代码(python的语言,发布python应用只能发布源代码,不同于C发布编译过的应用文件)

    2)PEP8是什么?

    PEP8是一种编码规范,是关于如何使Python代码更易读的编码建议的集合。

    3)什么是序列化(pickling)和反序列化(unpickling)?

    序列化:将变量在内存中转换为可存储或转移的过程。使用JSON传输,并以统一的格式序列化。

    逆序列化:与序列化相反。

    通过Pickle模块,我们可以将Python对象转换成一个表示Python和dump的信息,并可以使用dump函数将其保存到一个文件中,这一过程称为串行化。将保存在文件中的对象信息用于重构Python对象的过程称为反序列化。

    4)如何解释Python的执行?

    Python是一种解释性的语言,可以直接从源代码中运行程序。编程人员所写的源代码首先转化为一种中间语言代码,然后转化为能直接执行的机器代码。


python


    5)Python如何进行内存管理?

    Python内存空间作为Python私有堆被管理。Python对象和数据结构全部存储在一个专用堆中。解释人员可以访问私有堆,但程序员不能。

    为Python对象分配Python堆空间中的内存的工作是由Python内存管理器完成的。同时,内核API将为程序员提供一些相关的工具,以完成与内存有关的编码工作。

    Python还内置了垃圾收集器,因此可以将内存释放到堆空间进行回收。

    6)能在程序中查找bug以进行静态分析的工具有哪些?

    一个静态分析工具,它可以发现Python源代码中的bug,并在代码风格和复杂性方面发出警告。另一个工具是Pylint,它可以验证模块符合编码标准。

    7)什么是Python修饰器?

    用于修饰函数,这样可以使该函数动态地生成其他函数,而无需修改其本身的函数定义;修饰函数的参数是需要修饰的函数。该修饰符实际上是一个高阶返回函数。

    一种Python修饰符使我们能够方便地对函数进行一些特殊的修改,同时遵循Python语法。

    8)列表元、集合、字典有何不同?

    List:可变元素(任意数据类型),顺序(可索引),append/插入/pop;

    tuple:元素不可变,但元素中的可变元素是可变的;有序(可索引);元组也可以散列,例如作为字典的键。

    收集:无序(不可索引),互异。

    dictionary:无序,键值对(key:vale),唯一的key不可重复。

    9)如何理解词典和列表?

    这些语法结构用于创建可变对象,即数据容器。

    dic插入和查找比list更快,不会随着key的增加而增加,但是list会随着元素的增加而增加(偏移)

     10)参数以值或引用形式传递?

    在python中,准确地说应该是“传递对象引用”,即引用对象传递。所有的都是对象,参数都是引用。

    当函数接收到对可变对象的引用(如列表、字典等)时,可以修改对象的原始值==为“引用传递”;

    当一个函数接收到一个不可变对象(如数字、字符、tuple)时,原始对象指向的值==与“值传递”的等价方式不能被直接修改;