**
@函式的組成
引數傳遞
變數作用域
****
(1) 函式名
(2) 引數
(3) 函式體:函式的功能,一般會有返回值,返回值就是結果
案例:判斷乙個數是否為素數(函式方法)
函式名:isprime
引數: n
引數傳遞,就是將實參的值傳給形參。通過除錯我們可以看鍵,形參在函式
被呼叫之前是不存在的,當函式被呼叫的那一刻起,實參被建立,並且傳遞給
形參引數傳遞有兩種方式:值傳遞與引用傳遞
值傳遞
a的值並沒有顯示預期中的6,還是5,這是因為形參x與實參a是兩個不同的 變數,x的變化與a沒有任何的關係
引用傳遞
a. value沒有被顯示修改,但是a.value確實加了1,因為x就是a,或者說
x是a的別名 專業一點就叫引用
常規型別的引數採用的是值傳遞,比如number,string,boolean
物件型別採用的是引用傳遞,object
案例:驗證100以內的數都符合角谷定理(函式方法)
角谷定理:對於乙個大於1的整數n,如果n是偶數,則n = n / 2。如果n是奇數,則n = 3 * n +1。反覆操作後,n一定為1。
區域性變數,就是在函式內部定義的變數,這個變數只能在函式內部使用,在全域性中不能使用,舉個例子,三國時期,把曹操,劉備,孫權比喻成三個函式,那麼曹操手下的將領是不會聽劉備與孫權的命令的,劉備與孫權同理,他們手下的兵只會聽從自己老大的命令
在函式的內部定義乙個變數,如果沒有加上var,那麼這個變數就會被認為是
全域性變數
全域性變數:在函式外部定義的變數,這個變數可以在全域性進行使用。
舉個例子:漢朝的皇帝發布命令,那麼不管是曹操還是劉備或者孫權,都要聽皇帝的命令
衝突處理:就近原則
當函式中定義了乙個與全域性變數名字相同的變數,此時函式在定義前使用,那麼這個變數還是函式中的變數,(沒給值)是underfind,不會使用全域性變數
區域性和全域性同時定義了乙個相同名字的變數時如何在區域性變數裡面訪問全域性變數
在區域性給變數加乙個window的字首,據可以訪問到全域性的變數
案例:驗證哥德**猜想(函式方法)
哥德**猜想:任意乙個大於6的偶數都可以寫成兩個質數之和(質數就是素數)。
Python函式引數傳遞以及變數作用域
使用 號,表示函式接受多個引數 def f args print args f 1 1,f 1,2,3 1,2,3 f f 1,2 1,2 使用 號,表示傳遞的是字典引數 def f1 args print args f1 a 1,b 2 3.將函式名作為引數傳遞 coding utf 8 用來支援...
變數和引數傳遞
1 區域性變數和成員變數區別 區別一 定義的位置不同 定義在類中的變數是成員變數 定義在方法中或者 語句裡面的變數是區域性變數 區別二 在記憶體中的位置不同 成員變數儲存在堆記憶體的物件中 區域性變數儲存在棧記憶體的方法中 區別三 生命週期不同 成員變數隨著物件的出現而出現在堆中,隨著物件的消失而從...
函式 引數 變數作用域
一 函式引數 1.必須引數 必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。呼叫printme 函式,你必須傳入乙個引數,不然會出現語法錯誤 小括號內的就是引數 小括號內沒東西叫做無參,有叫有參 求任意三個數之和 在定義函式的時候小括號內寫的是變數名字,不需要賦值 在呼叫函式的時候小...