python程序员面试题,python编程笔试题

  python程序员面试题,python编程笔试题

  北京Python培训机构为大家总结Python面试问题,发给有需要的人!

  第一家公司问的话题

  1简单解释一下描述性和编译性编程语言?

  用解释器语言编写的程序不需要编译。运行时有一个解释器,可以把VB语言翻译成机器语言,每一条语句都在运行时翻译。这种解释器类型的语言每次执行都要翻译,效率很低。

  在运行用编译语言编写的程序之前,需要一个特殊的编译过程。通过编译系统,将源代码的高级程序编译成机器语言文件。因为只有一个翻译,运行时不需要翻译,所以编译语言程序运行效率高,但不能一概而论。

  一些解释器语言的解释器在运行时动态优化代码,从而比编译语言更好地提高了解释器语言的性能。

  2 Python解释器的类型和特点?

  解释器

  从Python官网下载安装Python2.7后,我得到了一个官方解释器:Cpython。因为这个解释器是用C语言开发的。

  Cpython将通过在命名行下运行python来启动CPython解释器。Cpython是使用最广泛的python解释器。

  分析

  Iphon是一个基于IPython的交互式解释器。也就是说IPython只是交互增强,但是运行Python代码的功能和CPython完全一样。虽然很多国产浏览器看起来都不一样,但是就好像内核其实在调用IE一样。

  PyPy

  PyPy是另一个Python解释器,目标是执行速度。PyPy使用JIT技术动态编译Python代码,可以显著提高Python代码的执行速度。

  约翰

  Jython是运行在Java平台上的Python解释器,可以直接将Python代码编译成Java字节码并运行。

  动态语言

  IronPython类似于Jython,但是IronPython是一个运行在微软上的Python解释器。Net平台,它允许您直接将Python代码编译成。网。

  CPython在Python解释器中被广泛使用。在编译Python时,除了上面的解释器,技术高超的开发者还可以根据自己的需要创建Python解释器,执行Python代码。非常方便。

  3位和字节的关系?

  位,也称为比特,是计算机表示的最小数据单位。

  字节就是字节

  1字节=8位

  1字节是1b。

  1个字符=2个字节

  1KB=1024B

  一个字节既是一个字节,也是一个b。

  Bit也是b。

  转换关系如下。1 ) 1KB=1024B

  1B=8b

  请列出PEP8的至少5种规格。

  PEP8编码规范

  A.不要在行末加&符号,也不要用分号把两条指令放在同一行。

  B.每行不应超过80个字符(长导入模块语句和注释中的URL除外)。

  C.不要使用反斜杠连接各行。Python隐式连接括号、大括号和大括号中的行。

  D.请不要随意使用括号。除非用于行连接,否则不要在return语句或条件语句中使用括号。但是,括号可以用在元组的两边。

  E.在不使用制表符的情况下,将代码缩进4个空格。另外,不要混用制表符和空格。如果行是连接的,

  您必须垂直对齐新元素或使用4个空格的悬挂缩进。

  F.在顶级定义之间留两行,在方法定义之间留一行,在顶级定义之间留两行。例如,函数或类定义。在方法定义、类定义和第一个方法之间应该有一个空行。

  如果有你认为合适的函数和方法,请空一行。

  5代码转换:

  将二进制转换为十进制:v="0b1111011 "

  #指定转换为字符串,然后使用int函数将其转换为十进制。

  Print (int (0b111011 ,2))

  该值为123

  十进制到二进制的转换:v=18

  转换为print()二进制,然后),微笑芒果(18))

  转换为二进制时为# 0b10010

  将八进制转换为十进制:v="011 "

  Print (int ( 011 ,8))

  #9

  十进制到八进制的转换:v=30

  当print()转换为八进制数时,为oct(30))

  换算成#8八进制数就是0o36。

  将十六进制转换为十进制:v="0x12 "

  Print (int (0x 12 ,16))

  #18

  将十进制转换为十六进制:v=87

  当print()转换为十六进制数(,hex)))

  要转换成十六进制,请使用0x57。

  6 Python递归的最大层数?

  deffab(n):

  如果n==1:

  1次返回

  否则:

  返回Fab (n-1) n

  是的,fab 998。

  )

  #得到的最大数字是998,以后会报错。998的价格让我想起了广告词.

  导入系统

  sys.setrecursionlimit(100000)

  def foo(n):

  打印(n)

  n=1

  食物

  if __name__==__main__ :

  foo(1)

  #获得的最大数在3922-3929之间波动。这个和电脑有关。把数字调整到足够大,已经比系统栈大了,python支持不了太多递归。

  ASCII、unicode、utf-8和gbk有什么区别?

  最早只有127个字母被编码进电脑,也就是大小写英文字母、数字和一些符号。这个编码表称为ASCII编码。比如大写字母A的编码是65,小写字母Z的编码是122。

  但是很明显一个字节不够处理中文,至少需要两个字节,而且不能和ASCII编码冲突。因此,我国制定了GB2312编码来编制中文。

  你可以想象,全世界有数百种语言。日本把日语编译成Shift_JIS,韩国把韩语编译成Euc-kr。各国都有自己的标准,难免会有冲突。因此,多语言文本中会显示乱码。

  因此,Unicode应运而生。把所有的Unicode语言统一成一套代码,这样就不会出现乱码问题。

  Unicode标准也在发展,但最常见的方式是用两个字节来表示一个字符(如果要用很远的字符,就需要四个字节)。现代操作系统和大多数编程语言都直接支持Unicode。

  一个新的问题出现了:如果统一为Unicode编码,乱码问题从此消失。但如果你写的所有文本基本都是英文,那么使用Unicode编码需要的存储空间是ASCII编码的两倍,在存储和传输上并不划算。

  因此,本着节约的精神,将Unicode编码转换为“变长编码”的UTF-8编码再次出现。UTF-8编码根据不同的数字大小将一个Unicode字符编码成1-6个字节。常见的英文字母编码为1字节,汉字通常为3字节,只有生僻字编码为4-6字节。如果您要传输的文本包含大量英文字符,使用UTF-8编码可以节省空间。

  UTF-8编码还有一个额外的优势,那就是ASCII编码实际上可以看作是UTF-8编码的一部分。因此,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。

  8字节码和机器码有什么区别?

  机器代码(Machine code),机器语言指令的学名,有时也称为本机代码,是可以被计算机的CPU直接解释的数据。

  一般来说,机器码是计算机可以直接执行的最快的代码。

  要用机器语言编写程序,程序员首先应该记住所有的指令代码和所用计算机代码的含义。手工编写程序时,程序员要自己处理每条指令和数据的存储、分配、输入和输出,还要记住编程过程中每一步所使用的工作单元的状态。这是一项非常繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍甚至上百倍。而且编译出来的程序都是0和1指令代码,不直观,容易出错。现在除了电脑厂商的专业人士,绝大多数程序员都已经不学机器语言了。

  微处理器理解并使用这种语言,它是用来控制其操作的二进制代码。

  从886到奔腾的机器语言指令的长度可以是1字节到13字节。

  虽然机器语言看起来很复杂,但它是有规律的。

  机器语言指令多达10万条。这意味着我们不能列出所有这些类别。

  总结:机器码是计算机CPU直接读取并运行的机器指令。它运行速度最快,但非常晦涩难写,一般从业者无法接触。

  字节码是一种包含执行程序的代码,由一系列操作码/数据对组成。

  组成的二进制文件。字节是中间代码,比机器码更抽象。它需要一个文字翻译器来翻译,才能成为机器码的中间代码。

  通常是已经编译好的,但是和具体机器码无关。字节通常不像源代码那样可读,而是编码的数字常量、引用、指令等的序列。

  字节主要用于实现特定的软件操作和软件环境,与硬件环境无关。字节是通过编译器和虚拟机实现的。编译器将源代码编译成字节码,特定平台上的虚拟机将字节码翻译成可以直接执行的指令。代码的典型应用是Java。

  字节码.

  运行时,代码由JVM(JAVA虚拟机)转换生成机器指令,因此可以更好地跨平台运行。

  北京Python培训机构总结:字节码是处于中间状态(中间代码)的二进制代码(文件)。它需要由文字翻译器翻译,然后才能成为机器代码。

  9三元运算规则及应用场景?

  表达式格式

  如果为真,则结果为假。

  例子

  如果32,则为1,否则为0

  10用一行代码实现数值交换:

  a=1

  b=2

  a,b=b,a

  打印(a,b)

  Python 0基础免费训练营,共4天(可转班)。海选可以在全国45个城市的200个校区进行,也可以在网上进行。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: