【Python学习】—Python常见的面试题
1、一个变量没有定义报什么错误
一般在 python 中会有红色的波浪线标出来要是运行后,就直接会报变量没定义的错:NameError: name’i’ is not defined
2、 列表与元组的区别
他们最大的区别
- 列表可以修改,元组不可以修改,列表就相当于一个动态数组,而元组是一个静态数组。
- 从设计上说,列表是用来保存多个相互独立对象的数据集合,而元组设计的初衷就是为了描述一
个不会改变的事物的多个属性。 - 然后列表的声明用中括号元组的声明用小括号,并且元组只有一个元素的时候需要在后面加逗号。
3、python 序列有哪些?
- 有序序列:字符串,元组,列表
- 无序序列:字典,集合
序列特点:
- 都可以通过索引得到每一个元素
- 默认索引值总是从零开始
- 可以通过切片的方法得到一个范围内的元素的集合 有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
4、Python 区分大小写吗?
python 中是区分大小写的
5、如何获取字典中的所有键?
- 我们可以直接遍历这个字典,用 keys()函数取出所有的键
for key in dict.keys()
- 如果说要取出字典中所有的键和对应的值,我们用 items0 函数
for key,value in dict.items()
6、列表和字典有什么区别?
- dict 生成慢,查找快,list 生成快,查找慢,
- 另外 list 是有序的,dict 是无需的,
- list 通过索引访问,dict 使用 key 访问,
7、截取字符串里面部分字符怎么做?
- 一般就是在定义的这个字符串变量后面用中括号[],然后里面填写需要截取的素引数
print(str[2:1)
print(str[:2]) # 从开始到 2)
print(str[2:5])
print(str[:])
- 利用字符串的中的内置函数 split()
str1 = ‘2018-11-20 14:40:00’
print("年份: "str1.split(‘’)[0].split(‘-’)[0])
print("月份: "str1.split(‘’)[0].split(‘-’)[1])
print("日期: "str1.split(‘’)[0].split(‘-’)[2])
print("时: "str1.split(‘’)[1].split(‘:’)[0])
print("分: "str1.split(‘’)[1].split(‘:’)[1])
print("秒: "str1.split(‘’)[1].split(‘:’)[2])
8、如何遍历列表,字典?
列表遍历
list=[3,4,6,89]
for i in range(0,len(list)):
print(‘%d’%list[i])
for i in list
print(i)
字典遍历
dict ={‘name’:’jason’,’pwd’:’123456’}
for key in dict.keys():
print(dict[key])
for value in dict.values():
print(value)
for key,value in dict.items():
print(key,value)
9、列出 5 个 python 标准库
os:提供了不少与操作系统相关联的函数
sys: 通常用于命令行参数
re: 正则匹配
math: 数学运算
datetime: 处理日期时间
10、字典如何删除键和合并两个字典?
字典 dic1={‘name’:’laowang’,’age’:’18’},
dic2=(‘name’:’Xiaohua’},删除 dic1 中键名为’name’的键,并合并 dc1 和 dic2
1) 删除键名为 name 的键
dic1={‘name’:’laowang’,’age’:’18’}
del dic1[‘name’]
2) 合并两个字典,使用字典的成员方法 update()
dic2.update(dic1)
print(dic2)
11、 python 实现列表去重的方法?
#encoding = utf-8
import time
time_start=time.time()
print u"列表去重的七种方法"
prnt u"第一种测试方法"
repeat_list=[1,2,4,1,5,1,2,5]
result=[]
for i in repeat_list:
if i not in result;
result.append(i)
print u"第一种去重结果:", result
第二种方法:
repeat_list=[1,2,4,1,5,1,2,5]
print u"第三种去重结果:",list(set( repeat_list))
12、python 内建数据类型有哪些?
整型 – int
布尔型 – bool
字符串 – str
列表 – list
元组 – tuple
字典 – dict
13、列出 python 中可变数据类型和不可变数据类型,并简述原理?
可变数据类型:列表 list 和字典 dict
不可变数据类型:整型 int、浮点型 float、字符串
python 中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象;可变数据类型,允许变量的值发生变化,即如果对变量进行 append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值 的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。
14、 如何将字符串转换为小写?
S = “What is Your Name?”
print(s.lower()) #返回小写字符串
print(s.upper()) #返回大写字符串
print(s.capitalize()) #字符串首字符大写
print(s.title()) #每个单词的首字母大写
pint(s.swapcase()) #大小写互换
15、回文数
num = input(‘Num:’)
if num == num[::-1];
print("回文数")
else:
print(不是)