美文网首页
python面试宝典1概述与数据结构

python面试宝典1概述与数据结构

作者: python测试开发 | 来源:发表于2021-06-24 11:51 被阅读0次

    学习目标

    用于对付python、测试、运维等python基础面试,涵盖如下内容:

    • Python的核心概念
    • 面向对象编程(OOP Object Oriented Programming)的概念
    • Python中的模块
    • Python GUI (Tkinter)
    • 文件处理
    • Python数据库
    • NumPy, Pandas
    • Django, Flask

    本文完整版本地址https://www.kdocs.cn/l/cmLtwuCYoPNM

    1. 请简述python语言名字的由来

    Python是由Guido van Rossum在1991年发布的。在20世纪70年代,有一个流行的BBC喜剧电视节目叫Monty Python's Fly Circus,Van Rossum恰好是这个节目的忠实粉丝。因此,当Python被开发出来时,罗萨姆将该项目命名为Python。

    2. 请简述pPython的特点

    Python是一种高级的、解释性的、交互式的、面向对象的脚本语言。它具有高度可读性。

    • 函数式和结构化的编程方法,以及OOP。
    • 自动垃圾收集。
    • 可以作为一种脚本语言使用,也可以编译成字节码用于大型应用。
    • 高级的动态数据类型并支持动态类型检查。
    • 胶水语言,与C,C++,COM、ActiveX、CORBA、Java等方便对接

    3. Python可以在哪些应用领域使用?

    • GUI的桌面应用
    • 网络应用
    • 游戏
    • 科学和计算
    • 语言开发
    • 企业和商业应用开发:在人工智能、物联网、数据分析等方面为核心语言。
    • 操作系统

    4. Python的好处是什么?

    • 开源。Python语言是在OSI批准的开放源码许可证下开发的,这使得它可以自由使用和发布,包括用于商业目的。
    • 易学。Python提供了极好的可读性和简洁易学的语法,这有助于初学者利用这种编程语言。
    • 广泛的支持库。Python提供了庞大的标准库,包括互联网协议、字符串操作、网络服务工具和操作系统接口等领域。它大大减少了代码的长度。
    • 强大的数据结构。Python有内置的列表和字典数据结构,可以用来构建快速的运行时数据结构。
    • 生产力和速度。Python有整洁的面向对象的设计,提供了增强的过程控制能力,并拥有强大的集成和文本处理能力及其单元测试框架,所有这些都有助于提高其速度和生产力。

    5.解释一下Python中的内存管理

    内存管理是有效地分配、取消分配和协调内存的过程,以便所有不同的进程顺利运行,并能最佳地访问不同的系统资源。内存管理还包括清理不再被访问的对象的内存。

    在Python中,内存管理器定期运行来清理、分配和管理内存来负责这类任务。与 C、Java 和其它编程语言不同,Python 通过使用引用计数来管理对象。这意味着内存管理器会跟踪程序中每个对象的引用数量。

    让我们通过以下几点来理解内存管理。

    • Python的内存是由Python的私有堆空间管理的。所有的Python对象和数据结构都位于私有堆中。程序员不能访问这个私有堆,解释器负责管理这个Python私有堆。
    • Python对象的Python堆空间的分配是由Python内存管理器完成的。核心API为程序员编码提供了一些工具的访问权。
    • Python内存管理器管理着被称为 "块 "的内存块。相同大小的块的集合构成了 "池"。池是在Arenas上创建的,256kB的内存分配在heap=64的池上。如果对象被销毁,内存管理器会用相同大小的新对象来填充这个空间。
    • Python也有内置的垃圾收集器,它回收所有未使用的内存并释放内存,使其可以进入堆空间。

    6.Python有哪些环境变量?这些变量的用途是什么?

    • PYTHONPATH:它与PATH变量相同。Python 解释器使用它来搜索模块文件。
    • PYTHONSTARTUP:它存储了包含 Python 代码的初始化脚本的路径。每次 Python 解释器启动时,它都会被运行。
    • PYTHONCASEOK:在 Windows 中,它使 Python 在导入语句中找到第一个不区分大小写的匹配。需要设置才能激活。

    7.Python是脚本语言吗?

    是的,Python是一种脚本语言。它也是一种解释型的高级编程语言,用于满足一般的编程要求。它是由名为Guido van Rossum的软件开发人员设计和开发的。
    它首次发布于1991年。它动态类型且为很强类型。python脚本语言的文件名扩展名有不同的类型,如.py、.pyc、.pyd、.pyo、.pyw、.pyz。

    8.列出Python的重要数据类型

    • 文本类型:str
    • 数值类型:int、float、complex
    • 序列类型:List, tuple, range
    • 映射类型:Dict
    • 集合类型:set,frozenset
    • 布尔类型: bool
    • 二进制类型:bytes、bytearray、memoryview
      以下内容的输出是什么?
      str="swati computers"?
      print (str)

    9.如何查看Python的关键字

    import keyword
    print(keyword.kwlist)
    

    9.什么是pep 8?

    答案:PEP是Python Enhancement Proposal的缩写。它是一组规则,规定了如何格式化Python代码以获得最大的可读性。

    10.以下内容的输出是什么

    str="{s}{c}{j}".format(j='Jaipur',s='Swati',c='Computers')
    print(str)
    

    SwatiComputersJaipur

    11.以下内容的输出是什么

    str="apple#banana#kiwi#orange"
    print(str.split("#",2))
    

    [‘apple’, ‘banana’, ‘kiwi#orange’]

    11.什么是Python模块?请说出Python中一些常用的内置模块?

    Python 模块是包含 Python 代码的文件。这些代码可以是函数类,也可以是变量。它是一个包含可执行代码的 .py 文件。一些常用的内置模块有:

    • os
    • sys
    • math
    • random
    • data time
    • json

    12.什么是Python的局部变量和全局变量?

    全局变量是在任何模块和函数或方法之外定义的。这些变量可以被程序中的任何函数访问。本地变量是在使用它的函数或方法内部定义的。

    13.简述Python中的类型转换?

    类型转换是指将一种数据类型转换为另一种。

    • int():将任何数据类型转换为整数类型。
    • float(): 将任何数据类型转换为浮点数类型。
    • ord(): 将字符转换为整数。
    • hex(): 将整数转换为十六进制。
    • oct(): 将整数转换为八进制。
    • tuple(): 该函数用于转换为元组。
    • set(): 转换为set类型。
    • list(): 该函数用于将任何数据类型转换为列表类型。
    • dict(): 此函数用于将(key, value)的元组转换为字典。
    • str(): 用于将任何类型转换为字符串。
    • complex(real,imag): 该函数将实数转换为复数(real,imag)数。

    13.解释一下Python中的列表?

    列表是Python中最通用的复合数据类型。列表包含由逗号隔开的项目,并被括在方括号 ([]) 内。在某种程度上,列表与 C 语言中的数组相似。它们之间的一个区别是,属于列表的所有项目可以是不同的数据类型。
    列表中的值可以用分片操作符([]和[:])来访问,索引从列表的开头0开始,一直到结尾-1。

    13.什么是元组?

    元组是一种类似于Python列表的数据类型。它由一些用逗号分隔的值组成。然而,与列表不同的是,图元被括在圆括号内,且不可修改。

    14.列表和元组的区别?

    主要区别:格式上中括号和小括号;可变与不可变。

    15.python中的zip()有什么用?

    答案:zip()接纳2个或以上的迭代器,返回它们映射的迭代器。输入迭代器可以是列表、元组、字典等。
    比如:

    >>> name=["swati", "shweta"]
    >>> age=[10,20]
    >>> new_entity=zip(name,age)
    >>> new_entity=set(new_entity)
    >>> new_entity
    {('swati', 10), ('shweta', 20)}
    

    15.简述 Python 中的字典?

    答:Python 的字典是一种哈希表类型。它们的工作方式类似于 Perl 中的关联数组或散列,由键值对组成。字典由大括号 ({}) 包围,可以用方括号 ([]) 来访问。

    16.简述 Python中的frozenset()?

    Set是一个无序的集合数据类型,它是可迭代的,可改变的,并且没有重复的元素。frozenset()是Python中的一个内置函数,它将一个可迭代的对象作为输入,形成不可变的集合。在 Python 中,frozenset 与 set 相同,只是其元素是不可变的。

    17.什么是Python中的_name_?

    由于Python中没有main()函数,当向解释器发出运行Python程序的命令时,将执行缩进到0级的代码。name是一个特殊内置变量。如果源文件作为主程序被执行,解释器将name变量设置为"main"的值。如果这个文件作为模块导入的,name将被设置为该模块的名称。

    相关文章

      网友评论

          本文标题:python面试宝典1概述与数据结构

          本文链接:https://www.haomeiwen.com/subject/nhnbyltx.html