我的编程空间,编程开发者的网络收藏夹
学习永远不晚

(面试题)python面试题集锦-附答案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

(面试题)python面试题集锦-附答案

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

sum_1_100 = sum(range(1, 101))
print(sum_1_100)  # 5050

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

a = 100
def foo():
    global a
    a = 300

foo()
print(a)  # 300

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

d1 = {"name": "wj", "age": 22}
d2 = {"male": "famle"}

# 删除键
del d1["name"]
print(d1)  # {'age': 22}

# 合并字典
d1.update(d2)
print(d1)  # {'age': 22, 'male': 'famle'}

4、说一说对python的GIL的理解

  GIL是python的全局解释器锁,在一个进程中如果有多个线程执行,其中一个线程在执行的时候会霸占python解释器(加锁即GIL),那么其他线程就不能执行,需要等待该线程解锁才能执行,如果线程在遇到耗时操作(IO操作),则解释器锁会自动解开,其他线程继续执行。因此,python的多线程并不是在同时运行的,而是有先后顺序的。

  多进程相当于每个进程都有了一个python解释器,所以多进程可以实现多个任务同时执行,缺点就是进程的资源开销较大。

5、实现列表内元素去重

lst = [11, 12, 11, 13, 14, 13]

# 先转为set,set内的元素不能重复
a = set(lst)
print(a)  # {11, 12, 13, 14}

# 再转为list即可
lst = [x for x in a]
print(lst)  # [11, 12, 13, 14]

6、python2和python3中range函数的区别

  在python2中range返回的是一个列表,python3中range返回的是迭代器,相对于列表迭代器更节约内存。

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

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

8、简述面向对象中__new__和__init__方法的区别

  __init__方法是在实例化的时候初始化参数调用的,该方法有一个参数self,指代的实例对象本身,该方法不能有返回值,用于初始化参数;

  __new__方法是在__init__方法之前就调用的,该方法有一个参数cls,指代的是当前类,它有返回值,返回实例化出来的实例。

class A:
    def __init__(self):
        print("这是init方法", self)

    def __new__(cls, *args, **kwargs):
        print("cls的ID:{}".format(id(cls)))
        print("这是new方法", object.__new__(cls))
        return object.__new__(cls)

A()
print("类A的id:{}".format(id(A)))

运行结果如下:

cls的ID:635807211832
这是new方法 <__main__.A object at 0x00000094090CAEB8>
这是init方法 <__main__.A object at 0x00000094090CAEB8>
类A的id:635807211832

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

a = [1, 2, 3, 4, 5]
b = map(lambda x:x**2, a)

c = [x for x in b if x>10]
print(c)  # [16, 25]

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

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

  随机小数:使用numpy库,np.random.randn(n),生成n个随机小数

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

import random
import numpy


print(random.randint(1, 10))  # 1-10随机整数
print(numpy.random.randn(5))  # 随机生成5个小数
print(random.random())  # 随机生成0-1的小数

11、<div class="nam">中国</div>,用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的

import re

str = '<div class="nam">中国</div>'
ret = re.findall(r'<div class=".*">(.*?)</div>', str)
print(ret)  # ['中国']

12、python中断言方法举例

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

a = 3
assert (a>1)
print("断言成功,程序继续向下执行")

assert (a<1)  # # AssertionError
print("断言失败,程序报错")

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

(面试题)python面试题集锦-附答案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

(面试题)python面试题集锦-附答案

1、一行代码实现1-100的和sum_1_100 = sum(range(1, 101))print(sum_1_100) # 50502、如何在一个函数内修改全局变量的值a = 100def foo(): global a
2023-01-30

J2EE面试题集锦(附答案)

一、基础问答   1.下面哪些类可以被继承?    java.lang.Thread (T)   java.lang.Number (T)   java.lang.Dou
2023-06-03

【面试】Android面试题集锦

持续更新… Handler 谈谈消息机制Handler作用 ?有哪些要素 ?流程是怎样的 ? 一个线程能否创建多个Handler,Handler跟Looper之间的对应关系 ? Handler 引起的内存泄露原因以及最佳解决方案 软引用跟弱
2022-06-06

python基础面试题30问(附带答案)

1、     闭包定义:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a, 内层函数依旧传入一个参数b, 内层函数使用a和b, 最后返回内层函数)代码:def ExFunc(
2023-01-31

Java中高级面试题(附答案)

1、redis如何跟本地数据同步?程序实现mysql更新、添加、删除就会同步操作redis程序查询redis,不存在就查询mysql,自动保存redis2、redis几种数据结构?set、list、hash、string、zset3、java内存溢出是如何造成
Java中高级面试题(附答案)
2018-05-12

Python面试题及答案:12个 Python 程序员面试必备问题与答案

这段时间很多伙伴问我有没有关于Python的面试题和答案,哈哈哈,7月确实也是面试跳槽的高峰哈!这两天总结了一下,这12个Python面试题和答案是必考的,给大家列了下来,认真看哈!
2023-06-02

uniapp高频面试题及答案合集

uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可以发布到IOS、Android、Web(响应式)、以及各种小程序、快应用等多个平台,下面这篇文章主要给大家介绍了关于uniapp高频面试题及答案的相关资料,需要的朋友可以参考下
2023-02-18

【面试】Java面试频繁问到的题最新整理(附答案)

文章目录 一、Java基础部分面试题1.1. Java面向对象的三个特征1.2. Java中基本的数据类型有哪些 以及他们的占用字节1.3. int和Integer的区别1.4. String、StringBuilder、Strin
2023-08-30

Python有哪些面试题及答案

本篇内容主要讲解“Python有哪些面试题及答案”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python有哪些面试题及答案”吧!Q1、Python中的列表和元组有什么区别?Q2、Python的
2023-07-02

2023年Java最新面试题,附详解答案

写在前面:本篇面试题整理是我在广州地区进行面试整理得出,常见的基本都在下面了。基本都是可以直接在面试时用白话回答的答案总结,面试时照此回答即可,有其他常见面试问题也欢迎在评论区补充。 首次发布:202 3年 1月 更新日期:2023年
2023-08-16

2020面试必知:中高级工程师面试题集整理(题目+答案)

这些面试题是我准备换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等。
2023-06-04

超全面的SpringBoot面试题含答案

这篇文章主要收录了44道面试中经常被问的SpringBoot问题,不管你是正在求职的新手还是已经工作很久的高手,这篇关于SpringBoot的面试题总结一定会让你有新的理解,让我们一起来看看吧
2023-03-23

java多线程和并发面试题目(1~3题,附答案)

1、DeplayQueue延时无界阻塞队列在谈到DelayQueue的使用和原理的时候,我们首先介绍一下DelayQueue,DelayQueue是一个无界阻塞队列,只有在延迟期满时才能从中提取元素。该队列的头部是延迟期满后保存时间最长的Delayed元素。
java多线程和并发面试题目(1~3题,附答案)
2020-08-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录