Python:进阶操作(1)
這份博客是個人的學習筆記以及總結,觀看課程為廖雪峰在慕課上發布的《python》進階。
一些關于python的基礎操作以及安裝,可以參考我之前的文章。
這份課程一開始會回顧之前學過的東西:
之前學過的有以下幾點:
1python內置的基本類型 變量
2LIst 和turple 順序的集合類型
3條件判斷和循環
4dictheset :根據key訪問的集合類型。
5函數
6切片
7迭代
8列表生成式
二本周課程目錄:
1函數式編程
2模塊使用。
3面向對象編程
4定制類
三學習目標
掌握函數式和面向對象以及模塊化編程
四課程開始
4.1函數式編程概念:
functional 抽象的編程模式。 更高的抽象等級
語言層級對語言調用的影響。
4.2特點
1計算視為函數而非指令
2純函數式編程,不需要變量。
3支持高階函數,代碼簡潔。
4.3 python支持的
1不是純函數時編程,支持高階函數和閉包,有限支持匿名函數。
4.4高階函數的概念
直接調用函數,和使用變量的效果一樣。
可以修改庫函數的內涵。
高階函數:將函數作為參數的函數。(數分里的算子)
demo:
def add(a,b,c):
return c(x)+c(y)
add( 1,9,abs)
高階函數的例子
五練習時間
題目1
編寫一個簡單的高階函數,實現
輸入 x和y得到 根號(x)加根號(y)
解答:
import math
def add(x,y,f):
return f(x)+f(y)
print (add(25,9,math.sqrt))
題目2
編寫一個map映射程序實現將輸入的字符串首字母大寫其他字母小寫的功能。
example for map
def f(x):
return x*x
print(list(map(f,[1,2,3,4,5,6,7,8,9])))
輸出結果為
[1,4,9,16,25,36,49,64,81]
解答:
def format_name(s):
return s.capitalize()print(list(map(format_name,[‘adam’,’LISA’,’barT’])))
題目3
reduce函數的使用,reduce函數和map函數一樣是個高階函數,
區別在于,reduce會對列表里面的參數反復調用。
要求編寫一個函數實現連乘。
example:
from functools import reduce
def f(x,y):
return x+y
print(reduce(f,[1,3,5,7,9]))
輸出結果為:25
解答:
from functools import reduce
def f(x,y):
return x*y
print(reduce(f,[2,4,5,7,12]))
題目4
filter()函數的使用,該函數是python內置的另一個有用的高階函數,filter()函數接受一個函數f和一個list()
這個函數f的作用是對每個元素進行判斷,返回true或者false,filter()根據判斷結果自動過濾掉不符合條件的元素
,返回由符合條件元素組成的新list。
example:
def is_not_empty(s):
return s and len(s.strip())>0
print(list(filter(is_not_empty,[‘test’,None,”,’str’,”,’END’])))
總結
以上是生活随笔為你收集整理的Python:进阶操作(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荣大速印机维修手册_荣大佳文一体机(速印
- 下一篇: android旋转屏幕 简册,[Andr