Python第二周之函數及其範圍

來源:互聯網
上載者:User

標籤:命名   變數   定義   範圍   模組   用法   oba   提升   陌生人   

# 函數

定義:

  我們可以把程式中相對獨立的功能模組抽取出來,這樣的好處是可以減少重複代碼的編寫,將來可以重複使用這些功能模組,Python中的函數就是代表了這樣的功能模組。

命名:

  age_of_student(官方) 或 ageOfStudent(大部分人的習慣用法,又稱駝峰命名法)

調用:

  import 模組 (as 別名)

  函數名(參數)

注意:二元運算子之間放空格,參數裡賦值時,等號兩邊不加空格。例如:def f(x=2)

#y = x !定義求階乘這個函數,將求階乘這個功能抽取出來,放到函數中。
def f(x):    """    求函數x的階乘    :param x: 任意正整數    :return: x的階乘    """    y = 1    for z in range(1, x + 1):        y *= z    return y
if __name__ == ‘__main__‘:
m = int(input(‘m = ‘))
n = int(input(‘n = ‘))
# 當需要計算階乘的時候,不用再寫迴圈,而是直接調用已經定義好的函數就可以了。
print(f(m) // f(n) // f(m - n))
#  函數的範圍

1.在函數外面,叫做全域變數 global variable

2.減少全域變數的使用,盡量使用局部變數。迪米特法則:不要和陌生人說話,盡量讓模組之間不要發生聯絡。

3.Python搜尋一個變數的方式是從局部範圍到嵌套範圍再到全域範圍,最後到內建範圍。即 local > enclose>global>built-in(l e g b)

4.如果想改變搜尋範圍,可以使用global 和nonlocal關鍵字。

a = 100
def foo(): # 函數內的局部變數,離開foo函數時無法訪問的。 local variable global a # 提升許可權,變為全域變數,可以直接修改,重新定義申明的變數。 a = 200 print(a) b = ‘good‘ def bar(): nonlocal b # 非局部範圍。 b = ‘hello‘ print(b) print(a) bar() print(b)foo()print(a)
 # tips

ctrl + q    當前位置查看注釋,

ctrl + lb    返回寫注釋位置查看注釋

shift + F6  重新命名

#  字串倒過來的做法:[-1::-1]

  

Python第二周之函數及其範圍

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.