python面试宝典1

这篇具有很好参考价值的文章主要介绍了python面试宝典1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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、理解下面代码,结果输出

python面试宝典1,面试问题,python,开发语言
python面试宝典1,面试问题,python,开发语言

5、对input()函数的理解

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

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

python面试宝典1,面试问题,python,开发语言
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,赋值:
python面试宝典1,面试问题,python,开发语言
用 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代码的文件夹是一个包,一个包可以包含模块和子文件夹文章来源地址https://www.toymoban.com/news/detail-610048.html

到了这里,关于python面试宝典1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面试宝典进阶之Java线程面试题

    (1)线程是CPU调度的最小单位,进程是计算分配资源的最小单位。 (2)一个进程至少要有一个线程。 (3)进程之间的内存是隔离的,而同一个进程中的线程之间是共享内存的。 T2、【初级】线程的创建有哪几种方式? (1)继承Thread类,重写run方法。 (2)实现Runnable接口

    2024年02月02日
    浏览(47)
  • 面试宝典之JVM优化

    加载、验证、准备、解析、初始化。然后是使用和卸载了 新生代内存不够用时候发生 MGC 也叫 YGC,JVM 内存不够的时候发生 FGC 标记-清除: 这是垃圾收集算法中最基础的,根据名字就可以知道,它的思想就是标记哪些要被回收的对象,然后统一回收。这种方法很简单,但是会有

    2024年01月20日
    浏览(48)
  • 2023 Hive 面试宝典

    先说一些废话 总结一下Hive面试宝典,方便读者快速过一遍Hive面试所需要的知识点 Hive利用hdfs存储数据,利用MapReduce查询数据 Hive的数据存储在hdfs上,简单的说Hive就是hdfs的简单一种映射,比如:Hive的一张表映射hdfs上的一个文件,Hive的一个数据库就映射为hdfs上的文件夹 Hi

    2024年02月15日
    浏览(48)
  • 实施面试宝典(一)

    计算机硬件:指组成计算机看得见,摸得着的实际物理设备。 计算机软件:指为了运行,管理和维护技术及系统所偏见的各种程序的总和。 内部设备:CPU,主板,内存,硬盘,显卡,光驱,机箱,电源等。 外部设备:显示器,键盘,鼠标,摄像头,打印机,扫描仪,传真机,

    2024年01月16日
    浏览(45)
  • 软件测试面试题【内附超详细面试宝典】

    一般软件测试的面试分为三轮:笔试,HR面试,技术面试。 前两轮,根据不同企业,或有或无,但最后一个技术面试是企业了解你“行不行”的关键环节,每个企业都会有的。 在平时的学习、工作中一定要善于总结,如果回答不好,面试官会认为你技术能力有限或者不勤于思

    2024年02月06日
    浏览(54)
  • 01.java并发编程面试宝典

    谈谈什么是线程池 线程池和数据库连接池非常类似,可以统一管理和维护线程,减少没有必要的开销。 因为频繁的开启线程或者停止线程,线程需要从新被 cpu 从就绪到运行状态调度,需要发生上下文切换 实际开发项目中 禁止自己 new 线程。必须使用线程池来维护和创建线

    2024年02月03日
    浏览(105)
  • 软件测试面试宝典—http

    1.HTTP报文由哪几部分组成? 请求报文(Request Message)由以下几部分组成: 请求行(Request Line):包含请求方法、请求URL和HTTP协议版本。 请求头部(Request Headers):包含一系列的键值对,用于描述请求的附加信息,如User-Agent、Content-Type等。 空行(Blank Line):用于分隔请求头

    2024年01月25日
    浏览(54)
  • 云计算(虚拟化)面试宝典

    1.名词解释 (1)资源动态调整(对象是虚拟机) 管理员操作,对CPU、内存、网卡、硬盘、GPU进行调整。 FusionCompute支持虚拟机资源动态调整,用户可以根据业务负载动态调整资源的使用情况。 虚拟机资源调整包括: 离线/在线调整vCPU数目 无论虚拟机处于离线(关机)或在线

    2024年02月09日
    浏览(43)
  • 2022最全软件测试面试宝典

    一、引言 1.1  文档目的 二、职业规划 2.1  简单的自我介绍下 2.2  为什么离职 2.3 加班的看法 2.4 你还有什么问题要问?  2.5  你的职业发展规划和职业目标 2.6  你最近测试的论坛和网站是什么?  2.7  对于一个新的工具你有什么看法 2.8  你做了 3 年测试收获,你的测试心得

    2023年04月15日
    浏览(51)
  • Java面试八股文宝典:序言

    Java作为一门广泛应用于企业级应用开发的编程语言,一直以来都是技术面试中的重要话题。无论您是刚刚踏入编程世界的新手,还是经验丰富的Java开发工程师,都需要通过面试来展示自己的技能和知识。 在面试中,除了技术知识,还需要展现出解决问题、沟通能力和编程实

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包