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