python必备面试题

1.python是静态的还是动态的?是强类型还弱类型?

  • python是强类型的动态脚本语言;
  • 强类型:不允许不同类型相加
  • 动态:不使用显示类型声明,且确定一个变量的类型是在第一次给它赋值的时候
  • 脚本语言:一般也是解释性语言,运行代码只需要一个解释器,不需要编译

2.什么是鸭子类型?

  • 1.面向对象的三大特性:继承、封装、多态
  • 鸭子类型是多态的重要应用场景
  • 这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试,“鸭子测试”可以这样表述:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。

3.什么是python自省?

  • 定义:Python自省是Python具备的一种能力,是程序员在使用面向对象的语言所写的程序在运行时能够获得对象的类型
  • type(),判断对象类型
  • dir(), 带参数时获得该对象的所有属性和方法;不带参数时,返回当前范围内的变量、方法和定义的类型列表
  • isinstance(),判断对象是否是已知类型
  • hasattr(),判断对象是否包含对应属性
  • getattr(),获取对象属性
  • setattr(), 设置对象属性

4.什么是monkey patch?哪些地方用到monkey patch?

  • 所谓的monkey patch就是运行时替换
  • 比如gevent库需要修改内置的socket:
from gevent import monkey;
monkey.patch_socket()

5.在Python程序的运行方面,有什么手段能够提升性能?

  • 1.使用多进程,充分利用机器的多核性能
  • 2.对于性能要求比较大的部分代码,可以使用C和C++进行编写
  • 3.对于I/O阻塞引起的影响,可以通过I/O多路复用的来解决
  • 4.尽量使用Python的内建函数
  • 5.尽量使用局部变量
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦途的测开笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值