1.字符串的用法(String)
- Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
- Python中的字符串不能改變。
- Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串
這三點是我覺得Python字符處理特別的一點
我們來看第二點
#coding=UTF-8 a = 99 print (id(a)) b='' print (id(b)) b+='abc' print (id(b)) b+=str(a) print(id(b)) print(id(b))
?
我們可以這樣理解:就比如,盒子里面有一個蘋果,現在你要放一個香蕉進去,但盒子放不下了,只能把蘋果和香蕉先放到一個新盒子里面,在返回給你。
2.變量類型
##變量賦值
首先變量不需要聲明類型,其次多次賦值可以這樣
a,b,c = 1,2,"runoob" print(c)
##Python的標準數據類型
- Numbers(數字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
列表[]與元素()
#列表 list = ['a','b',1998,'k','l']list[2]='0804' print(list[1:3])*2#元組就是只讀列表,不可更改 list2 = ('q','w','e','r','s') #list2[2]='0804'非法 print(list2[0:3])
字典{}(有映射)
Map = {"key1":"value1","key2":"value2","key3":"value3",1:9}print(Map.keys()) print(Map.values()) print(Map["key1"])
?##運算符
**冪 //除取整
判斷是否在一個集合中? in ? not in
判斷兩個標識符是否引用同一個對象 is? is not
?
##條件語句 Python不支持switch所以只能用 if elif else
?
#coding=UTF-8 while 1:n = input("請輸入一個數字")if n < 60 and n >= 0:print("不及格")elif n >= 60 and n < 90:print("及格")elif 100 >= n >= 90:print("優秀")else:print("待定")
?
##循環語句
#coding=UTF-8 a = ['Google','Baidu','Bing','Tencent','Bilibili'] for i in a:if i=='Baidu':passprint("執行pass代碼段,順便把百度搞掉");continueprint("循環數據"+i)for i in range(len(a)):print(i,a[i])
?
##迭代器和生成器
迭代器訪問集合元素的方式
具體步驟:1.創建迭代器對象 iter()方法 2.遍歷迭代器next()方法
import sys list=[1,2,3,4] it = iter(list) #建立迭代器對象while 1:try:print (next(it)) #不斷遍歷迭代器中的所有集合,當沒有是結束except StopIteration:sys.exit()
生成器:
在 Python 中,使用了 yield 的函數被稱為生成器(generator)。跟普通函數不同的是,生成器是一個返回迭代器的函數,只能用于迭代操作,更簡單點理解生成器就是一個迭代器。
在調用生成器運行的過程中,每次遇到 yield 時函數會暫停并保存當前所有的運行信息,返回 yield 的值, 并在下一次執行 next() 方法時從當前位置繼續運行。
調用一個生成器函數,返回的是一個迭代器對象。
#coding=UTF-8import sysdef fibonacci(n):a,b,counter = 0,1,0while True:if(counter>n):returnyield aa,b = b,a+bcounter +=1 f = fibonacci(10)while True:try:print(next(f)),except StopIteration:sys.exit()0 1 1 2 3 5 8 13 21 34 55
?