python语法面试题(二)

Python语法面试题(二)

16. 如何设定字符串的第1个字母是大写。

​ 字符串函数title()可以设定字符串第1个字母是大写。

17. 说明is的用法。

​ 可以用于比较两个对象是否相同,在此所谓相同并不只是内容相同,而是指对象变量指向相同的内存,对象可以是变量、字符串、列表、元组、字典。

18. 说明in的用法。

​ 可以用此判断一个对象是否属于另一个对象,然后传回布尔值。

19. 什么是列表打包(packing)?

​ 在多重指定中,如果等号左边的变量较少,可以用**“变量”**方式,将多余的右边内容,用列表方式打包给的变量。

a,b,*c = 1,2,3,4,5
print(a,b,c) # 1 2 [3,4,5]
a,*b,c = 1,2,3,4,5
print(a,b,c) # 1 [2,3,4] 5

注1:变量内容打包时,不一定要在最右边,可以在任意位置。

注2:Python也可以使用zip()函数,针对多个列表的值进行打包,此时语法如下:zip(list1,list2,…)

list1 = ["a","b","c"]
list2 = [1,2,3]
for p in zip(list1,list2):
    print(p)
"""
("a",1)
("b",2)
("c",3)
"""

20. 什么是元组(或列表)解包(unpacking)?

  1. 在多重指定中,等号左右两边也可以是容器,只要他们的结构相同即可。例如:有一个指定如下:
x,y = (1,2) # 元组解包
x,y = [1,2] # 列表解包

​ 这称为元组解包(tuple unpacking)或列表解包(list unpacking),然后将元素内容设定给对应的变量。

[a,b,c]=(1,2,3)
print(a,b,c) # 1 2 3

​ 上述并不是将“1,2,3”设定给列表内容,而是将两边都解包,所以可以得到a,b,c分别是1,2,3。

  1. 如果列表(或元组)的元素是列表(或元组),则可以使用for循环执行解包。
a = ["a","b"]
b = [1,2]
data = zip(a,b)
print(list(data)) #[('a', 1), ('b', 2)]
for c,p in data:
    print(c,p)
"""
a 1
b 2
"""

21. 什么是可迭代对象(iterators/iterable object)。

​ 可迭代对象是指可以遍历或迭代的对象。列表、元组、字典皆是可迭代对象。

22. 说明divmod(x,y)的用法,它的回传值数据形态是什么?

divmod(x,y)函数第一个参数x是被除数,第二个参数y是除数,回传值是商与余数,回传值是一个元组。

x,y = 9,5
v1,v2 = divmod(x,y)
print(v1,v2) # 1 4

23. 如何将B字典元素合并到A字典内。

​ 使用A.update(B),由于字典的键是唯一的,所以如果有重复的键,B的键值对覆盖A的键值。

dict1 = {"a":1,"b":2,"c":3}
dict2 = {"c":30,"d":4}
dict1.update(dict2)
print(dict1) #{"a":1,"b":2,"c":30,"d":4}

24. 如何合并和删除字典?

​ 可以使用update()方法合并字典。

​ 可以使用del方法删除字典元素或整个字典。

del mydict         # 删除字典mydict
del mydict["a"]    # 删除mydict字典的data为key的元素
mydict.clear()     # 删除字典所有元素

25. 列出所有被列为逻辑值False的情况。

布尔值False;整数0;浮点数0.0;空字符串’ ';空列表[ ];空元组( );空字典{ };空集合set( );None。

至于其他的皆会被视为True。

26. 说明any()all()的区别。

any(x):x是可迭代对象,只要一个对象不为空、0或False,就回传True,否则回传False。

any(0)     # False
any(1)     # True
any([])    # False
any([0,1]) # True

all(x):x是可迭代对象,要所有对象不为空、0、False,None,才回传True,否则回传False。

all([1,2]) # True
all([1,0]) # False
all([])    # True
all(())    # True

27. 什么是pickling和unpickling?

​ pickle时Python的一种原生数据形态,pickle文件内部是以二进制格式存储数据,当数据以二进制方式存储时不方便阅读,但方便保存以及调用。可以使用dump()以pickle文件存储,这个过程称为pickling。将pickle文件使用load()复原文件原先的数据格式,这个过程称为unpickling。

28. 说明下面几类错误。

AttributeError:通常是指对象没有这个属性;

Exception:一般错误皆可使用;

FileNotFoundError:找不到Open()开启的文件;

IOError:在输入或输出时发生错误;

IndexError:索引超出范围区间;

KeyError:在映射中没有这个键;

MemoryError:需求内存空间超出范围;

NameError:对象名称未宣告;

SystemError:直译器的系统错误;

TypeError:数据类型错误;

ValueError:传入无效参数;

ZeroDivisionError:除数为0。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值