7-6 定義默認參數這塊問題
剛開始看7-6 定義默認參數這塊內容,硬是被文中的內容給懵住了,方法2是有些人想到的算平方的方法,如果要說定義默認參數,那可以在方法2中,把n給定一個數值,計算結果同1相等。
方法2 同方法1一樣 都可以用 比如power(2,3)、power(2,4)這樣定義一個函數。兩者有什么問題,或者方法2與本文內容有什么區別或問題?
方法1:
def power(x, n=2):
? ? s = 1
? ? while n > 0:
? ? ? ? n = n - 1
? ? ? ? s = s * x
? ? return s
方法2:
def power2(x2, n):
? ? return x2**n
2016-04-30
怎么說呢,編程中的一些問題 是有 多個解決方案的, 慕課的 課程呢 是有講師個人制作上傳的, 講師本人會選擇一種方案代碼(不一定是最優),因為講師不一定是 Python專家,更不一定是 算法大師。 所以 沒有必要糾結 具體代碼,因為這個課程主要還是介紹了 關鍵字參數(keyword arguments)的用法。 分心糾結 冪運算 有點 錯失焦點的感覺,題主覺得呢。
2016-04-30
方法一可以有默認值一個參數:power(4)默認就是4的平方,也可以給n賦值power(4,4)
方法二就是只能兩個參數
2016-04-30
方法二是直接用了指數運算符,而方法一是從指數原理出發來計算的,兩者的結果肯定是一樣的
2016-04-30
個人見解:
方法1:是我們自己定義的power內部的實現,效率低。
方法2:我們借用了**這個符號,這個符號的內部實現,肯定不是上面的。