python面试题 基础部分(80道题)

题目是来自老男孩的,连接为https://mp.weixin.qq.com/s?__biz=MzUxMzkxNDc3OA==&mid=2247484547&idx=1&sn=dea87b1ca8db37d86aab85ef86e62914&chksm=f94ca676ce3b2f60eb52f05cbfa05dd543315b2a7c115e05ef44a53b546282b257ea30d3c0d0&mpshare=1&scene=22&srcid=0403iq3otvCciu0FUokT3x4Q#rd
 

持续更新,每天五道题~!

而我是把自己做过的题目归纳总结再这里
1.为什么学习python?
    答:这个地方应该就是要我们说python的优点了,这个网上很多,而且基本所有的培训视频第一章都会提及,那么就这样子回答
    1.语言优美,递进严谨   2.简单,是解释型语言,弱类型语言  3.使用最多的语言(现在已经超过java了)  4.未来的方向(人工智 能,大数据等等)

2.通过什么途径学习的Python?
    答:网上的视频,买的资料,我看的是老男孩的python培训视频,然后买了几本书(python核心编程,django企业实战,python3网络爬虫开发实战)

3.Python和Java、PHP、C、C#、C++等其他语言的对比?
    答:1.python是解释型语言,意思就是没有编译这一个过程,所以速度会慢;2.然后就是python是弱类型语言,再定义变量时不需要声明类型,3.然后时基础的数据类型不同,python中没有数组,而是用强大的列表代替。

4.简述解释型和编译型编程语言?
    答:解释型语言没有提前编译的功能,所以速度会变慢,每个语句都是执行的时候才编译

5.Python解释器种类以及特点?
    答:1.Cpython,c语言开发的,python自带的解释器。使用最广的编译器。
           2.IPython,基于Cpython的解释器,内核基本一样,知识交互方式不一样
           3.PyPy,可以动态编译,提高速度
           4.Jython,运行在java平台上的编译器,可以将python编译成java字节执行
           5.IronPython,和Jpython类似,运行在.net平台上的编译器

6.位和字节的关系?
    答:8位(bit)=1字节(Byte),一般说的1B就是指字节

7.b、B、KB、MB、GB 的关系?
    答:1GB=1024MB; 1MB=1024KB; 1KB=1024B; 1B=8bit

8.请至少列举5个PEP8 规范(越多越好)。
    答:1.缩进是四个空格  2.类和函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。  3.每行最大长度79   4.import部分按标准、三方和自己编写顺序依次排放,之间空一行。  4.类的命名首字母大写   5.函数命名用小写   6.常量命名用大写  

9.通过代码实现如下转换:

# 二进制转换成十进制
v = "ob1111011"
print(int(v.replace("ob", ""), 2))
# 十进制转换成二进制
v = 18
print(bin(v))
# 八进制转换成十进制
v = "011"
print(int(v, 8))
# 十进制转换成八进制
v = 30
print(oct(v))
# 十六进制转换成十进制
v = "Ox12"
print(int(v.replace("Ox", ""), 16))
# 十进制转换成十六进制
v = 87
print(hex(v))

10.请编写一个函数实现将IP地址转换成一个整数

ip = "10.3.9.12"
lst = ip.split(".")
lst2 = []
ip_2 = ""
for i in lst:
    num = bin(int(i)).replace("0b", "")
    while len(num) < 8:
        num = "0" + num
    lst2.append(num)
for i in lst2:
    ip_2 = ip_2 + "." + i
ip_2 = ip_2[1:]
print(ip_2)

11.python递归的最大层数?

998

 

12.求结果:

python面试题 基础部分(80道题)_第1张图片
1, 3, 0, 1, 1, 0
 

13.ascii、unicode、utf-8、gbk 区别?
utf-8 > unicode -> ascii, gbk收录汉字。

 

14.字节码和机器码的区别?

机器码,cpu可以直接解读,字节码,01对

 

15.三元运算规则以及应用场景?

x and y and z 短路效应,布尔求值时使用。

 

16.列举Python2和Python3的区别?

    1)python3的print要加()

    2)python3只有unicode字符码

    3)python3只有int没有long

    4)python2的<>和!=同义,但是python3不支持<>

 

17.用一行代码实现数值交换:a=1,b=2

    a, b = b, a

 

18.Python3和Python2中int和long的区别?

    python2中用long代表长整形,python3中int就可以表示长整形

 

19.xrange和range的区别?

    xrange用法与 range完全相同,所不同的是生成的不是一个数组,而是一个生成器。

 

20.文件操作时:xreadlines和readlines的区别?

    xreadlines是返回一个生成器,一行一行读,而readlines是返回一个列表,全部读。

 

 

 

 

你可能感兴趣的:(日常学习,python)