• python面试题


    1、一行代码实现1--100之和

    In [1]: sum(range(1,101))
    Out[1]: 5050
    1-100求和

    2、如何在一个函数内部修改全局变量

    a=520
    def fun():
        global a
        a=1314
    fun()
    print(a)

    3、列出5个python标准库

    • sys通常用于命令行参数
    • datatime日期相关函数
    • os与操作系统相关函数
    • time时间相关函数
    • re正则表达式

    4、字典如何删除键和合并两个字典

    #删除
    d1={'name':'xjm','age':21}
    del d1['name']
    print(d1)
    #合并
    d2={'name':'xmm'}
    d1.update(d2)
    print(d2)

    5、谈下python的GIL

    GIL是python的全局解释器锁,当同一进程中有多个线程时,每个线程会霸占一个解释器,即加了锁。使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。

    6、python实现列表去重的方法

    列表可重复,而集合不可重复,所以可以先转集合,再转回列表

    >>> list1=[1,2,3,4,5,4,3,2,1]
    >>> a=set(list1)
    >>> a
    {1, 2, 3, 4, 5}
    >>> list2=list(a)
    >>> list2
    [1, 2, 3, 4, 5]

    7、fun(*args,**kwargs)中的*args,**kwargs什么意思?

    当函数的参数不确定时,可以用这两个。

    args可以用来传递非键值对的可变长度的参数--元祖

    akwargs可以用来传递不定长的键值对的参数--字典

    8、一句话解释什么样的语言能够用装饰器?

    函数可以作为参数传递的语言,可以使用装饰器

    9、python内建数据类型有哪些?

    • 整型--int
    • 布尔型--boolena
    • 字符串--string
    • 列表--list
    • 元祖--tuple
    • 字典--dict

    10、简述面向对象中__new__和__init__区别

      __init__是初始化方法,创建对象后,被立刻默认调用了,可接受参数

    • __new__至少要一个参数cls,代变当前类,此参数在实例化由python自动识别
    • __new__必须要有返回值,返回实例出来的实例。
    • __init__有一个参数self,就是这个__new__返回的实例,不需要返回值

    11、with方法打开处理文件帮我们做了什么?

      实现了finally中f.close

    12、[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

      点击这里

    13、python中生成随机整数,0--1之间小数方法

      随机整数:random.randint(a,b),生成区间内的整数

      0--1随机小数:random.random(),不传参

    In [17]: random.randint(1,100)
    Out[17]: 35
    
    In [18]: random.random()
    Out[18]: 0.2341779825853031

     14、避免转义字符。哪个字母表示原始字符串?

      r,表示需要原始字符串,不转义特殊字符

    15、python中断言方法举例

      assert()方法,断言成功,则程序继续执行,断言失败,则程序报错

    16、如何捕获异常,python的异常机制有哪些?

      程序发生异常,会中断程序,调用python默认的异常处理器,并在终端输出异常信息

      当程序遇到问题时,不让程序结束,而是越过错误,继续向下运行

    1 try:
    2     print(3/0)
    3 except:
    4     ZeroDivisionError
  • 相关阅读:
    Java解惑之TreeSet是如何去重的
    Spring.profiles多环境配置最佳实践
    设计模式-单例模式的5种实现
    JAVA实现单双向链表的增、删、改、查
    RxJava/RxAndroid 使用实例实践
    数学模型与计算机科学的认知
    Mac下TensorFlow安装及环境搭建
    2017年Android百大框架排行榜
    python 多线程就这么简单
    python 内置模块之hashlib、hmac、uuid
  • 原文地址:https://www.cnblogs.com/xjmlove/p/9047731.html
Copyright © 2020-2023  润新知