python简单面试题

python 面试题

列表(list)和元组(tuple)有什么区别

  • 元组是不可变的。元组一旦创建,就不能对其进行更改。
  • 列表表示的是顺序。它们是有序序列,通常是同一类型的对象。比如说按创建日期排序的所有用户名,如[“Seth”, “Ema”, “Eli”]。
  • 元组表示的是结构。可以用来存储不同数据类型的元素。比如内存中的数据库记录,如(2, “Ema”, “2020–04–16”)(#id, 名称,创建日期)。

is”和“==”有什么区别?

  • is”用来检查对象的标识(id),而“==”用来检查两个对象是否相等
  • 例如:a = [1,2,3] b = a c = [1,2,3] 结果1:print(a == b)print(a == c)#=> True#=> True 结果2:print(a is b)print(a is c)#=> True#=> False

什么是装饰器(decorator)

  • 装饰器允许通过将现有函数传递给装饰器,从而向现有函数添加一些额外的功能,该装饰器将执行现有函数的功能和添加的额外功能。
  • 说明:编写装饰器函数logging。它接受一个函数func作为参数。它还定义了一个名为log_function_called的函数,它先执行打印出一些“函数func被调用”的信息(print(f’{func} called.’)),然后调用函数func。最后返回定义的函数。
  • 例如:def logging(func): def log_function_called: print(f’{func} called.') func return log_function_called
  • 结果:@loggingdef my_name: print(‘chris’)@loggingdef friends_name: print(‘naruto’)my_namefriends_name#=> <function my_name at 0x10fca5a60> called.#=> chris#=> <function friends_name at 0x10fca5f28> called.#=> naruto

Python中的实例方法、静态方法和类方法有什么区别?

  • classmethod的第一个参数为类本身(cls),正如实例方法的第一个参数为对象本身(self);
  • staticmethod第一个参数不需要传入cls或self,故staticmethod中是无法访问类和对象的数据的。

类中的“self”指的是什么?

  • “self”引用类本身的实例。这就是我们赋予方法访问权限并且能够更新方法所属对象的能力

模块(module)和包(package)有什么区别?

  • 模块是可以一起导入的文件(或文件集合)。例:import os
  • 包是模块的目录。例:from sklearn import cross_validation ,包是模块,但并非所有模块都是包。

* args, * kwargs是什么含义?

  • 当我们不确定要向函数传递多少个参数时,或者如果要将存储的参数列表或元组传递给函数时,可以使用* args。
  • ** kwargs在我们不知道将多少个关键字参数传递给一个函数时使用,或者可用于将字典的值作为关键字参数传递
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值