python基础面试题整理---从零开始 每天十题(04)

系统 1519 0

一、Q:如何用Python来进行查询和替换一个文本字符串?

  A:可以使用sub()方法来进行查询和替换,sub方法的格式为: sub(replacement, string[, count=0])

    replacement是被替换成的文本

    string是需要被替换的文本

    count是一个可选参数,指最大被替换的数量,示例:  

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              import
            
            
               re

p 
            
            = re.compile(
            
              '
            
            
              (blue|white|red)
            
            
              '
            
            
              )

            
            
              print
            
            (p.sub(
            
              '
            
            
              colour
            
            
              '
            
            , 
            
              '
            
            
              blue socks and red shoes
            
            
              '
            
            
              ))

            
            
              print
            
            (p.sub(
            
              '
            
            
              colour
            
            
              '
            
            , 
            
              '
            
            
              blue socks and red shoes
            
            
              '
            
            , count=1))
          

二、Q:有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

  A:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告
     Pylint是另外一个工具可以进行coding standard检查。

三、Q:如何用Python删除一个文件?

  A:

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              import
            
            
               os

my_file 
            
            = 
            
              '
            
            
              D:/text.txt
            
            
              '
            
            
              #
            
            
               文件路径
            
            
              if
            
             os.path.exists(my_file):  
            
              #
            
            
               如果文件存在
            
            
              #
            
            
               删除文件,可使用以下两种方法。
            
            
    os.remove(my_file)  
            
              #
            
            
               则删除
            
            
              #
            
            
               os.unlink(my_file)
            
            
              else
            
            
              :
    
            
            
              print
            
            (
            
              '
            
            
              no such file:%s
            
            
              '
            
             % my_file)
          

四、Q:Python如何copy一个文件?

  A:

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              from
            
             shutil 
            
              import
            
            
               copyfile

src 
            
            = 
            
              '
            
            
              源文件
            
            
              '
            
            
              
dst 
            
            = 
            
              '
            
            
              目标文件
            
            
              '
            
            
              
copyfile(src, dst)  
            
            
              #
            
            
               src:源文件 dst:目标文件
            
          

五、Q:python代码得到列表list的交集与差集

  A:交集

            a = [2, 3, 4, 5
            
              ]
b 
            
            = [2, 5, 8
            
              ]

            
            
              print
            
            (list(set(a).intersection(set(b))))
          

     差集

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              
a 
            
            = [2, 3, 4, 5
            
              ]
b 
            
            = [2, 5, 8
            
              ]

            
            
              print
            
            (list(set(a).difference(set(b))))  
            
              #
            
            
               a包含,b却不包含的
            
          

六、Q:python如何捕获异常

  A:

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              def
            
            
               main():
    
            
            
              try
            
            
              :
        a 
            
            = 1
    
            
              except
            
            
              :
        
            
            
              print
            
            (
            
              '
            
            
              error
            
            
              '
            
            
              )
    
            
            
              finally
            
            
              :
        
            
            
              return
            
             None
          

当我们进行try嵌套时,如果try嵌套,那么如果里面的try没有捕获到这个异常,那么外面的try会接收到这个异常,然后进行处理,如果外边的try依然没有捕获到,那么再进行传递。。。如果一个异常是在一个函数中产生的,例如函数A---->函数B---->函数C,而异常是在函数C中产生的,那么如果函数C中没有对这个异常进行处理,那么这个异常会传递到函数B中,如果函数B有异常处理那么就会按照函数B的处理方式进行执行;如果函数B也没有异常处理,那么这个异常会继续传递,以此类推。。。如果所有的函数都没有处理,那么此时就会进行异常的默认处理,即通常见到的那样

七、Q:假设有如下两个 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5],将 a 中的元素作为 key,b 中元素作为 value,将 a,b 合并为字典。

  A:

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              def
            
            
               main():
    a 
            
            = [
            
              '
            
            
              a
            
            
              '
            
            , 
            
              '
            
            
              b
            
            
              '
            
            , 
            
              '
            
            
              c
            
            
              '
            
            , 
            
              '
            
            
              d
            
            
              '
            
            , 
            
              '
            
            
              e
            
            
              '
            
            
              ]
    b 
            
            = [1, 2, 3, 4, 5
            
              ]
    dic 
            
            = dict(map(
            
              lambda
            
            
               x, y: [x, y], a, b))
    
            
            
              print
            
            
              (dic)
    
            
            
              for
            
             k, v 
            
              in
            
            
               dic.items():
        
            
            
              print
            
            
              (k)
        
            
            
              print
            
            
              (v)


main()
            
          

八、Q:[1,2,3]+[4,5,6]的结果是多少?

  A:[1,2,3,4,5,6],和extend结果一样,extend不会建立新的对象,也就不会占用新的内存,而选择+来拼接会产品新的内存空间。

九、Q:编写一个代码,用于计算文件中的所有大写字母。

  A:

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              import
            
            
               re



            
            
              def
            
            
               main(str):
    len_capital 
            
            = len(re.compile(r
            
              '
            
            
              [A-Z]
            
            
              '
            
            
              ).findall(str))
    
            
            
              print
            
            (
            
              '
            
            
              大写字母有%s个
            
            
              '
            
             %
            
               len_capital)


str 
            
            = 
            
              "
            
            
              ABCaaaaABaCaaaABC
            
            
              "
            
            
              
main(str)
            
          

十、Q:如果li是[4,6,8,1,0,3],li[-1]会是什么?

  A:会返回3,也就是返回从后往前数,第一位,同理li[-2]会返回0


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论