沛齐的315面试题基础部分解答(一)

本文整理了Python基础面试题,包括解释型与编译型语言的区别、Python解释器种类、位与字节的关系、进制转换、IP地址转换、递归限制、逻辑运算、字符编码、三元运算、Python2与Python3的区别、数值交换、数据类型操作、lambda表达式、垃圾回收机制、深浅拷贝、内置函数、过滤映射归约函数、9*9乘法表、正则表达式、列表去重、全局变量、logging模块、栈实现、字符串格式化、生成器、迭代器、可迭代对象、二分查找、闭包、面向对象特性、os和sys模块、随机数生成、文件删除、面向对象的多继承、super函数、特殊成员、三位数组合、反射、元类、单例模式、装饰器、异常处理、面向对象的MRO、isinstance函数、两数之和问题、JSON序列化处理、断言及其应用
摘要由CSDN通过智能技术生成

原题链接:https://www.cnblogs.com/wupeiqi/p/9078770.html

部分图片是从其他博客上整理出来的,时间有些久了当初是写在word上的忘记参考出路了,有些答案我也不知道是否回答准确,如有错误还请提出,谢谢

基础部分

1.简述解释型和编译型编程语言?

 解释型语言在运行之前不会有编译过程,由解释器在运行的过程中解释运行的常见的解释型语言还有PHP、JS、ruby等等。

 编译型语言在运行之前需要使用编译器编译成机器码,计算机就可以直接运行编译过后的文件了。

一般来说编译型语言要比解释型语言运行速度要快的,应为解释型语言每执行一次就需要翻译一次,效率比较慢。

 

2.Python解释器种类以及特点

      常见的解释器有5个CPythonIPythonPyPyJython、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的区别?

  1. Print函数:2中不需要括号将输出语句括起来,3中需要使用()
  2. 编码:Python3源码文件默认使用utf-8编码,支持中文
  3. 除法运算:
    首先是'/'  :
        python3:   1 / 2 = 0.5
        python2:   1 / 2 = 0        1.0 / 2.0 = 0.5

         其次是’//’
              Python
3: 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值