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