python基礎語法-學習筆記

 1 def stu1(name = "No name", adr = "NO adr"):
 2     print("name:{} adr:{}".format(name,adr))
 3 
 4 stu1(adr="adr")
 5 stu1('adr')
 6 
 7 def stu2(*args):
 8     '''
 9     收集參數
10     '''
11     for a in args:
12         print(a , end=" ")
13     print("")
14 
15 stu2("lemon","百草路","大二")
16 
17 def stu3(**kvargs):
18     '''
19     關鍵字收集參數
20     '''
21     for k,v in kvargs.items():
22         print(k,"---",v,end = "  ")
23 
24 stu3(name="lemon",adr="百草路")
25 print()
26 
27 def stu4(name ,*args , adr='NO adr' ,**kwargs):
28     print(name,adr ,end=' ')
29     for a in args:
30         print(a,end=' ')
31     for k,v in kwargs.items():
32         print(k,'---',v,end=' ')
33 
34 stu4('lemon','百葉計劃',adr = 'adr', pc ='聯想')
def
  • 使用關鍵字參數調用函數時,參數順序能夠不一致
  • 能夠設置形參默認值,當沒有傳入參數時,使用這個默認值.
  • *args收集參數,能夠收集多餘的參數
  • **args關鍵字收集參數,能夠收集多餘的關鍵字參數
  • 若是使用可變混合參數,請按 (參數 *args 關鍵字參數 **kwargs)的順序使用,更多:https://www.cnblogs.com/harden13/p/8782782.htm
 1 def up():
 2     '''
 3     利用global將局部變量提高爲全局變量
 4     '''
 5     a = 101
 6     global a
 7     a = 100
 8 
 9 up()
10 print(a)
global
  • global能夠將局部變量提高到全局範圍
  • 全局聲明前不可分配變量
 1 a = [a for a in range(1,10)]
 2 for num in a:
 3     if(num == 5):
 4       break
 5     print(num)
 6 else:
 7     print("break")
 8 
 9 
10 print("  ")
11 
12 for num in a:
13     if(num == 5):
14         continue
15     print(num)
16 else:
17     print("continue")
for-else
  • for正常結束時(不受break影響),會執行else中的代碼塊
 1 list = [1,'lemon',3,1]
 2 print(list)
 3 
 4 print('append():在末尾添加元素')
 5 list.append(4)
 6 print(list)
 7 
 8 print('\ninsert(1,"百草路"):在第1處插入"百草路"')
 9 list.insert(1,"百草路")
10 print(list)
11 
12 print('切片list[1:5:2]:',list[1:5:2])
13 print('切片list[2:10:]',list[2:10:])
14 print('切片list[1:2]',list[1:2])
15 
16 
17 print('\npop():刪除最後一個元素')
18 list.pop()
19 print(list)
20 
21 print('\ndel list[3]:刪除第4個元素')
22 del list[3]
23 print(list)
24 
25 print('\nremove("l"):移除匹配到的第一個1')
26 list.remove(1)
27 print(list)
28 
29 print('\nlen(list):返回列表長度')
30 print(len(list))
31 
32 print('\nreverse():反向列表元素')
33 list.reverse()
34 print(list)
35 
36 print('\nextend(序列):在列表後面追加序列元素')
37 list.extend(i for i in range(1,10))
38 print(list)
39 
40 print('\nsort():排序')
41 list.remove('百草路')
42 list.remove('lemon')
43 list.sort()
44 print(list)
list
  • list有索引能夠進行切片操做
  • list能夠收集不一樣類型的元素
  • list可被修改
 1 # dictionary元組
 2 a = {'name' : 'lemon' , 'adr' : '百草路' ,}
 3 print(a)
 4 # Python3遍歷
 5 for k in a.keys():
 6     print(k,'----',a[k],end='')
 7 print()
 8 
 9 for v in a.values():
10     print(k,end='')
11 print()
12 
13 for k,v in a.items():
14     print(k , '----' , v)
15 
16 # 不容許key出現兩次,出現屢次最後一個key會被記住
17 b = {'name' : 'lemon' , 'name' : 'lemon-Xu'}
18 print(b)
19 
20 # key的值必須是可哈希的,列表就不行
21 try:
22     c = {[1,] : '123'}
23 except :
24     print('list不可哈希')
25 
26 
27 c = {'name' : 'lemon' , 'adr' : '百草路'}
28 # 修改dictionary的值
29 c['name'] = 'lemon-Xu'
30 # 修改,若是沒有key就添加一個
31 c['class']  = '6'
32 print(c)
33 
34 # 刪除
35 del c['name']
36 print(c)
dictionary
  • dictionary,沒有索引不可進行切片操做
  • 多個kv隊最後一個kv會被保存
相關文章
相關標籤/搜索