Python面试题91-121其他内容

这篇博客整理了Python面试中常见的知识点,包括pass语句、input()函数、is与==的区别、作用域、异常处理等。深入探讨了Python的MRO、isinstance、断言、lambda表达式、文件写入模式、sort与sorted的区别以及位运算符等,帮助读者巩固和理解Python核心概念。
摘要由CSDN通过智能技术生成

参考自:https://cloud.tencent.com/developer/article/1490616(题目来源)

所有题目

其他内容

91.解释一下 python 中 pass 语句的作用?

pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作。

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

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

在 Python2 中有 raw_input()input(), raw_input()和 Python3 中的 input()作用是一样的, 
input()输入的是什么数据类型的,获取到的就是什么数据类型的。

93.python 中的 is 和==

Python中对象包含的三个基本要素,分别是:id(身份标识)type(数据类型)和value()
==是python标准操作符中的比较操作符,用来比较判断两个对象的value()是否相等。
a='123'
b='123'
a==b
True

is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。
x=y=[1,2,3]
z=[1,2,3]
x is y
True
x is z
False
id(x)
66283120
id(y)
66283120
id(z)
66578112
#小细节
当二者为整型时:如果值在 [-5, 256]之间,两个变量使用的是同一个对象池里的对象,所以地址是一样的;
值超过这个范围,后者定义的时候就得新开辟一块内存来存储,地址就不一样了;
当二者为字符串时:如果值仅包含数字、字母,则二者是一致的;
当二者为字典、元组、列表时,二者是不一致的。

!!注意:只有数值型和字符串型的情况下,a is b才为True,当a和b是tuplelistdictset型时,a is b为False

94.Python 中的作用域

L(Local):最内层,包含局部变量,比如一个函数/方法内部。
E(Enclosing):包含了非局部(non-local)也非全局(non-global)的变量。
比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中的名称来说 A 中的作用域就为 nonlocal。
G(Global):当前脚本的最外层,比如当前模块的全局变量。
B(Built-in): 包含了内建的变量/关键字等,最后被搜索。
规则顺序: L –> E –> G –gt; B。

当内部作用域想修改外部作用域的变量时,就要用到 globalnonlocal 关键字了。
global 将局部变量修改为全局变量
nonlocal 将局部变量修改为外层非全局作用域(enclosing)

在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内置中找。
参考:https://www.runoob.com/python3/python3-namespace-scope.html

引用自菜鸟教程

95.三元运算写法和应用场景?

res =1 if 条件 else2
应用场景:三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值,简化if语句
a= 5 if True else 1
a
5

96.了解 enumerate 么?

enumerate()函数的作用是通过迭代来遍历一个字符串、列表或字典等,并且为其增加索引,返回值为enumerate类。
一般用在 for 循环当中。在字典上是枚举、列举的意思,参数为可遍历/可迭代的对象(如列表、字符串)
lists=[1,2,3,4,5,6]
for i,j in enumerate(lists):
    print(i,j)
0 1
1 2
2 3
3 4
4 5
5 6

函数第一个参数为可遍历的对象,第二个参数为索引的开始值,没有的话则默认从零开始。
lists=[1,2,3,4,5,6]
for i,j in enumerate(lists,3):
    print(i,j)
3 1
4 2
5 3
6 4
7 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值