原题链接:https://www.cnblogs.com/wupeiqi/p/9078770.html
部分图片是从其他博客上整理出来的,时间有些久了当初是写在word上的忘记参考出路了,有些答案我也不知道是否回答准确,如有错误还请提出,谢谢
基础部分
1.简述解释型和编译型编程语言?
解释型语言在运行之前不会有编译过程,由解释器在运行的过程中解释运行的常见的解释型语言还有PHP、JS、ruby等等。
编译型语言在运行之前需要使用编译器编译成机器码,计算机就可以直接运行编译过后的文件了。
一般来说编译型语言要比解释型语言运行速度要快的,应为解释型语言每执行一次就需要翻译一次,效率比较慢。
2.Python解释器种类以及特点
常见的解释器有5个CPython、IPython、PyPy、Jython、IronPython.
CPython是官方版本的解释器,由C语言编写,运用也是最为广泛的。
IPython是基于CPython的,只是在交互上做出了进一步的改善,例如代码补全。
PyPy采用了JIT技术,可以动态编译python程序,提高其工作效率。
Jython是在Java平台上运行的解释器,可在将python程序编译成Java字节码运行。
IronPython和Jython类似,运行在.NET平台上。
3.位和字节的关系?
位(bit)是计算机存储中的最小单位。只有0、1两种状态
字节(Byte)一个字节由8个bit组成,是计算机数据处理的最小单位。
4.使用python进制转换
二进制转换成十进制:v = “0b1111011”
十进制转换成二进制:v = 18
八进制转换成十进制:v = “011”
十进制转换成八进制:v = 30
十六进制转换成十进制:v = “0x12”
十进制转换成十六进制:v = 87
5.请编写一个函数实现将IP地址转换成一个整数。
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
6.python递归的最大层数?
Python默认递归的最大层数为998层。
7.求结果:
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or False and 1
V1 = 1 V2 = 3 V3 = 0 V4 = 1 V5 = 1 V6 = False
(使用and如果第一个条件满足那么结果为第二个条件,如果第一个不满足结果为第一个条件。使用or如果第一个条件满足那么结果为第一个条件,如果第一个条件不满足结果为第二个条件)
8.ascii、unicode、utf-8、gbk 区别?
Ascii只占一个字节,其中包含英文字母、数字和一些符号。无法表示其他的文字。
Unicode占两个字节,生僻字符占四个字节。但是如果全是英文字母的话会比较浪费空间。
Utf-8中英文占一个字节中文占三个字节,其他的生僻字占4-6个字节。
GBK占两个字节是中国制定的包含大部分汉字和其他的一些符号。
9.三元运算规则以及应用场景?
Python的三元运算格式为res = 值1 if 条件 else 值2 ,当条件满足时返回值1否则返回值2。
可以用于只存在两种结果的if判断语句中。
10.列举 Python2和Python3的区别?
- Print函数:2中不需要括号将输出语句括起来,3中需要使用()
- 编码:Python3源码文件默认使用utf-8编码,支持中文
- 除法运算:
首先是'/' :
python3: 1 / 2 = 0.5
python2: 1 / 2 = 0 1.0 / 2.0 = 0.5
其次是’//’
Python3: 1 // 2 = 0
Python2: 1 // 2 = 0
4.不等运算符:2中不等于有两种表示!=和<>,3中只有!=
5.数据类型:3中不支持long类型了只有一种整形int 和2中的long差不多的操作
11.用一行代码实现数值交换:a = 1 ,b = 2
(a, b) = (b, a)
12.Python3和Python2中 int 和 long的区别?
Python3中没有long类型只有int但是3中的int操作包含2中的long操作。
13.xrange和range的区别?
Range([start,]st