Python閉包練習 求倆點間的距離

2021-10-07 16:38:30 字數 736 閱讀 6659

import math

#求兩個點(x1,y1),(x2,y2)之間的距離

def getdis(x1,y1,x2,y2):

return math.sqrt((x1-x2)**2 + (y1-y2)**2)

#使用閉包求距離

def getdisout(x1,y1):

def getdisin(x2,y2):

return math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)

return getdisin

#求點分別求(10,10),(20,20) 距離原點(0,0)的距離

dis = getdis(0,0,10,10)

print("(10,10)距離原點的距離為:%g"%dis)

dis = getdis(0,0,20,20)

print("(20,20)距離原點的距離為:%g"%dis)

print("———"*20)

getdisin = getdisout(0,0)

dis1 = getdisin(10,10)

print("(10,10)距離原點的距離為:%g"%dis1)

dis1 = getdisin(20,20)

print("(20,20)距離原點的距離為:%g"%dis1)

首先,不用閉包來求倆點的距離。

利用閉包來求距離,無疑會使自己的**瞬間變得高大上。

python怎麼閉包 python的閉包

一 思考乙個問題 我們要給定乙個x,要求一條直線上x對應的y的值。公式是y kx b。我們需要用k,b來確定這條直線,則我們實現的函式應該有3個引數 defline k,b,x print k x b line 1,3,4 line 1,3,5 line 1,3,6 可以看到,我們每次修改x都要重新...

python 閉包 Python中的閉包

一 什麼是閉包 在談之前,我們先來說說作用域,變數的作用域無非就兩種 全域性變數和區域性變數。函式內部可以直接讀取全域性變數,但是在函式外部無法讀取函式內部的區域性變數。出於種種原因,我們有時候需要獲取到函式內部的區域性變數。但是,正常情況下,這是辦不到的!只有通過變通的方法才能實現。於是就引入了閉...

python閉包的條件 python閉包

python閉包 閉包的條件 1.閉包函式必須返回乙個函式物件 2.閉包函式內部的函式必須引用外部的函式的變數,一般不能引用全域性的變數 裡面函式的返回值可有可無 閉包格式 def 外層函式 引數 def 內層函式 print 內層函式執行 引數 return 內層函式 內層函式的引用 外層函式 傳...