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

概念:

  • 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
  • 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

区别:

  • 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。
  • 解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic

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

  • CPython
  • c语言开发的 使用最广的解释器
  • IPython
  • 基于cpython之上的一个交互式计时器 交互方式增强 功能和cpython一样
  • PyPy
  • 目标是执行效率 采用JIT技术 对python代码进行动态编译,提高执行效率
  • JPython
  • 运行在Java上的解释器 直接把python代码编译成Java字节码执行
  • IronPython
  • 运行在微软 .NET 平台上的解释器,把python编译成. NET 的字节码

3、python常见的PEP8规范

  • 每级缩进用4个空格
  • Python 3中不允许混合使用Tab和空格缩进。
  • 限制所有行的最大行宽为79字符。
  • 在核心Python发布的代码应该总是使用UTF-8(ASCII在Python 2)。
  • 推荐绝对路径导入,因为它们通常更可读

 4、通过代码实现如下进制转换

hex()
转换一个整数对象为十六进制的字符串

>>> hex(16)
'0x10'
>>> hex(18)
'0x12'
>>> hex(32)
'0x20'
oct()
转换一个整数对象为八进制的字符串

>>> oct(8)
'0o10'
>>> oct(166)
'0o246'
bin()
转换一个整数对象为二进制字符串

>>> bin(10)
'0b1010'
>>> bin(255)
'0b11111111'
chr()
转换一个[0, 255]之间的整数为对应的ASCII字符

>>> chr(65)
'A'
>>> chr(67)
'C'
>>> chr(90)
'Z'
>>> chr(97)
'a'
ord()
将一个ASCII字符转换为对应整数

>>> ord('A')
65
>>> ord('z')
122
16进制转10进制
>>> int('10', 16)
16
>>> int('0x10', 16)
16

8进制转10进制
>>> int('0o10', 8)
8
>>> int('10', 8)
8

2进制转10进制
>>> int('0b1010', 2)
10
>>> int('1010', 2)
10

5、python递归的最大层数

import sys
sys.setrecursionlimit(100000)

def foo(n):
    print(n)
    n += 1
    foo(n)
        
if __name__ == '__main__':
    foo(1)

 官网上是1000 #得到的最大数字在3925-3929之间浮动,这个是和计算机有关系的,不然也不会是一个浮动的数字了

6、三元运算规则以及应用场景

  •         三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值
  •         三元运算符的功能与'if....else'流程语句一致,它在一行中书写,代码非常精炼,执行效率更高
  •         格式:[on_true] if [expression] else [on_false]
  •         res = 值1 if 条件 else 值2