关于python的问题

2024-12-26 12:47:38
推荐回答(3个)
回答1:

这里有两个知识点:

1、切片,比如有一个字符串:name = 'abcdef',那么在内存中存储如图

取e 是 name[4]或者name[-2]

取ef 是 name[:-2]或者name[:4]

取bc 是name[1:3]或者name[-5:-3] ,需要注意的是,“:”后面取的闭包,也就是不包括本身,这个例子里name[3]的 d是不包括的。

那么path[:-4]就好理解了,就是取字符串开头到 -4位置的字符串'c:\test.',不包括'h'。

2、转移字符

python系统中,如果在字符串中使用了一些特殊字符,比如换行、换行、tab制表符等等,还有一些特殊意义的字符,像“ 号,‘号,需要在字符前面加上“\”。即转义符,通俗的说,就是“\”后面的那个字符,不是字符原本的意思了,它代表了另一个字符。

比如常用到的\n是代表换行,\t是制表符。

但是有时候我们的字符串中,\号就是它本身的意思,不作为转义符,比如题目路径中的中的\号。这个时候就要在字符串前面加上一个'r',告诉系统,字符串里面的 \ 号,不是转义符。

所以,你的题目答案就是 c:\test.htm

当然,如果题目没有“r”,也就是 path='c:\test.html' 那么答案就变成了 c: est.htm  ,\t 做为了一个制表符处理。

回答2:

r是python中防止字符串转义的的,而path[A:B]表示path中的[A,B)部分,为负数时表示倒数第几个,因此表达式path[:-4] + 'htm'为'c:\test.' + 'htm' == 'c:\test.htm'

回答3:

可以用的,比如matplotlib!可以下载安装.