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

一、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

原文地址:https://www.cnblogs.com/cxiaocai/p/11026052.html

时间: 2024-10-03 16:27:27

python基础面试题整理---从零开始 每天十题(04)的相关文章

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

最近在弄flask的东西,好久没写博客的,感觉少了点什么,感觉被别人落下好多,可能渐渐的养成了写博客的习惯吧.也是自己想学的东西太多了(说白了就是基础太差了,只是know how,不能做到konw why). 不说那些毒鸡汤了,我们来说说我们今天的python基础面试题吧. 一,Q:python的优缺点有什么? A:优点: 1,基础语法简单易学,对于初学者来说,语法还是相对简单的,比较容易学习,网上的学习资料也很多.    2,面向对象,在python里继承和封装较多,而python的多态还是相

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

书接上回,我们继续来说说python的面试题,我在各个网站搜集了一些,我给予你们一个推荐的答案,你们可以组织成自己的语言来说出来,让我们更好的做到面向工资编程 一.Q:说说你对zen of python的理解,你有什么办法看到它. A:The Zen of Python是Python语言的指导原则,遵循这些基本原则,输入import this,然后直接运行即可 二.Q:什么是元类(meta_class) A:我们定义类来创建对象,但是现在我们知道类也是对象.那么是通过什么来创建类呢?答案就是元类

Python基础班每日整理(六)

03_面向对象_day03 类属性和实例属性的概念.类属性是给类对象(类是一个特殊的对象)中定义的属性,通常用来记录与这个类相关的特征,类属性不会用于记录具体对象的特征.类属性的定义是在初始化方法之外的实例对象的属性叫做实例属性,在初始化方法内部定义 类属性和实例属性的访问类属性的访问是类名.类属性实例属性的访问是实例对象.属性名,也可以在类内部使用self.属性名访问 类方法的定义和使用br/>@classmethoddef 类方法名(cls):pass需要修饰器@classmethod来标识

python测试工程师高端基础面试题整理

面试总括篇 技术技能 开发语言:python 数据库:mysql 操作系统;linux 网络协议基础 测试技能:自动化(UIselenium+接口)+性能 业务知识 测试工程师执业规划 初级-->中级-->高级-->资深或者测试经理(汇报+组内协调+部门协调) 面试类型 技术面试:广博的技术面+专精的技术方向 项目面试:为团队做了什么+为项目做了什么+为公司做了什么 综合素质面试:团队协作能力+团队管理能力+核心竞争能力(学习能力) 精彩的自我介绍 深刻的第一印象 优秀的语言表达能力 亲

架构师必备之常见面试题整理——数据库灵魂十问!

常见的数据库面试题有哪些 (一)什么是存储过程?有哪些优缺点? 存储过程是一些预编译的SQL语句. 更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了. 存储过程是一个预编译的代码块,执行效率比较高 一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率 可以一定程度上确保数据安全 (二)索引是什么?有什么作用以

.NET基础面试题整理

今年毕业,本学期找工作期间在面试前做的一些临时的准备 以下的关于老赵分享的面试题解答参考了手头的书籍和视频教程,以及网上的资料,现整理出来希望对大家有所帮助,不对或欠佳的地方望大家指出来我好改正. 1.什么是.NET?什么是CLI?什么是CLR?IL是什么?   (1).net用于代码编译和执行的集成托管环境,换句话,它管理应用程序运行的方方面面,包括首次运行的编译,为程序分配内存存储数据和指令,对于应用程序授予或拒绝相应的权限,并启动管理应用程序的执行,剩余内存的在分配.由于所有.net应用程

Python基础班每日整理(一)

01_Linux基础1.操作系统的作用?操作系统是配置在计算机硬件上的第一层软件,主要作用是管理好硬件设备.2.Linux中根目录和家目录分别用什么表示?/表示根目录.~表示家目录3.Linux中相对路径和绝对路径?以根目录(/)或者家目录(~)开始的路径称为绝对路径,反之称为相对路径4.常用终端命令的介绍.ls list 查看当前文件夹下的内容pwd print wrok directory 查看当前所在文件夹cd [目录名] change directory 切换文件夹touch [文件名]

Python基础班每日整理(二)

02_Python基础_day02 Python中注释的作用?单行和多行注释在程序中对某些代码进行标注说明,增强程序的可读性.单行注释:以#号开头,再加一个空格,后面跟上注释内容TODO注释:# TODO 注释内容 备忘功能,可以记录待开发的程序多行注释:一对连续的三个双引号"""注释内容""" 计算机的三大件CPU.内存.硬盘 程序执行原理?程序没运行之前保存在硬盘上,运行之后加载到内存,然后CPU执行内存中程序代码 变量的作用?如何定义变量?

Python基础班每日整理(四)

02_Python基础_day06 字符串的定义字符串就是一串字符,用一对儿单引号或者双引号括起来 字符串切片切片就是使用索引值,从一个大的字符串中切出小的字符串,适用于字符串.元组.列表.基本语法是 字符串[开始索引:结束索引:步长],默认步长为1,索引从0开始,如果倒序切片,索引从-1开始. Python内置的公共方法len.del.max.min.cmp 列表"+"和extend.append的区别两个列表相加得到了一个全新的列表extend(列表),是给原来的列表又扩展了一个新