各位Python的第一部分1-80道基础题已经整理好了,希望面试的时候能用的上。
1、为什么学习Python?
Python是目前市面上,我个人认为是最简洁、最优雅、最有前途、最全能的编程语言,没有之一。
2、通过什么途径学习的Python?
通过自学,包括网上查看一些视频,购买一些相关专业的书籍。
3、Python和Java、PHP、C、C#、C++等其他语言相比?
Python:轻量级、易学、自由/开放源码软件、可移植性、支持面向对象、丰富的库、规范的代码。
Java:优点:开源性,功能强大,库多
缺点:编译速度 比较慢,不完全
PHP:优点:性能很强,配合简单,稳定,容易部署。
缺点:函数命名不规范,驼峰法和下划线,传参位置不一。
C: 优点:能操纵底层,能细粒度优化性能。
缺点:1、是面向过程的,2、运行时类型检查不可用,3、不提供命名空间功能,4、构
造函数和析构函数不可用。
C#: 优点: 强大的.NET Framework托管代码集合类,较简单的语言特性。WEB应用程序
开发速度快。
缺点:底层和高性能不合适,Windows平台以外支持有限。
C++: 优点:性能比较高,可进化型。
缺点: 难学,门槛高
4、简述解释型和编译型编程语言?
解释性语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是在执行的时候才能编译,这样解释型语言每执行一次就要编译一次,效率比较低。
编译型语言:执行代码之前,有一个专门的编译过程。把源高级程序编译成一个机器语言,只做一个翻译,运行时不需要编译,所以编译型语言执行效率比较高。
5、Python解释器种类以及特点?
1、Cpython:最常用的官方版本,使用C语言实现。使用最为广泛。 2、Jpython:Python的Java实现,Jpython会将Python代码动态编译成Java字节码,然后在JVM上运行。 3、IronPython:Python的C#实现,IronPython将Python代码编译成C#字节码,然后再CLR运行(与Jpython类似) 4、PYPY(特殊): Python实现的Python,将Python的字节码再编译成机器码。
6、位和字节的关系?
1byte等于8bit
7、b、B、KB、MB、GB的关系?
1bytes(B) = 8bits(b)字节 1KB = 1024Bytes = 2的10次方Bytes 1MB = 1024KB = 2的20次方Bytes 1GB = 1024MB = 2的30次方Bytes
8、请至少列举5个PEP8规范(越多越好)
1、缩进,4个空格的缩进(编译器都可以完成此功能),不适用Tab,更不能混合使用Tab和空格 2、每行最大长度为79,换行可以使用反斜杠。最好使用圆括号,换行点再操作符的后边敲回车。 3、不要再一句import中多个库。比如import os,sys(不推荐) 4、模块命名尽量短小,使用全部小写的方式,可以使用下划线。 5、包命名尽量短小,使用全部小写的方式。不可以使用下划线 6、类的命名使用CapWords的方式,模块内部使用的类采用--CapWords的方式。 7、函数命名使用全部小写的方式,可以使用下划线。 8、异常命名使用CapWords+Error后缀的方式。 9、常量命名使用全部大写的方式,可以使用下划线。 10、类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线。 11、类方法第一个参数必须是self,而静态方法第一个参数必须是cls。
9、通过代码实现如下转换:
二进制转换成十进制:v = “0b1111011”:
先将V变成字符串,然后print(int("0b1111011",2)),结果是123
十进制转换为二进制:v = 18
Print(bin(v)):0b10010
八进制转换为十进制:v = "011"
Print(int(v,8)) 结果是:9
十进制转换成八进制:v = 30
Print(oct(v))结果是:0o36
十六进制转换成十进制:v = ”0x12“
v = "0x12" s = str(v) print(int(s,16)) #18
十进制转换成十六禁止:v = 87
v = 87 print(hex(v)) #0x57
10、请编写一个函数实现将IP地址转换成一个整数。
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
def bian(number): a = str(bin(number))[2:] if len(a) % 8: b = ['0' for _ in range(8 - len(a) % 8)] b.append(a) return ''.join(b) a = bian(10) b = bian(10) c = bian(10) d = bian(10) d = int(a + b + c + d, 2) print(d) #168430090
11、