python深拷贝报错_12道常见Python面试题,照抄就是了

原标题:12道常见Python面试题,照抄就是了

1

python有哪些特性?

python是一门解释性开发语言,主要特点有:

可解释

具有动态特性

面向对象

简明简单

开源

具有强大的社区支持

2

深拷贝和浅拷贝之间的区别是?

深拷贝就是 完全复制一个对象拷贝到另一个对象中,如果你对一个对象的拷贝做出改变时,不会影响原对象。在Python中使用函数 deepcopy执行深拷贝,导入模块copy。

>>> import copy

>>> b=copy.deepcopy(a)

浅拷贝就是 复制一个对象的指针不复制其本身,如果我们在拷贝中改动,会影响到原对象。我们使用函数 function执行浅拷贝。

>>> b= copy. copy( a)

3

列表和元祖之间区别是?

列表和元祖之间主要是 可变性不同, 列表是可变的而元祖是不可变的,下面列举的实列说明:

>>> mylist=[ 1, 3, 3]

>>> mylist[ 1]= 2

>>> mytuple=( 1, 3, 3)

>>> mytuple[ 1]= 2Traceback (most recent call last):

File "", line 1, in < module>

mytuple[ 1]= 2

则会出现以下报错:

TypeError: ‘tuple’ object does notsupport item assignment

4

什么是Flask?

Flask是 Python编写的一款轻量级Web应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。Flask使用 BSD 授权。

其中两个环境依赖是Werkzeug和jinja2,这意味着它 不需要依赖外部库。正因如此,我们将其称为 轻量级框架。

Flask会话使用签名cookie让用户 查看和修改会话内容。它会记录从一个请求到另一个请求的信息。不过,要想修改会话,用户必须有 密钥Flask.secret_key。

5

在Python中是如何管理内存的?

Python有一个私有堆空间来保存所有的对象和数据结构。作为开发者,我们无法访问它,是 解释器在管理它。但是有了 核心API后,我们可以访问一些工具。Python内存管理器控制内存分配。

另外, 内置垃圾回收器会回收使用所有的未使用内存,所以使其适用于堆空间。

6

解释python中的help和dir函数?

Help函数是一个内置函数,用于 查看函数或模块用途的详细说明。

>>> import copy

>> help( copy. copy)

Helponfunctioncopy inmodulecopy:

copy(x)

Shallow copy operation onarbitrary Python objects.

See the module’s __doc__ stringformore info.

Dir函数也是内置函数,dir 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。

>>> dir( copy. copy)

运行结果

[‘ __annotations__’, ‘ __call__’, ‘ __class__’, ‘ __closure__’, ‘ __code__’, ‘ __defaults__’, ‘ __delattr__’, ‘ __dict__’, ‘ __dir__’, ‘ __doc__’, ‘ __eq__’, ‘ __format__’, ‘ __ge__’, ‘ __get__’, ‘ __getattribute__’, ‘ __globals__’, ‘ __gt__’, ‘ __hash__’, ‘ __init__’, ‘ __init_subclass__’, ‘ __kwdefaults__’, ‘ __le__’, ‘ __lt__’, ‘ __module__’, ‘ __name__’, ‘ __ne__’, ‘ __new__’, ‘ __qualname__’, ‘ __reduce__’, ‘ __reduce_ex__’, ‘ __repr__’, ‘ __setattr__’, ‘ __sizeof__’, ‘ __str__’, ‘ __subclasshook__’]

7

什么是猴子补丁?

在运行期间 动态修改一个类或模块。

>>> classA: deffunc( self): print(" Hi")

>>> defmonkey( self):print"Hi, monkey"

>>> m.A.func = monkey

>>> a = m.A

>>> a.func

运行结果:

Hi, Monkey

8

请解释下使用*args和*kwargs含义?

当我们 不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用 *args。

>>>deffunc(*args):

fori inargs:

print(i)

>>>func( 3, 2, 1, 4, 7)

运行结果为: 32147

在 不知道该传递多少关键字参数时,使用 **kwargs来收集关键字参数

>>>deffunc(**kwargs):

fori inkwargs:

print(i,kwargs[i])

>>>func(a= 1,b= 2,c= 7)

运行结果为:a .1b .2c .7

9

python中的字典是什么?

Python字典是一个容器,可以 装列表,变量,字符串,浮点数等

注意:

Python的字典是一对一的形式,key:value,可以理解key是下标,value是内容

标准形式:{a:b},那么a就相当于下标,value就相当于内容。

下标是唯一的,即key赋值的时候不可以重复,不可用变量去赋值他,因为列表是可变的,所有也不能用列表去赋值

字典的存储没有顺序,我们凭借key值去取value的内容

>>> roots={25:5,16:4,9:3,4:2,1:1}

>>> type(roots)

>>> roots[9]

运行结果为:

3

字典是不可变的,可以用一个推导式来创建它

>>> roots={x**2:x forx inrange(5,0,-1)}

>>> roots

运行结果为:

{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}

10

什么是负索引?

Python中的序列索引 可以是正也可以是负。

如果是 正索引 ,0是序列中的第一个索引,1是第二个索引。

如果是 负索引 ,-1是最后一个索引,-2是倒数第二个索引。

>>> lst=[11,22,33,44,55]

全取列表

>>> lst[:]

[11, 22, 33, 44, 55]

列表倒序

>>> lst[ ::-1]

[ 55, 44, 33, 22, 11]

取最后一个

>>> lst[- 1]

55

取第一个

>>>lst[ 0]

11

11

解释一下python中的成员运输符?

通过成员运算符 ‘in’和 ‘not in’,我们可以 确认一个值是否是另一个值的成员

>>>'me'in'disappointment'

True>>> 'us'notin'disappointment'

True

12

讲下python中的位运算符?

与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

>>> 0b110 & 0b010

2

或(|),按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1

>>> 3|2

3

异或(^),按位异或运算符:当两对应的二进位相异时,结果为1

>>> 3^2

1

取反(~),按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

>>> ~2

-3

左位移(<

>>> 1<<2

4

右位移(>>),把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

>>> 4>>2

1

-END -

本文为转载分享&推荐阅读,若侵权请联系后台删除

-----------------返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值