python基础面试题
为什么学习python
面试题---python面试题
阅读目录
第一部分
为什么学习python
- 开发效率高,python有非常强大的第三方库
- 入门容易,python的定位是“优雅、明确、简单”
- 应用广泛,python广泛应用在爬虫、人工智能、网页应用、后台管理等领域
- 可移植性,由于python是开源,python可以移植到不同放入操作平台
- 可扩展性,由于python是C语言写的,可以用C或C++编写部分代码,可以使得关键代码运行的更快以及不公开某些算法
- 课嵌入式,可以把python程序嵌入到C或者C++中,从而提供脚本功能
通过什么途径学习python
- 看视频
- 看网站:博客园、python学习大本营、CSDN、掘金
- 看书:《python基础教程》《python入门到精通》
公司上线和开发环境
开发环境:Ubuntu系统
python与其它语言对比
Java | 企业应用使用 |
---|---|
C | 操作系统、开发语言、游戏引擎 |
C++ | 游戏 |
Python | 爬虫、人工智能、全栈、网页应用、后台管理、大数据搜索引擎 |
C# | 微软公司的,在处理内存上优秀,应用在Xbox、游戏机 |
Visual Basic | 大学课本、快绝迹 |
PHP | 开发动态网页效率及其高,太简单 |
JavaScript | 语法类似python,但及其严格、灵活 |
SQl | |
国内很少,日本很火,类似python、PHP的脚本语言 | |
Object-c | ios苹果 |
简述编译型和解释型语言
编译型:
- 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。
可以脱离语言环境独立运行
- 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同得操作系统之间移植就会有问题,需要根据不同的操作系统环境编译不同的可执行文件。
- 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。
解释型:
- 优点:有良好的平台兼容性,在任何环境都可以运行,前提是安装了解释器(虚拟机),灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
- 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
总结:简单来讲编译型如果代码太大,每次修改太麻烦,效率低但运行快--->问题出在编译时间太长
解释型语言:运行效率太低,解释一行代码跑一行,但调试方便
python解释器的种类和特点
解释器 | 特点 |
---|---|
Cpython | 官网支持,内部是C语言写成的 |
Ipython | 与Cpython内核一样 |
Jpython | Jpython试运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码。 |
IronPython | IronPython和JPython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码 |
PyPy | 一次性的把代码解释成字节码问价,可以直接运行 |
位和字节
1 Byte = 8 Bits
1 KB = 1024 Bytes
1 MB = 1024 KB
列举pep8规范
缩进:每一级缩进4个空格
行的最大长度:所有行限制最大字符数为79.
空行:
- 顶层函数和类的定义,前后用两个空行隔开,
- 类里面的方法定义用一个空行隔开。
import
导入在最文件顶部
导入应该按照以下顺序分组:
- 标准库带入(如os、re)
- 相关第三方库导入(需要pip安装)
- 本地应用/库特定导入(自己写的)
你应该在每组导入之前加入空行
3. 导入多个时用from django.shortcuts import render, HttpResponse, redirect
注释
- 函数注释(三个双引号)
- 单行注释
命名方式
- 类名一般使用首字母大写
- 函数名应该小写,如果想提高可读性可以用下划线分隔
- 模块命名小写
- 函数与函数之间,类与类之间空两行