每日面经分享(python part1)

  1. Python中的深拷贝和浅拷贝的区别是什么?
    a. 浅拷贝创建一个新的对象,但其中的可变元素仍然共享引用。只有对象的第一层被复制,而更深层次的嵌套对象仍然是引用。更改其中一个对象的属性会影响到其他对象。
    b. 深拷贝创建一个完全独立的新对象,包括嵌套对象。深拷贝会递归复制整个对象树,因此每个对象及其嵌套对象都有自己的副本,互不影响。
  2. Python如何进行深拷贝和浅拷贝?
    a. 浅拷贝
import copynew_list = copy.copy(old_list)  # 浅拷贝列表
new_dict = copy.copy(old_dict)  # 浅拷贝字典

b. 深拷贝

import copynew_list = copy.deepcopy(old_list)  # 深拷贝列表
new_dict = copy.deepcopy(old_dict)  # 深拷贝字典

c. 深拷贝与浅拷贝区别

import copy# 原始列表
original_list = [1, 2, [3, 4]]# 浅拷贝
shallow_copy_list = copy.copy(original_list)# 深拷贝
deep_copy_list = copy.deepcopy(original_list)# 修改嵌套列表的值
original_list[2][0] = 5print(original_list)         # 输出: [1, 2, [5, 4]]
print(shallow_copy_list)     # 输出: [1, 2, [5, 4]]
print(deep_copy_list)        # 输出: [1, 2, [3, 4]]
  1. python8种数据类型
    a. 整数(int):用于存储整数值,例如1、2、-3等。
    b. 浮点数(float):用于存储带有小数部分的数值,例如3.14、2.5等。
    c. 字符串(str):用于存储文本数据,由一系列字符组成,例如"Hello, World!"、"Python编程"等。
    d. 布尔值(bool):用于存储逻辑值,表示真或假,只有两个可能的取值:True和False。
    e. 列表(list):用于存储多个有序元素的集合,元素之间用逗号分隔,可以包含不同类型的数据,例如[1, 2, 3]、[“apple”, “banana”, “orange”]等。
    f. 元组(tuple):类似于列表,但是元组是不可变的,即创建后不能修改,用圆括号括起来,例如(1, 2, 3)、(“apple”, “banana”, “orange”)等。
    g. 集合(set):用于存储无序且唯一的元素,元素之间用逗号分隔,用大括号括起来,例如{1, 2, 3}、{“apple”, “banana”, “orange”}等。
    h. 字典(dict):用于存储键值对的集合,每个键值对之间用冒号分隔,键和值之间用逗号分隔,用大括号括起来,例如{“name”: “Alice”, “age”: 20, “city”: “New York”}等。
  2. Python中的迭代器(Iterator)和可迭代对象(Iterable)的概念,它们之间的区别
    a. 可迭代对象是指那些具有__iter__()方法的对象。常见的可迭代对象包括列表、元组、字符串、字典、集合等。可迭代对象可以被用于for循环中,通过重复调用其__iter__()方法来获得一个新的迭代器对象。
    b. 迭代器是指具有__iter__()和__next__()方法的对象。iter()方法返回迭代器对象本身,而__next__()方法返回迭代器的下一个元素。当没有更多元素时,next()方法会引发StopIteration异常。迭代器对象可以记住迭代的位置,因此可以在需要时从上一次停止的地方继续迭代。
    c. 迭代器和可迭代对象之间的主要区别如下:
    i. 可迭代对象是一个集合或序列,可以使用for循环遍历其元素。它提供了一个迭代器。
    ii. 迭代器是一个对象,用于逐个访问可迭代对象的元素。迭代器在迭代过程中保持状态,以便记住当前位置。
my_list = [1, 2, 3, 4, 5]  # 可迭代对象my_iter = iter(my_list)   # 获取迭代器对象print(next(my_iter))      # 输出: 1
print(next(my_iter))      # 输出: 2
print(next(my_iter))      # 输出: 3
  1. Python中的异常处理机制(try-except语句)
try:# 可能会引发异常的代码块# ...
except ExceptionType:# 处理异常的代码块# ...
  1. Python装饰器的作用
    a. 扩展函数的功能:装饰器可以在不改变函数定义的情况下,为函数添加额外的功能,例如日志记录、性能分析、输入验证等。
    b. 代码重用和简化:装饰器可以将一些常用的代码逻辑封装起来,使其可以在多个函数中重复使用,从而简化代码。
    c. 高级函数用法:装饰器可以用于实现一些高级的函数用法,例如缓存、单例模式等。
def uppercase_decorator(func):# 装饰器函数,该装饰器接受一个函数作为参数,并返回一个新的函数wrapperdef wrapper():result = func()return result.upper()return wrapper@uppercase_decorator
def say_hello():# 调用say_hello()函数时,实际上是调用了uppercase_decorator返回的wrapper函数return "hello, world!"print(say_hello())  # 输出: HELLO, WORLD!

互联网大厂测开经历,目前担任测试开发负责人,每天分享互联网面经,如果你有测试相关的问题,欢迎咨询,海鲜市场【简历优化】、【就业指导】、【模拟/辅导面试】,已辅导20位以上同学拿到心仪offer
海鲜市场

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker部署nacos,单例模式(standalone),使用内置的derby数据库,简易安装

文章目录 前言安装创建文件夹docker指令安装docker指令安装-瘦身版 制作docker-compose.yaml文件查看页面 前言 nacos作为主流的服务发现中心和配置中心,广泛应用于springcloud框架中,现在就让我们一起简易的部署一个单例模式的nacos,版本可…

【Linux】详解动态库链接和加载对可执行程序底层的理解

一、动静态库链接的几种情况 如果我们同时提供动态库和静态库,gcc默认使用的是动态库。如果我们非要使用静态库,要加-static选项。如果我们只提供静态库,那可执行程序没办法,只能对该库进行静态链接,但程序不一定整体…

python和pip中常见命令和方法

玩python的同学想必没有不用pip的吧,pip是python包管理工具,和Nodejs的npm、Java的maven类似,这些依靠开源力量建立起的庞大软件库极大提高了开发的效率,下面是整理和总结pip中的常见命令和方法。 pip更新版本 python -m pip inst…

利用Spark将Kafka数据流写入HDFS

利用Spark将Kafka数据流写入HDFS 在当今的大数据时代,实时数据处理和分析变得越来越重要。Apache Kafka作为一个分布式流处理平台,已经成为处理实时数据的事实标准。而Apache Spark则是一个强大的大数据处理框架,它提供了对数据进行复杂处理…

Echarts 自适应宽高,或指定宽高进行自适应

文章目录 需求分析 需求 有一个按钮实现对Echarts的指定缩放与拉长&#xff0c;形成自适应效果 拉长后效果图 该块元素缩短后效果图 分析 因为我习惯使用 ref 来获取组件的 DOM 元素&#xff0c;然后进行挂载 <div ref"echartsRef" id"myDiv" :sty…

OCR常用识别算法综述

参考&#xff1a;https://aistudio.baidu.com/education/lessonvideo/3279888 语种&#xff1a;常用字符36与常用汉字6623&#xff0c;区别。 标注&#xff1a;文本型位置/单字符位置&#xff0c;后者标注成本大 挑战&#xff1a;场景文字识别&#xff1a;字符大小、颜色、字体…

力扣1379---找出克隆二叉树的相同节点(Java、DFS、简单题)

目录 题目描述&#xff1a; 思路描述&#xff1a; 代码&#xff1a; &#xff08;1&#xff09;&#xff1a; &#xff08;2&#xff09;&#xff1a; 题目描述&#xff1a; 给你两棵二叉树&#xff0c;原始树 original 和克隆树 cloned&#xff0c;以及一个位于原始树 ori…

蓝牙学习九(定向广播 ADV_DIRECT_IND)

一、简介 广播类型有如下&#xff1a; 非定向可连接广播&#xff08;ADV_IND&#xff09;。可连接的非定向广播&#xff0c;表示当前设备可以接受任何设备的连接请求。 定向可连接广播&#xff08;ADV_DIRECT_IND&#xff09;。可连接的定向广播&#xff0c;设备不能被主动扫描…

Kotlin:常用标准库函数(let、run、with、apply、also)

一、let 扩展函数 Kotlin标准库函数let可用于范围确定和空检查。当调用对象时&#xff0c;let执行给定的代码块并返回其最后一个表达式的结果。对象可以通过引用(默认情况下)或自定义名称在块中访问。 let扩展函数源码 let.kt文件代码 fun main() {println("isEmpty $is…

Stable Diffusion扩散模型【详解】小白也能看懂!!

文章目录 1、Diffusion的整体过程2、加噪过程2.1 加噪的具体细节2.2 加噪过程的公式推导 3、去噪过程3.1 图像概率分布 4、损失函数5、 伪代码过程 此文涉及公式推导&#xff0c;需要参考这篇文章&#xff1a; Stable Diffusion扩散模型推导公式的基础知识 1、Diffusion的整体…

【Unity 实用工具篇】| Unity中 实现背景模糊效果,简单易用

前言【Unity 实用工具篇】| Unity 实现背景模糊效果,简单易用一、实现背景模糊效果1.1 介绍1.2 效果展示1.3 使用说明及下载二、插件资源简单介绍2.1 导入下载好的资源2.2 功能介绍2.2.1 捕获特效2.2.2 高级选项

【Vue】watch监听复杂数据,新值与旧值一样

问题 watch监听复杂数据&#xff0c;例如数组&#xff0c;旧值与新值一样 解决方案 监听回调里返回新数组&#xff0c;新、旧数组地址改变&#xff0c;得到的值也就不一样&#xff0c;例↓ ()>[...data] 码 test.js // 数据 const musicList ref([{ id: 540000200805…

00-JAVA基础-动态编译

动态编译 JAVA 6 引入了动态编译机制。Java 动态编译是指在运行时将Java源代码编译成可执行的字节码。这通常使用Java的内置编译器API javax.tools.JavaCompiler 来实现。 动态编译的应用场景 可以做一个浏览器编写java代码&#xff0c;上传服务器编译和运行的在线测评系统服…

继承.Java

目录 1&#xff0c;概述 1.1继承的含义 1.2什么时候用继承 1.3继承的好处 1.4继承的特点 2&#xff0c;继承的格式 3&#xff0c;可以继承哪些内容 4&#xff0c;成员方法和成员变量的访问特点 5&#xff0c;构造方法的访问特点 6&#xff0c;this&#xff0c;super…

前端三剑客 —— CSS (第一节)

目录 CSS 什么是CSS CSS的几种写法&#xff1a; 行内样式 内嵌样式 外链样式 import 加载顺序 CSS选择器*** 基本选择器 ID选择器 标签选择器 类选择器 通用选择器 包含选择器 上节内容中提到了 前端三剑客 —— HTML 超文本标记语言&#xff0c;这节内容 跟大家…

大厂面试之【Redis持久化机制】 - RDB和AOF概述及应用配置

文章目录 Redis持久化1. RDB(Redis DataBase)1.1 概述1.2 配置应用 2. AOF(Append Only File)2.1 概述2.2 配置应用 Redis持久化 先上结论&#xff1a;Redis持久化操作分为rdb以及aof&#xff0c;但是前者已经够用 1. RDB(Redis DataBase) 1.1 概述 rdb保存的是dump.rdb文件在指…

WEB漏洞挖掘详细教程--用户输入合规性(sql注入测试)

前置教程&#xff1a;WEB漏洞挖掘&#xff08;SRC&#xff09;详细教程--信息收集篇-CSDN博客 WEB漏洞挖掘&#xff08;SRC&#xff09;详细教程--身份认证与业务一致性-CSDN博客 WEB漏洞挖掘&#xff08;SRC&#xff09;详细教程--业务数据篡改-CSDN博客 2.4 用户输入合规性…

MCRNet:用于乳腺超声成像语义分割的多级上下文细化网络

这里写目录标题 摘要引言方法 摘要 由于对比度差、目标边界模糊和大量阴影的不利影响&#xff0c;乳腺超声成像中的自动语义分割仍然是一项具有挑战性的任务。最近&#xff0c;具有U形的卷积神经网络&#xff08;CNN&#xff09;在医学图像分割中表现出相当好的性能。然而&…

【C++ STL迭代器】iterator

文章目录 【 1. 迭代器的属性 】【 2. 不同容器支持的迭代器 】【 3. 迭代器的定义方式 】【 4. 实例 】4.1 定义方式&#xff1a;正向迭代器和反向迭代器4.2 迭代器属性&#xff1a;前向迭代、双向迭代、随机迭代4.2 迭代器的遍历方法4.3 auto关键字 自动指定迭代器定义类型 背…

【Qt】:常用控件(四:显示类控件)

常用控件 一.Lable二.LCD Number 一.Lable QLabel 可以⽤来显⽰⽂本和图⽚. 代码⽰例:显⽰不同格式的⽂本 代码⽰例:显⽰图⽚ 此时,如果拖动窗⼝⼤⼩,可以看到图⽚并不会随着窗⼝⼤⼩的改变⽽同步变化 为了解决这个问题,可以在Widget中重写resizeEvent函数。当用户把窗口从A拖…