然後這裡的多工程式設計和網路程式設計是暑假學的
### 可變物件按引用傳遞,不可變物件按引用傳遞# 避免對可變引數的修改:
l = [1,2]
change(l[:]) #
# 或def change(l):
l = l[:]
###【預設引數】【必須是不可變物件】
def power(x,n=2):
return x**n
power(2) #=>4
power(2,3) #=>8
###【可變引數】(元祖)
def sum(*nums): #可以傳入0到n個引數,函式內部接收到的是tuple
s=0for x in nums:
s+=x
return s
###【關鍵字引數】(字典)
def preson(name,age,**kw): #可以傳入0個或多個引數
print('name:',name,'age:',age,'other',kw)
person('bin',19,city='zz',job='stu') #=> name:bin age:19 other:
###【元祖字典的】【拆包】
a=(1,2,3)
def func(*args):
print(args)
func(a) # => ((1,2,3),) 沒有*當作乙個值,有*拆成n個值傳入
func(*a) # => (1,2,3) 【拆包,拆成乙個乙個的值】 字典 傳入 **a
>>> func = lambda x : x*2 #分號前是引數,分號後是表示式,不用return,自動返回後面的值>>> func(2) #=> 4
###【簡單應用,字典排序,匿名函式作實參】
info = [,,]
info.sort(key=lambda x:x['name'])
print(info)
就是函式名可以作為引數使用
### map(func,seq) 將函式func作用於序列seq的每個元素,並返回乙個迭代器>>> list(map(lambda x:x*2,[1,2,3])) # => [2,4,6]
### reduce(func,seq) 把乙個函式作用在乙個序列[x1, x2, x3, ...]上,這個函式必須接收兩個引數,reduce把結果繼續和序列的下乙個元素做累積計算,其效果就是:
###reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...>>> reduce(fn, [1, 3, 5, 7, 9])
13579
###filter(func,seq) filter()把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。
def not_empty(s): #把列表的空字串去掉
return s and s.strip()
list(filter(not_empty, ['a', '', 'b', none, 'c', ' ']))
# 結果: ['a', 'b', 'c']
###sorted(seq,key=none,reverse=false)
>>> sorted([36, 5, -12, 9, -21])
[-21, -12, 5, 9, 36]
#還可以接收乙個key函式來實現自定義的排序,key作用於每乙個元素,並按作用後的seq排序
>>> sorted([36, 5, -12, 9, -21], key=abs)
[5, 9, -12, -21, 36]
閉包就是內部函式引用了外部函式的臨時變數,並且外部函式返回了內部函式的引用
就是不修改原函式的情況下,新增新的功能
學習筆記 雜湊學習筆記
hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...
學習筆記 CentOS 學習筆記01
簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...
筆記 spring cloud 學習筆記
1 spring cloud 是什麼 spring cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具 例如配置管理,服務發現,斷路器,智慧型路由,微 控制匯流排 分布式系統的協調導致了樣板模式,使用spring cloud開發人員可以快速地支援實現這些模式的服務和應用程式。他們將在任...