Python面试题

一、Python基础

1.1 基础语法

1.1.1 输入与输出

1.1. 代码中要修改不可变数据会发现什么问题?抛出什么异常?

代码不会正常运行,抛出TypeError异常

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

# 方法一
a = a+b
b = a-b
a = a-b

# 方法二
a=a^b
b=b^a
a=a^b

# 方法三
a,b=b,a

1.3.print调用python中底层的什么办法?

# print方法默认调用sys.stdout.write方法,即往控制台打印字符擦混

1.4. 下面代码输出结果是什么?

# 

1.5.简述你对input()函数的理解?

# 在Python3中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的.

# 在python2中,raw_input()和input(),raw_input()和python3中的input()作用是一样的,input()输入的是什么数据类型,获取到的就是什么数据类型.

1.1.2 条件与循环

2.1 range与xrange的区别?

# 两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边利用,只有使用时才会开辟内存空间,所以当列表很长时,使用xrange性能比range好

2.2 以下Python程序的输出

for i in range(5,0,-1):
	print(i)

# 5 4 3 2 1 

说一说深浅拷贝?

# 浅copy: 会在内存中新开辟一个空间,存放这个copy的列表,但是列表里面的内容还是沿用之前对象的内存地址

1.1.3 文件操作

posted @ 2020-04-27 10:50  常见-youmen  阅读(260)  评论(0编辑  收藏  举报