爱网站搭建,wordpress 网站白屏,网站费用,山西省最新干部调整第1题#xff1a;Python里面如何实现tuple和list的转换#xff1f;
函数tuple(seq)可以把所有可迭代的(iterable)序列转换成一个tuple, 元素不变#xff0c;排序也不变
list转为tuple#xff1a;
temp_list [1,2,3,4,5]
将temp_list进行强制转换#xff1a;tuple(temp_li…第1题Python里面如何实现tuple和list的转换
函数tuple(seq)可以把所有可迭代的(iterable)序列转换成一个tuple, 元素不变排序也不变
list转为tuple
temp_list [1,2,3,4,5]
将temp_list进行强制转换tuple(temp_list)
确定是否转换成功print(type(temp_list))
函数list(seq)可以把所有的序列和可迭代的对象转换成一个list,元素不变排序也不变
tuple 转为list
temp_tuple (1,2,3,4,5)
方法类似也是进行强制转换即可list(temp_tuple)
确定是否转换成功print(type(temp_tuple))
第2题Python里面search()和match()的区别
它们两个都在re模块中
match()函数是在string的开始位置匹配如果不匹配则返回None;
search()会扫描整个string查找匹配;
match()import reprint(re.match(hello,helloworld).span()) # 开头匹配到
(0, 5)print(re.match(hello,nicehelloworld).span()) # 开头没有匹配到
Traceback (most recent call last):
File , line 1, in
print(re.match(hello,nicehelloworld).span())
AttributeError: NoneType object has no attribute spansearch()print(re.search(a,abc))
_sre.SRE_Match object; span(0, 1), matchaprint(re.search(a,bac).span())
(1, 2)结论match() 使用限制更多
第3题 如何用Python删除一个文件
os模块的使用
os.remove(path)
删除文件 path删除时候如果path是一个目录 抛出 OSError错误。如果要删除目录请使用rmdir()。
remove() 同 unlink() 的功能是一样的
os.remove(a.txt)
os.removedirs(path)
递归地删除目录。类似于rmdir(), 如果子目录被成功删除 removedirs() 将会删除父目录但子目录没有成功删除将抛出错误。
例如 os.removedirs(“a/b/c”) 将首先删除c目录然后再删除b和a, 如果他们是空的话则子目录不能成功删除将抛出 OSError异常
os.rmdir(path)
删除目录 path要求path必须是个空目录否则抛出OSError错误
第4题 is 和 的区别
hon中对象包含的三个基本要素分别是id(身份标识)、type(数据类型)和value(值)
id 身份标识就是在内存中的地址
完整的举例a hellob helloprint(a is b)
Trueprint(ab)
Truea hello worldb hello worldprint(a is b)
Falseprint(a b)
Truea [1,2,3]b [1,2,3]print(a is b)
Falseprint(a b)
Truea [1,2,3]b aprint(a is b)
Trueprint(a b)
True是python标准操作符中的比较操作符用来比较判断两个对象的value(值)是否相等
is也被叫做同一性运算符对象标示符这个运算符比较判断的是对象间的唯一身份标识也就是id内存中的地址是否相同
我们在检查 a is b 的时候其实相当于检查 id(a) id(b)。而检查a b 的时候实际是调用了对象 a 的 __eq()__ 方法a b 相当于 a.__eq__(b)。
这里还有一个问题为什么 a 和 b 都是 hello 的时候a is b 返回True而 a 和 b都是 hello world 的时候a is b 返回False呢
这是因为前一种情况下Python的字符串驻留机制起了作用。对于较小的字符串为了提高系统性能Python会保留其值的一个副本当创建新的字符串的时候直接指向该副本即可。
所以 hello 在内存中只有一个副本a 和 b 的 id 值相同而 hello world 是长字符串不驻留内存Python中各自创建了对象来表示 a 和 b所以他们的值相同但 id 值不同。
试一下当a247,b247时它们的id还是否会相等。事实上Python 为了优化速度使用了小整数对象池避免为整数频繁申请和销毁内存空间。而Python 对小整数的定义是 [-5, 257)只有数字在-5到256之间它们的id才会相等超过了这个范围就不行了。a 247b 247print(a is b)
Truea 258b 258print(a is b)
Falseis 是检查两个对象是否指向同一块内存空间而 是检查他们的值是否相等。is比更加严格
第5题a1, b2, 不用中间变量交换a和b的值
方法一a 5b 6a abb a-ba a-b
方法二a a^bb b^aa a^b
方法三
a,b b,a
第6题说说你对zen of python的理解你有什么办法看到它?
Python之禅
import this
python彩蛋
知道就知道了不知道你现在已经知道了搜索一下去吧
微信搜索非本科程序员关注吧