python面试宝典1

news2024/12/24 21:36:36

目录标题

      • python基础
        • 1、代码中修改不可变数据会出现什么问题?什么异常?
        • 2、a=1,b=2,不用中间变量交换 a 和 b 的值?
        • 3、print调用python中底层的什么方法?
        • 4、理解下面代码,结果输出
        • 5、对input()函数的理解
        • 6、理解代码,写出 A0,A1 至 An 的最终值
        • 7、python中os模块常见方法
        • 8、4G内存怎么读取一个5G的数据
        • 9、read、readline、readlines的区别
        • 10、在except中return后还会不会执行finally中的代码,怎么抛出自定义异常?
        • 11、介绍一下except的作用和用法
        • 12、python中标准库
        • 13、赋值、浅拷贝和深拷贝的区别?
        • 14、__init__和__new__的区别?
        • 15、python里面生成随机数
        • 16、输入某年某月某日,判断这一天是这一年的第几天?
        • 17、os.path和sys.path分别代表什么?
        • 18、python中os模块常见方法
        • 19、模块和包的区别

python基础

1、代码中修改不可变数据会出现什么问题?什么异常?

不会这次运行,报typeError错误异常

2、a=1,b=2,不用中间变量交换 a 和 b 的值?

a,b = b,a
a = a+b
b = a-b
a = a-b

3、print调用python中底层的什么方法?

sys.stdout.write方法,即往控制台打印字符串

4、理解下面代码,结果输出

在这里插入图片描述
在这里插入图片描述

5、对input()函数的理解

python3中,input()获取用户输入,不论用户输入的是什么,获取得到的都是字符串类型的。
python2中,raw_input()和input(),raw_input()是同python3中的input(),python2中的input()是指输入的是什么数据类型,获取到的就是什么数据类型。

6、理解代码,写出 A0,A1 至 An 的最终值

在这里插入图片描述
A0 = {‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’:5}
A1 = [0,1,2,3,4,5,6,7,8,9]
A2 = []
A3 = [1,3,2,5,4]
A4 = [1,2,3,4,5]
A5 = {0:0,1:1,2:4,3:9,}
A6 = [[0,0],[1,1],[2,4],…]

不会的点:
‘a’ in A0 返回true
1 in A0 返回false
A0[‘a’] 返回1

7、python中os模块常见方法

os.remove()删除文件
os.rename()重命名文件
os.walk()生成目录树下的所有文件名
os.chdir()改变目录
os.mkdir创建目录
os.rmdir删除目录
os.listdir()列出指定目录的文件

8、4G内存怎么读取一个5G的数据

方法一:可以通过生成器,分多次读取,每次读取数量较少的数据进行处理,处理结束后再读取后面的数据
方法二:通过linux命令split切割成小文件,再对数据进行处理,

9、read、readline、readlines的区别

read:读取整个文件
readline:读取下一行,使用生成器方法
readlines:读取整个文件到一个迭代器供我们遍历

10、在except中return后还会不会执行finally中的代码,怎么抛出自定义异常?

会继续处理finally
用raise方法可以抛出自定义异常

11、介绍一下except的作用和用法

except: # 捕获所有异常
except:<异常名> :#捕获指定异常
except:<异常名>,<数据> #捕获指定异常及其附加数据
except:<异常名1,异常名2>:<数据>捕获异常名1或者异常名2,及附加的数据

12、python中标准库

os操作系统
time时间
random随机
pymysql连接数据库

13、赋值、浅拷贝和深拷贝的区别?

1,赋值:
在这里插入图片描述
用 a is b 来进行判断,返回true.表明地址相同,内容相同。也可以用id()来查看两个列表的地址是否相同

2,浅拷贝:
浅拷贝有三种形式:切片操作、工厂函数、copy 模块中的 copy 函数。
比如上述的列表 a;
切片操作:b = a[:] 或者 b = [x for x in a];
工厂函数:b = list(a);
copy 函数:b = copy.copy(a);

当我们使用 id(x) for x in a 和 id(x) for x in b 来查看 a 和 b 中元素的地址时,可以看到二者包含的元素的地址是相同的。
在这种情况下,列表 a 和 b 是不同的对象,修改列表 b 理论上不会影响到列表 a

浅拷贝之所以称之为浅拷贝,是它仅仅只拷贝了一层,在列表 a 中有一个嵌套的list,如果我们修改了它,情况就不一样了

3,深拷贝
深拷贝只有一种形式,copy 模块中的 deepcopy()函数。
深拷贝和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。因此,它的时间和空间开销要高。

同样的对列表 a,如果使用 b = copy.deepcopy(a),再修改列表 b 将不会影响到列表 a,即使嵌套的列表具有更深的层次,也不会产生任何影响,因为深拷贝拷贝出来的对象根本就是一个全新的对象,不再与原来的对象有任何的关联。

14、__init__和__new__的区别?

init在对象创建后,对对象进行初始化
new是在对象创建之前创建一个对象,并将该对象返回给init

15、python里面生成随机数

使用模块random,在使用前需要import

random.random():生成一个0-1之间的浮点数
random.uniform(a,b) :生成[a,b]之间的浮点数
random.randint(a,b) :生成[a,b]之间的整数
random.randrange(a, b, step):在指定的集合[a,b)中,以 step 为基数随机取一个数
random.choice(sequence):从特定序列中随机取一个元素,这里的序列可以是字符串,列表,元组等

random.random()
random.uniform(a,b)
random.randint(a,b)
random,randrange(a,b,step)
random.choice(sequence)

16、输入某年某月某日,判断这一天是这一年的第几天?

函数:datetime.date(year = int(year),month=int(month),day = int(day))

天数计算:(date1-date2).days

import datetime
def dayoeyear():
	year = input('请输入年份:')
	month = input('请输入月份:')
	day = input('请输入天:')
	date1 = datetime.date(year = int(year),month=int(month),day = int(day))
	date2 = datetime.date(year int(year),month=1,day=1)
	return (date1-date2+1).days

17、os.path和sys.path分别代表什么?

os.path是用于对系统路径文件的操作
sys.path主要是对python解释器的系统环境参数的操作

18、python中os模块常见方法

os.remove()删除文件
os.rename()重命名文件
os.walk()生成目录树下的所有文件名
os.chdir()改变目录
os.mkdir()创建目录
os.rmdir()删除目录
os.listdir()列出指定目录的文件
os.getcwd()取得当前工作目录
os.chmod()改变目录权限
os.path.basename()去掉目录路径
os.path.dirname()去掉文件名,返回目录路径
os.path.join()将分离的各部分组合成一个路径名
os.path.split()返回(dirname(),basename())元组
os.path.splitext()(返回 filename,extension)元组
os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间
os.path.getsize()返回文件大小
os.path.isabs()是否为绝对路径
os.path.isdir()是否为目录
os.path.isfile()是否为文件

19、模块和包的区别

模块:每一个python代码是一个模块,可以引用其他模块,比如对象和属性
包:许多python代码的文件夹是一个包,一个包可以包含模块和子文件夹

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

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

相关文章

誉天程序员-常用网站

学习方法六大招 日常你是如何学习新知识的&#xff1f;&#xff08;面试官爱问哦&#xff09; 1、百度百科概念了解 2、技术官网简单了解 3、同类产品技术选型 4、百度搜索入门案例 5、泛读百文瘦弱圆润 6、遇到问题问AI助手&#xff08;chatGPT&#xff09;噢 技术路线图&a…

C#中未能找到为main方法指定的XXX.Program怎么解决

有时在修改项目名称后&#xff0c;报错未能找到为main方法指定的XXX.Program 解决办法&#xff1a; 点击进入项目属性&#xff0c;将启动对象设置为空或者你要指定的XXX.Program&#xff08;改名后的&#xff09;

基于SDRAM的串口回环测试

文章目录 前言一、SDRAM简介二、SDRAM芯片手册解析2.1 芯片信息2.2 功能描述2.3 指令集 三、SDRAM配置3.1 初始化3.2 自动刷新3.3 突发写操作3.4 突发读操作3.5 仲裁3.5 FIFO控制3.5 FIFO数据读 四、结果验证 前言 本文将介绍在AWC_C4MB开发板上进行基于串口的SDRAM数据回环测试…

能直接运营的校园跑腿代买拿寄取小程序开发

​说到做跑腿生意&#xff0c;除了做同城跑腿配送外&#xff0c;校园跑腿可是即成本又低又好操作的一个项目。 一般省会城市大学大专基本都是有好几所的&#xff0c;学校的特点是人员密集&#xff0c;跑腿配送周期短&#xff0c;且配送人员好招募&#xff0c;推广人员好招募。…

css - Media Query

使用bootstrap的grid system可以在一个较为粗糙的范围得到较好的响应性&#xff0c;但是通过viewport可以看到网站在具体哪个像素点处变得丑陋&#xff0c;再通过css media query来精细调整网页布局。 可以通过media query来提高网页移动响应能力。

网络安全 Day17-计算机网络知识02(复杂物理原件)

计算机网络知识02&#xff08;复杂物理原件&#xff09; 1. 交换机2. 路由器 1. 交换机 什么是交换机 实现一个网络内多台主机之间通讯的设备用于电信号转发和放大的网络设备 常见的交换机&#xff1a;以太网交换机&#xff0c;电话交换&#xff0c;光纤交换机交换机的种类 二…

MySQL基础(三十一)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 1. 什么是数据库 2. 数据库能干什么 2.1 企业应用 2.2 金融行业 2.3 电子商务 2.4 社交媒体 2.5 物联网 3. 为什么要用数据库&#xff0c;优势、特性&…

C#常见技能_参数传递

大家好&#xff0c;我是华山自控编程朱老师 前几天一个学员在学习C#与参数传递交互时,也不知道参数传递可以用来做什么 。下面我们就详细讲讲C# 和参数传递交互的相关知识。 C#是一种面向对象的编程语言&#xff0c;支持多种参数传递方式&#xff0c;包括传值和传引用两种方式…

Ubuntu18.04 下配置Clion

配置Clion 安装gcc、g、make Ubuntu中用到的编译工具是gcc©&#xff0c;g&#xff08;C&#xff09;&#xff0c;make(连接)。因此只需安装对应的工具包即可。Ubuntu下使用命令安装这些包&#xff1a; &#xff08;1&#xff09;安装gcc sudo apt install gcc&am…

Mysql错误日志、通用查询日志、二进制日志和慢日志的介绍和查看

一.日志 1.日志和备份的必要性 日志刷新 2.mysql的日志类型 &#xff08;1&#xff09;错误日志 查看当前错误日志和是否记录警告设置 &#xff08;2&#xff09;通用查询日志 查看通用查询日志的设置 &#xff08;3&#xff09;二进制日志 查看二进制文件的设置&…

【Java基础教程】(四十五)IO篇 · 中:转换流、内存流和打印流(探索装饰设计模式与PrintStream类的进阶),文件操作案例实践、字符编码问题~

Java基础教程之IO操作 中 &#x1f539;本节学习目标1️⃣ 转换流2️⃣ 案例&#xff1a;文件复制3️⃣ 字符编码4️⃣ 内存流5️⃣ 打印流5.1 打印流设计思想——装饰设计模式5.2 打印流5.3 PrintStream 类的改进 &#x1f33e; 总结 &#x1f539;本节学习目标 掌握内存操作…

C++初阶 - 5.C/C++内存管理

目录 1.C/C的内存分布 2.C语言中动态内存管理方式&#xff1a;malloc、calloc、realloc、free 3.C内存管理方式 3.1 new/delete操作内置类型 3.2 new 和 delete操作自定义类型 4.operator new 与 operator delete 函数&#xff08;重要点&#xff09; 4.1 operator new 与…

Go语言开发者的Apache Arrow使用指南:扩展compute包

在本系列文章的第4篇《Go语言开发者的Apache Arrow使用指南&#xff1a;数据操作》[1]中我们遇到了大麻烦&#xff1a;Go的Arrow实现居然不支持像max、min、sum这样的简单聚合计算函数:(&#xff0c;分组聚合(grouped aggregation)就更是“遥不可期”。要想对从CSV读取的数据[2…

如何在代码中用宏定义确定VS编译器版本

我们经常需要将同一个代码文件在不同的编译器下编译&#xff0c;实际上对应着不同的代码&#xff0c;这个时候就可以使用宏定义来进行判断&#xff0c;比如如下代码&#xff1a; #if _MSC_VER >1900 // VS2015或者以上 #ifndef _CRT_SECURE_NO_WARNINGS #define _CRT_SECUR…

第十四届蓝桥杯大赛青少年省赛C++组试题真题 2023年5月

一、选择题 第 1 题 单选题 C中&#xff0c;bool类型的变量占用字节数为 ( )。 A. 1 B. 2 C. 3 D. 4 第 2 题 单选题 以下关于C结构体的说法&#xff0c;正确的是 ( )。 A. 结构体中只能包含成员变量&#xff0c;不能包含成员函数 B. 结构体不能从另一个结构体继承 …

发布npm包流程

发布npm包的步骤如下&#xff1a; 在终端中通过 npm init 命令创建一个新的npm包&#xff0c;按照提示填写包的信息&#xff0c;如包名称、版本、描述、作者、许可证等。 在包的根目录下创建一个 index.js 文件&#xff0c;编写你的代码。 确认你已经注册了npm账号&#xff0…

Vue二次封装axios为插件使用

基本的封装要求&#xff1a;统一 url 配置 统一 api 请求 request (请求)拦截器&#xff0c;例如&#xff1a;带上token等&#xff0c;设置请求头 response (响应)拦截器&#xff0c;例如&#xff1a;错误处理&#xff0c;页面重定向等 根据需要&#xff0c;结合 Vuex 做全局的…

【三维点云处理】顶点、面片、邻接矩阵、邻接距离矩阵以及稀疏存储概念

文章目录 vts和faces基础知识vertices-节点&#xff08;3是点的三维坐标&#xff09;faces-面片&#xff08;3是构成三角形面片的3个点&#xff09; 邻接矩阵邻接距离矩阵&#xff08;NN500&#xff09;稀疏矩阵 vts和faces基础知识 vertices-节点&#xff08;3是点的三维坐标…

git 实操

首先有安装好的git,安装好后,会在任一目录下右键出现git bash和git gui两个选项 打开git bash,设置好全局变量,用户名和邮箱,设置方法为: git config -- global user.name "xxx" git config --global user.email "xxxxxx.com" 1.创建版本库 git init 命…

Photoshop2023beta常见问题|ps 2023测试版智能AI功能不能用如何解决?

PS beta ai创成式填充用不了怎么办 生成图像出错解决方法&#xff1f;PS 2023最新版本更新了超强大的AI功能&#xff0c;可以一键生成或删除用户选中的内容&#xff0c;这可大大提高了生成图片的效率。生成出来的图片也被公认为质量超高&#xff0c;虽然偶尔可能有点小瑕疵&…