美文网首页Python
Python面试解析-02

Python面试解析-02

作者: 酷飒de小姐姐 | 来源:发表于2021-04-19 07:54 被阅读0次

    一、Python中pass语句的作用是什么?

    (1)pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作。

    (2)pass通常用来创建一个最简单的类。

    (3)pass在软件设计阶段也经常用来作为TODO,提醒实现相应的实现。

    二、介绍一下except的用法和作用。

    try…except…except…[else…][finally…]

    执行try下的语句,如果引发异常,则执行过程会跳到except语句。对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。

    try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行。如果存在finally语句,最后总是会执行。

    三、如果一个全局变量,在函数里面被调用被改变了,那么,在函数外面再调用该全局变量是否是改变后的值?如果不是,怎样使其变为在函数内部改变后的值?

    再次调用时,该全局变量的值没有发生改变,要使该全局变量改变为在函数内部改变过的值,需要使用关键字global,要告诉Python函数正在尝试访问一个全局变量,添加一个global关键字来定义这个变量,在函数内部该变量与主函数中的全局变量视为等同。这样就可以使该全局变量改变为在函数内部改变过的值。

    四、函数模块是什么?使用函数模块有什么好处?

    函数模块是把一些功能函数相关的代码写到一个模块里。当需要用到某个功能时,将这个模块导入,就可以直接使用它的函数了,在Python中,一个模块就是一个py文件,可以说一个文件就是一个独立的模块,使用函数模块使代码的可复用性增强,代码更加简洁、高效。

    五、一个大小为100GB的文件log.txt,要读取文件中的内容,写出具体过程代码。

    方法一:利用open()系统自带方法生成的迭代对象:

    for line in f这种用法是把文件对象f当作迭代对象,系统将自动处理IO缓冲和内外部存储文件的读写操作。

    方法二:将文件切分成小段,每次处理完小段内容后,释放内存,这里会使用yield生成自定义可迭代对象,即generator,每一个带有yield的函数就是一个generator。

    六、JSON序列化时,可以处理的数据类型有哪些?

    可以处理的数据类型是string、int、list、tuple、dict、bool、null。

    七、Python字典和JSON字符串相互转换的方法是什么?

    八、以下代码将输出什么?

    第1行输出111,第2行输出121,第3行输出323。

    九、以下代码将输出什么?

    第1行输出list1 = [10],第2行输出list2 = [123],第3行输出['a']。

    十、如何安装第三方模块?你用过哪些第三方模块?

    使用软件管理工具(pip,pip2,pip3)。

    Python 2和Python 3都自带了pip,而pip就仿佛有一个仓库,将需要安装的第三方模块都收纳其中,使用简单的安装命令即可完成安装。

    注意事项:用Python 3自带的pip或者pip3安装的第三方模块就只能为Python 3的编译器使用,这对于Python 2的pip和pip2是同理的。

    具体安装方法:pip3 install模块名。

    常用第三方模块如下:

    Requests:Kenneth Reitz写的最富盛名的HTTP库。每个Python程序员都应该有它。

    Scrapy:如果从事爬虫相关的工作,那么这个库也是必不可少的。

    wxPython:Python的一个GUI(图形用户界面)工具。

    Pillow:它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。

    SQLAlchemy:一个数据库的库。

    BeautifulSoup:这个XML和HTML的解析库对于新手非常有用。

    Twisted:对于网络应用开发者最重要的工具。它有非常优美的API,被很多Python开发大牛使用。

    NumPy:为Python提供了很多高级的数学方法。

    SciPy:这是一个Python的算法和数学工具库,它的功能把很多科学家从Ruby吸引到了Python。

    matplotlib:一个绘制数据图的库。对于数据科学家或分析师非常有用。

    Pygame:这个库会让你在开发2D游戏的时候如虎添翼。

    Pyglet:3D动画和游戏开发引擎。非常有名的Python版本Minecraft就是用这个引擎做的。

    pyQT:Python的GUI工具。

    pyGtk:也是Python GUI库。很有名的Bittorrent客户端就是用它做的。

    Scapy:用Python写的数据包探测和分析库。

    pywin32:一个提供和Windows交互的方法和类的Python库。

    nltk:自然语言工具包。

    nose:Python的测试框架,被成千上万的Python程序员使用。如果做测试导向的开发,那么它是必不可少的。

    SymPy:可以做代数评测、差异化、扩展、复数等。它封装在一个Python发行版本里。

    IPython:它把Python的提示信息做到了极致,包括完成信息、历史信息、Shell功能,以及其他很多方面。

    相关文章

      网友评论

        本文标题:Python面试解析-02

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