• 题库1


    1、简述Python上下文管理器原理,并用上下文管理器简单实现将"hello world"写入文件的功能。

    Python中提供了上下文管理器的概念,可以通过上下文管理器来定义/控制代码块执行前的准备动作,以及执行后的收尾动作。例如with语句,with语句可以在代码块运行前进入一个运行时上下文(执行__enter__方法),并在代码块结束后退出该上下文(执行__exit__方法)。

    with open('a.txt','w',encoding='utf-8') as read_f :
        read_f.write("hello world")

    2、简述MyISAM和InnoDB的特点。

    MyISAM:不支持事务、表锁设计、支持全文索引,主要面向一些 OLAP 数 据库应用。

    InnoDB:支持事务,其设计目标主要面向联机事务处理(OLTP)的应用。其 特点是行锁设计、支持外键,并支持类似 Oracle 的非锁定读,即默认读取操作不会产生锁。

    3、什么是GIL

    全局解释器锁,在CPython中,全局解释器锁是一个互斥锁,或GIL,它可以防止多个本地线程执行Python字节码。这个锁是必需的,主要是因为CPython的内存管理不是线程安全的。

    4、Python里面search()和match()的区别

    search()和match()方法都是re模块的方法。search()函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None。match()和search()基本一样不同处是仅在字符串开始处进行匹配。

    5、请使用Python实现快速排序

    import random
    def partition(li, left, right):
        # ri = random.randint(left, right)
        # li[left], li[ri] = li[ri], li[left]
        tmp = li[left]
        while left < right:
            while left < right and li[right] >= tmp:
                right -= 1
            li[left] = li[right]
            while left < right and li[left] <= tmp:
                left += 1
            li[right] = li[left]
        li[left] = tmp
        return left
    
    def _quick_sort(li, left, right):
        if left < right:    # 至少有两个元素
            mid = partition(li, left, right)
            _quick_sort(li, left, mid-1)
            _quick_sort(li, mid+1, right)
    def quick_sort(li):
        return _quick_sort(li, 0, len(li)-1)
    
    li = list(range(10000))
    random.shuffle(li)
    
    quick_sort(li)

    6、简述Python中的垃圾回收机制

    在Python中,如果一个对象的引用数为0,Python就会回收这个对象的内存。

    7、什么是python中的装饰器,怎么使用

    本质就是函数,功能是为其他函数添加新功能。Python为我们提供了语法糖来使用,通俗说就是装饰器名前加@放在需要装饰的函数上面使用

    import time
    def timer(func):
        def inner():
            start = time.time()
            func()
            print(time.time() - start)
        return inner
    
    @timer   #==> func1 = timer(func1)
    def func1():
        print('in func1')
    
    
    func1()

    8、如何查看占用8080端口是的什么进程

    在cmd中运行:

    netstat -aon|findstr "8080" 

    查看端口“8080”被哪个应用占用,,继续执行下面命令:

    tasklist|findstr "进程号"

    9、什么是lambda函数?他有什么好处

    lambda函数是匿名函数,简单的需要用函数去解决的问题,匿名函数的函数体,只有一行。可以简化代码

    10、有a,b两个数,如何不使用第3个变量,将a和b的是、值交换。

    a,b = 10,20
    print(a,b)  # 10,20
    a,b = b,a
    print(a,b)  #20,10
  • 相关阅读:
    oracle表解锁
    pl/sql 如何配置连接远程一个或多个数据库
    Hibernate通过自编写Sql修改
    Hibernate通过自编写sql查询
    java生成临时令牌和访问令牌
    java生成字母首位8位随机码
    [C] 创建目录_mkdir()函数
    [C] 判断目录 / 文件是否存在access()函数
    [C] getopt使用说明
    [C] Segmentation fault (core dumped)
  • 原文地址:https://www.cnblogs.com/liluning/p/8445498.html
Copyright © 2020-2023  润新知