Interview

爷,独闯天下 提交于 2019-12-01 17:01:44
  1. Python和Java、PHP、C、C#、C++等其他语言的对比?

    # C语言:通过指针可直接靠近硬件的操作,但指针操作不做保护,带来很多不安全的因素。
    # C++:C语言的继承,编译型语言。
    # C#:微软发布的,和Java比较相似,如单一继承、接口等
    # Java:简单、面向对象、分布式、解释型、健壮、安全与系统无关、可移植、高性能、多线程和动态语言。
    # PHP语言:用于web开发领域
    # Python:胶水语言、面向对象、简洁而优雅
  2. 简述解释型和编译型语言?

    # 编译型:要编译器,相当于谷歌翻译,执行快,跨平台差,开发效率慢,调试麻烦
    # 解释型:要解释器,相当于同生传译,跨平台好,执行慢,开发效率快,方便调试
  3. Python解释器种类及特点?

    # CPython:C语言开发,官方版本
    # IPython:基于CPython之上,跟国产浏览器差不多,虽外观不同,但内核都是调用IE
    # PyPy:目标是执行速度,采用JIT(just in time)技术,对代码进行动态编译。
    # Jython:运行在Java平台的Python解释器,将代码编译成Java字节码执行
  4. 位bit、字节B、KB、MB、GB的关系?

    8bit=1B;1024B=1KB;1024KB=1MB;1024MB=1GB
  5. 请至少列举5个PEP8规范

    1.使用空格(space)表示缩进而不是用tab(制表符)
    2.每行的字符数不应超过79
    3.函数与类之间应该用两个空行隔开
    4.在同一个类中,各方法之间应该用一个空行隔开
    5.函数、变量及属性应该用小写字母拼写,各单词之间以下划线相连
  6. 求以下结果

    print(1 or 3)  # 1
    print(1 and 3)  # 3
    print(0 and 1)  # 0
    print(0 and 2 and 1)  # 0
    print(0 and 2 or 1)  # 1
    print(0 and 2 or 1 or 4)  # 1
    print(0 or False and 1)  # False,先计算and
    # 逻辑操作符and,如果两者为真,则返回第二个值,反之,返回第一个值
    # 逻辑操作符or,如果两者为真,则返回第一个值,反之,返回第二个值
    # False:0、None、False、空数据类型,其余全为True
    # and的优先级大于or
  7. ASCII、Unicode、utf-8、gbk的区别?

    # ASCII:英文字符与二进制进行联系,规定了128个字符,如大写字母(65-90),小写字母(97-122).
    # Unicode:一种所有符号的编码,规定每个符号用2个字节表示
    # utf-8:可変长编码,1-4字节表示一个符号。
    # gbk:对GB2312的扩展并兼容,大部分汉字占两个字节
  8. 字节码和机器码的区别?

    字节码是一种中间状态(中间码)的二进制代码,需要直译器转义后才能成为机器码
  9. 三元运算、交叉赋值、解压取值编写格式

    条件成立 if 条件 else 条件不成立
    a,b=b,a
    a,b,c=[1,2,3]
    a,_,c=[1,2,3]
  10. Python2和Python的区别?

    # 打印方式
    py2:print "hello"
    py3:print("hello")
    # 用户输入方式
    py2:input_raw()
    py3:input()
    # 默认编码方式
    py2:ASCII
    py3:utf-8
    # 字符串
    py2:Unicode表示字符串,str表示字节
    py3:str表示字符串,byte表示字节
    # int和long
    py2:int整型,long长整型
    py3:只有int类型,无long类型
    # xrange和range
    py2:xrange生成器,range列表对象
    py3:range生成器,无xrange
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!