python基础面试题

为什么学习python

面试题---python面试题

阅读目录

第一部分

为什么学习python

  1. 开发效率高,python有非常强大的第三方库
  2. 入门容易,python的定位是“优雅、明确、简单”
  3. 应用广泛,python广泛应用在爬虫、人工智能、网页应用、后台管理等领域
  4. 可移植性,由于python是开源,python可以移植到不同放入操作平台
  5. 可扩展性,由于python是C语言写的,可以用C或C++编写部分代码,可以使得关键代码运行的更快以及不公开某些算法
  6. 课嵌入式,可以把python程序嵌入到C或者C++中,从而提供脚本功能

通过什么途径学习python

  1. 看视频
  2. 看网站:博客园、python学习大本营、CSDN、掘金
  3. 看书:《python基础教程》《python入门到精通》

公司上线和开发环境

开发环境:Ubuntu系统

python与其它语言对比

Java企业应用使用
C操作系统、开发语言、游戏引擎
C++游戏
Python爬虫、人工智能、全栈、网页应用、后台管理、大数据搜索引擎
C#微软公司的,在处理内存上优秀,应用在Xbox、游戏机
Visual Basic大学课本、快绝迹
PHP开发动态网页效率及其高,太简单
JavaScript语法类似python,但及其严格、灵活
SQl 
 国内很少,日本很火,类似python、PHP的脚本语言
Object-cios苹果

简述编译型和解释型语言

  • 编译型:

    • 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行
    • 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同得操作系统之间移植就会有问题,需要根据不同的操作系统环境编译不同的可执行文件。
  • 解释型:

    • 优点:有良好的平台兼容性,在任何环境都可以运行,前提是安装了解释器(虚拟机),灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
    • 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
  • 总结:简单来讲编译型如果代码太大,每次修改太麻烦,效率低但运行快--->问题出在编译时间太长

    解释型语言:运行效率太低,解释一行代码跑一行,但调试方便

python解释器的种类和特点

解释器特点
Cpython官网支持,内部是C语言写成的
Ipython与Cpython内核一样
JpythonJpython试运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码。
IronPythonIronPython和JPython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码
PyPy一次性的把代码解释成字节码问价,可以直接运行

位和字节

1 Byte = 8 Bits

1 KB = 1024 Bytes

1 MB = 1024 KB

列举pep8规范

  1. 缩进:每一级缩进4个空格

  2. 行的最大长度:所有行限制最大字符数为79.

  3. 空行:

    1. 顶层函数和类的定义,前后用两个空行隔开,
    2. 类里面的方法定义用一个空行隔开。
  1. import

    1. 导入在最文件顶部

    2. 导入应该按照以下顺序分组:

      1. 标准库带入(如os、re)
      2. 相关第三方库导入(需要pip安装)
      3. 本地应用/库特定导入(自己写的)

你应该在每组导入之前加入空行

3. 导入多个时用from django.shortcuts import render, HttpResponse, redirect

  1. 注释

    1. 函数注释(三个双引号)
    2. 单行注释
  1. 命名方式

    1. 类名一般使用首字母大写
    2. 函数名应该小写,如果想提高可读性可以用下划线分隔
    3. 模块命名小写
    4. 函数与函数之间,类与类之间空两行