一篇基础了解python(非常实用)

Q: Python垃圾回收机制/内存管理机制?
A:总体来说,在Python中,主要通过引用计数进行垃圾回收;通过 “标记-清除” 解决容器对象可能产生的循环引用问题;通过 “分代回收” 以空间换时间的方法提高垃圾回收效率。Python垃圾回收机制

Q:__new__和__init__的区别?
A:__new__作为构造器,起创建一个类实例的作用。而__init__作为初始化器,起初始化一个已被创建的实例的作用。__new__和__init__的区别

Q:Python字典dict实现原理?
A:散列表是一个在时间和空间上做出权衡的经典例子。如果没有空间(内存)的限制,那么可以直接将键作为数组的索引。那么所有的查找时间复杂度为 O(1);如果没有时间的限制,那么可以直接用数组,这样只需要很少的内存。字典dict实现原理

Q:实现一个单例模式?
A:

class Singleton(object):
    def __new__(cls, *args, **kwargs):
        if not hasattr(cls, 'instance'):
            cls.instance = super().__new__(cls, *args, **kwargs)
        return cls.instance


if __name__ == '__main__':
    s = Singleton()
    print(id(s))
    s2 = Singleton()
    print(id(s2))

Q:实现一个装饰器?
A:

def log(func):
    def wrapper(*args, **kwargs):
        print('log')
        return func(*args, **kwargs)

    return wapper


def logging(v):
    def log(func):
        def wrapper(*args, **kwargs):
            print('log', v)
            return func(*args, **kwargs)

        return wapper
    return log


@logging('vvv')
def run(k):
    print('run:%s' % (k))


run('1')

Q:并发和并行?
A:并发和并行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值