蒼井空名言:我脫光衣服躺在鏡頭前,是為了生存,而你衣冠楚楚的站在鏡頭前,卻只是為了私慾和欺騙
1.函式
函式的宣告:
def 方法名(引數1,引數2):
'函式文件'
#注釋print()
return [expression]
呼叫函式:
方法名()
列印函式文件:
1.引數名.__doc__
注:兩個下劃線
2.help(引數名)
2.引數
引數分為形參(parameter)和實參(argument)
3.關鍵字引數
>>> def saysome(name,words):
print(name + '->' + words)
>>> saysome(words='讓程式設計改變世界',name='小甲魚')
小甲魚->讓程式設計改變世界
4.預設引數
>>> def saysome(name = '小甲魚',words = '讓程式設計改變世界'):
print(name + '->' + words)
>>> saysome('蒼井空','我脫光衣服躺在鏡頭前,是為了生存,而你衣冠楚楚的站在鏡頭前,卻只是為了私慾和欺騙')
蒼井空->我脫光衣服躺在鏡頭前,是為了生存,而你衣冠楚楚的站在鏡頭前,卻只是為了私慾和欺騙
5.收集引數
>>> def test(*params,exp):
print('引數的長度:',len(params),exp)
print('第二個引數是:',params[1])
>>> test(1,'小甲魚',3.14,5,6,7,8,exp = 8)
引數的長度: 7 8
第二個引數是: 小甲魚
>>> def test(*params,exp = 8):
print('引數長度:',len(params),exp)
print('第二個引數:',params[1])
>>> test(1,'小甲魚',3.14,5,6,7,8)
引數長度: 7 8
第二個引數: 小甲魚
6.函式(function):有返回值
過程(procedure):是簡單、特殊並且沒有返回值的
python可以返回多個值
>>> def back():
return 1,'小甲魚',3.14
>>> back()
(1, '小甲魚', 3.14)
7.區域性變數(local variable)
全域性變數(global variable)
自己的話:在函式裡邊定義的引數以及變數,它們都成為區域性變數,出了這個函式就是無效的
原理:python在呼叫函式時候,它是利用棧進行儲存,把函式所需的**、變數都扔到棧裡,
當執行完該函式時,函式會被自動刪除,棧的資料會自動清空,所以函式外無法訪問到區域性變數
8.global 和 nonlocal關鍵字
當內部作用域想修改外部作用域的變數時,就要用到global和nonlocal關鍵字了。
exa:
num = 1
def fun1():
global num # 需要使用 global 關鍵字宣告
print(num)
num = 123
print(num)
fun1()
print(num)
以上例項輸出結果:
1123
123如果要修改巢狀作用域(enclosing 作用域,外層非全域性作用域)中的變數則需要 nonlocal 關鍵字了,如下例項:
def outer():
num = 10
def inner():
nonlocal num # nonlocal關鍵字宣告
num = 100
print(num)
inner()
print(num)
outer()
以上例項輸出結果:
100100
9.閉包(closure)
乙個函式定義中引用了函式外定義的變數,並且該函式可以在其定義環境外被執行。這樣的乙個函式我們稱之為閉包。
閉包的理解
我們可以將閉包理解為一種特殊的函式,這種函式由兩個函式的巢狀組成,
且稱之為外函式和內函式,外函式返回值是內函式的引用,此時就構成了閉包
js第四天 函式
1 函式就是把特定功能的 抽取出並進行封裝,用來重複執行一些功能。2 使用函式的好處 函式可以重複某一部分 通過函式名呼叫 使程式變得更簡短而清晰 有利於程式維護 格式 var 變數 function 內建函式 alert 自定義函式 匿名函式 手動呼叫 sum 事件驅動 格式 元素.事件 函式名 ...
學習python 第四天
python 迴圈結構 迴圈結構可以輕鬆的控制某件事重複 再重複的發生。在python中構造迴圈結構有兩種做法,一種是for in迴圈,一種是while迴圈。for in迴圈 如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代 後面會講到 那麼我們推薦使用for in迴圈 用for迴圈實現1 1...
Python學習 第四天
map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next 函式來訪問每個值。map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代...