函數
關鍵字參數: def f(x,y), f(68,Flase)可以 f(x=68,False)錯誤
傳遞參數 def:addME(x)
return(x+x )
def self(f,y)
print(f(y))
調用 self(addME,2)
lambda函數(匿名函數)
r=lambda x:x+x
def my_add(x,y):return x+x
等價於lambda x:x+x
my_add=lambda x,y:x+y
調用 my_add(3,4)
遞歸
循環和遞歸,遞歸 必須要有邊界條件來停止遞歸,遞歸的代碼更簡潔
遞歸的執行,需要逐層遞歸調用,逐層返回調用至最初層 ,因此係統資源消耗比循環大,而且遇到邊界條件停止遞歸
變量作用域
局部變量:函數中
全局變量:程序代碼主體
局部變量如果和全局變量同名,遵循內層屏蔽外層
用 global語句強調全局變量
python函數包括:內建函數、標準庫函數、第三方庫函數 、用戶自定義函數
內建函數:包含在utils模塊中的函數,可以直接使用,例如input()
標準庫函數:需要先導入模塊再使用的函數,math庫的pow()
math庫 os庫 random庫 datetime庫,利用help()進行查看具體的講解floor:向下取整
gcd(x,y):返回x和y的最大公約數
》》》import os
os.getcwd() #獲取當前的工作目錄
os.chdir(newdir)#更改工作路徑
os.rename(current_file_name,new_file_name)#重命名
os.remove(file_name)
os.mkdir(newdir)
os.rmdir(dirname)
》》》import random 生成隨機數的一系列函數
import random
random.choice(['c++','java','Python']) #隨機選取變量
random.randint(1,100)#隨機選取1得到100的整數
random.randrange(start,stop,step,)#隨機選取range()生成的一組數據中,隨機選取一個整數,step爲步長
random.random()#生成的是0到1.0之間的一個是隨機浮點數,不包括 1.0
random.uniform(5,10)#隨機生成5到10的一個浮點數
random.sample(range(100),10)#隨機獲取後面指定的個數的一組值,用 list返回
random.shuttle(list)#輸入是一個數組,輸出的是錯亂順序的數組
》》》表示和處理時間日期的一系列函數
import datetime
from datetime import date
from datetime import time
tm=time(23,20,35)
form datetime import datetime
dt=datetime.now()
print(dt.strtime('%a,*b %d %Y %H:%M'))依據一個樣式將時間輸出
dt=datetime(2017,2,3,23,29)
ts=dt.timestamp()#將本地時間準華爲時間戳
print(datetime.fromtimestamp(ts))#從時間戳轉化爲本地時間
#把1971年1月1日0時0時區的時刻記爲新紀元時間
第三方庫函數:例如科學計算包SciPy,用於科學計算的函數
numpy 是開源的數值計算,用來存儲和處理大型的矩陣(matrix),科學計算包括(n維數組Array,函數庫,用於整合C/C++的工具包 ,實用的線性代數、傅里葉變換、隨機數生成函數。numpy和稀疏矩陣運算包scipy)
data=[[1,2,3],[4,5,6]]#創建元組
arr=np.array(data)#轉爲數組
異常
語法錯誤 運行時刻錯誤 邏輯錯誤
1.回溯(跟蹤,traceback),
2.查看異常類 dir(_builtins_)
try/except語句
try: raise
except Exception as err:print(err)
with open('css基礎.txt') as f:
for line in f:
print(line,end='')
等價於:
try:
f=open('css基礎.txt')
for line in f:
print(line,end='')
except IOError:
print('')
finally:
f.close()