zoukankan      html  css  js  c++  java
  • python面试题(十)

    1. Python中基本数据结构的操作

    元组

    列表

    字典

    集合

    定义

    新增

    更改

    删除

     

     2.请尽可能列举python列表的成员方法,并给出一下列表操作的答案:

      (1)a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?

    (1)1 3 52)4 5
    答案

      (2) 一行代码实现对列表a中的偶数位置的元素进行加3后求和?

    sums = sum(map(lambda x: x + 3, a[1::2]))
    答案

      3.List = [-2, 1, 3, -6],如何实现以绝对值大小从小到大将 List 中内容排序。

    sorted(list1,key = abs)
    答案

        (1) 列表的sort方法和 sorted的区别是什么?

    sort 是list的方法,改变list对象的顺序,返回值为None
    sorted是Python的内置方法,适用iterable对象,返回值是新列表,不影响原来的iterable的顺序
    答案

      4.有一篇英文文章保存在 a.txt 中,请用python实现统计这篇文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数(只考虑空格,标点符号可忽略)

    from collections import Counter
        c = Counter()
    with open('a.txt','r',encoding='utf-8') as f:
        for line in f.readlines():
            words = line.split()
            c1 = Counter(words)
            c.update(c1)
    答案

    (1)追加需求:引号内元素需要算作一个单词,如何实现?

    "分割,转换成列表,取其奇数分割,其偶数不做处理
    思路

      5.Python函数中经常有 *args,**kwargs 这两个参数,它们是什么意思,为什么要使用它们?

    太简单,就不写啦,哈哈哈哈
    答案

      6.Python中的变量作用域(变量查找顺序)。

    LEGB
    local 局部变量--->enclosed 闭包作用域 ----> Global 全局---->built-in变量
    答案

      7.下面这段代码的输出结果将是什么?请解释。

     

    # 1 1 1 继承自父类的类属性x,所以都一样,指向同一块内存地址
    # 1 2 1 更改Child1,Child1的x指向了新的内存地址
    # 3 2 3 更改Parent,Parent的x指向了新的内存地址
    答案

      8.描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。

     Guido的声明:http://www.artima.com/forums/flat.jsp?forum=106&thread=214235

    he language doesn't require the GIL -- it's only the CPython virtual machine that has historically been unable to shed it.
    Python语言和GIL没有半毛钱关系。仅仅是由于历史原因在Cpython虚拟机(解释器),难以移除GIL。
    GIL:全局解释器锁。每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行字节码。
    线程释放GIL锁的情况:
    在IO操作等可能会引起阻塞的system call之前,可以暂时释放GIL,但在执行完毕后,必须重新获取GIL
    Python 3.x使用计时器(执行时间达到阈值后,当前线程释放GIL)或Python 2.x,tickets计数达到100
    
    Python使用多进程是可以利用多核的CPU资源的。
    
    多线程爬取比单线程性能有提升,因为遇到IO阻塞会自动释放GIL锁
    答案

      9.Python中如何动态获取和设置对象的属性。

    if hasattr(Parent,'x'):
        print(getattr(Parent,'x'))
        setattr(Parent,'x',3)
        print(getattr(Parent,'x'))
    答案

      10.(前端基础)

    (1)    用CSS如何隐藏一个元素

    dispaly:none
    答案

    (2)    一行CSS实现padding上下左右分别为 1px,2px,3px,4px

    padding:1 4 2 3
    答案

    (3)    JavaScript(或jQuery)如何选择一个id为main的容器

    $('#main')
    答案

    (4)    JavaScript(或jQuery)如何选择一个class为menu的容器

    $('.menu')
    答案
  • 相关阅读:
    Blank page instead of the SharePoint Central Administration site
    BizTalk 2010 BAM Configure
    Use ODBA with Visio 2007
    Handling SOAP Exceptions in BizTalk Orchestrations
    BizTalk与WebMethods之间的EDI交换
    Append messages in BizTalk
    FTP protocol commands
    Using Dynamic Maps in BizTalk(From CodeProject)
    Synchronous To Asynchronous Flows Without An Orchestration的简单实现
    WSE3 and "Action for ultimate recipient is required but not present in the message."
  • 原文地址:https://www.cnblogs.com/skiler/p/6959155.html
Copyright © 2011-2022 走看看