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'
關於python的乙個小問題 20
3樓:匿名使用者
python range() 函式可建立乙個整數列表,一般用在 for 迴圈中。
函式語法
range(start, stop[, step])
引數說明:
start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);
stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,預設為1。例如:range(0, 5) 等價於 range(0, 5, 1)
即:range(1,n)裡,是不包含n的。只是到 1,2,3,..,(n-2),(n-1).
而要求的n!=1x2x3..x(n-1)xn,明顯,是要包含n的。所以,要寫成range(1,n+1)
關於python小白的問題,python小白的問題
土豪 只有float浮點數才可以用int轉換為整數,input得到的是string字串型別,不能直接轉換為int整型,需要先轉換為浮點型再轉換為整型,你的 應該這樣 加粗的是我新增的 我加的那句input是防止輸入正確之後直接退出 temp int float input 請輸入年份確定是否為閏年 ...
關於python的簡單問題,關於python的一個簡單問題
usr bin env python coding utf 8 filename baidu getpower.pydef getinteger prompt while 1 try return int input prompt except continue def power x,y if y...
關於python程式設計的問題,關於python程式設計的一個問題。 20
cmp 在進行物件比較的時候python會自動呼叫。in的時候首先會比較引用,引用不對的時候會呼叫 cmp 函式 你可以去看看dive into python 請問python程式設計中的一個問題? 求你別開腔 1 str1 1 print str1 可以輸入print type str1 檢視其型...