開始第二週的學習,白天上班,晚上碼字,感受本身萌萌噠,接近年末,事務繁忙,明天又有檢查,今天坐了一天的ppt,這感受真的是聽酸爽的,mmp的。python
上週,武老師講的內容還有一點沒記錄的,先寫到這裏佔個樓。學習
說實話,不知道這個有什麼用,先佔個樓,後續遇到了,在回來進行修正。優化
記住如下內容,適用於全部的語言,包括C語言:spa
(一)字符串在內存中一旦建立,不可修改;對象
(二)一旦在程序中對建立的字符串進行修改,都會從新建立一個字符串,並寫入內存。blog
我大概明白怎麼回事,至於有diao用,後續在實踐吧。索引
1.索引,用str[n],表示字符串中的第幾個字符是啥,在列表,元祖和字典中也適用;事務
2.切片,用str[n:n+j],表示的是字符串中的一段字符是啥,在列表,元祖中使用,字典由於是無序的,不適用於切片(此內容須要完善,後續若是有錯,在回來糾正)。內存
其中,n,j都是整數。字符串
用法:對字符串使用索引、切片,[ ]方法,從0開始,指出指定位置的字符是啥。
#索引,下標,獲取字符串中的某一個字符 str="我是小果果" v1=str[3] v2=str[0:-1]#-1是從右邊開始數第一個數,左閉右開原則 print(v1,v2)#輸出 果 我是小果
用法:對字符串使用len()方法,能夠獲取當前字符串的長度,從0開始.
Python 2中,若是str爲中文字符,一箇中文字符則佔用3個長度。
join和len在列表,元祖中也能夠使用。
str="小果果是隻小狗" v=len(str) print(v)#輸出結果爲7
str="小果果是隻小狗" for s1 in str: print(s1)#順序輸出str中的字符,自帶\n換行。
用法:指定範圍,生成指定的數字
在Python3中,由於內存優化機制,在不使用時候,range是不會輸出的,好比print(range(1,10))#輸出爲range(1,10)。
for s1 in range(1,10,2):#括號內的3個參數分別是 最小值、最大值、步長 print(s1)
用法:enumerate在字典上是枚舉、列舉的意思,
#對於一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它能夠同時得到索引和值。
#enumerate多用於在for循環中獲得計數。
str='我是小果果' for index, item in enumerate(str): print(index,item) ''' 輸出 0 我 1 是 2 小 3 果 4 果 '''
# 練習:把用戶每一個輸入的字符,按順序輸出,並在字符前面標註序號。 str=input('請輸入任意東西>>>') l=len(str) s=range(l) for i in s: print(i,str[i]) print('============')
代碼基本上實現了功能,下面寫一寫本身的心得:
(1)必定要對for循環有個清醒的認識,for循環若是沒有可變的‘東西’(由於涉及的可動的太多,統稱東西吧),他是不會運行的,或者說是會報錯。因此,for循環+range()組合基本上是最經常使用的組合之一了吧。就是順序輸出的典型。
(2)while語句通常都是須要條件的,和for循環對比,用while語句的思路不太同樣,代碼以下:
#while循環實現逐個輸出: str='小果果一身的狗毛' i=0 while i<len(str): print(str[i]) i+=1
#for循環實現逐個輸出: str='小果果一身的狗毛' for i in str: print(i)
區別仍是很明顯的,while語句中定義的i,是爲了找到一個變化的int來知足其循環條件;而for語句中定義的i,是爲了能夠乘載它拿出來的數據的一個載體;
因此說,之後對於遇到循環的問題,若是涉及到判斷,用while語句,而若是涉及到逐個輸出的問題,必定是用for語句。二者生而不一樣。