【面试宝典】深入Python高级:直戳痛点的题目演示(上)

目录

🍔 你知道深浅拷⻉的区别吗?

🍔 字典反转,列表反转的实现?                

🍔 装饰器是什么,什么场景⽤到装饰器,举个例⼦?

🍔 装饰器的实质是什么?

🍔 Python迭代器是什么?什么场景⽤到迭代器?举⼀个例⼦?

🍔 Python⽣成器是什么?什么场景⽤到迭代器?举⼀个例⼦?

🍔 Python多线程与多进程的区别是什么?

🍔 请写⼀段Python代码实现删除⼀个list⾥⾯的重复元素

🍔 请设计⼀个decorator,它可作⽤于任何函数上,并打印该函 数的执⾏时间。

🍔 装饰器的实质是什么?


🍔 你知道深浅拷⻉的区别吗?

  • 浅拷⻉: 拷⻉的是对象的引⽤,如果原对象改变,相应的拷⻉对象也会发⽣改变
  • 深拷⻉: 拷⻉对象中的每个元素,拷⻉对象和原有对象不在有关系,两个是独⽴的对象
  • 直接赋值:其实就是对象的引⽤(别名)。
  • 浅拷⻉(copy):拷⻉⽗对象,不会拷⻉对象的内部的⼦对象。
  • 深拷⻉(deepcopy): copy 模块的 deepcopy ⽅法,完全拷⻉了⽗对象及其⼦对象。

🍔 字典反转,列表反转的实现?                

  • 列表的反转:reversed 函数、sorted函数、切⽚技术、循环,递归,四种⽅式
  • 字典的反转:循环,推导式,压缩器三种⽅式 
列表反转:

字典反转: 

🍔 装饰器是什么,什么场景⽤到装饰器,举个例⼦?

装饰器(Decorator)是⼀种结构型设计模式,它可以动态地给⼀个对象添加额外的职责,同时⼜不改变其原有的接⼝和实现。通俗地说,就是通过组合的⽅式,为对象添加新的⾏为或特性。在Python语⾔中,装饰器是⼀种语法糖,可以通过定义函数或类来实现。装饰器可以⽤于很多场景。
场景举例:
1)⽇志记录:可以定义⼀个装饰器函数,⽤于在函数调⽤时记录⽇志信息,如函数的参数、返回值等。
2)性能分析:可以定义⼀个装饰器函数,⽤于在函数调⽤时计算函数的执⾏时间,以便进⾏性能优化。
3)权限校验:可以定义⼀个装饰器函数,⽤于在函数调⽤时进⾏⽤户权限校验,以确保只有具有相应权限的⽤户可以访问该函数。
下⾯是⼀个装饰器的例⼦,⽤于记录函数的执⾏时间:
import time
def time_it(func):
 def wrapper(*args, **kwargs):
 start_time = time.time()
 result = func(*args, **kwargs)
 end_time = time.time()
 print(f"函数 {func.__name__} 执⾏时间为:{end_time - start_time} 秒")
 return result
 return wrapper
@time_it
def my_function():
 time.sleep(2)
 print("Hello, World!")
my_function()
在这个例⼦中,我们定义了⼀个装饰器函数
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值