區域性變數,就是在函式內部定義的變數
其作用範圍是這個函式內部,即只能在這個函式中使用,在函式的外部是不能使用的
因為其作用範圍只是在自己的函式內部,所以不同的函式可以定義相同名字的區域性變數(打個比方,把你、我是當做成函式,把區域性變數理解為每個人手裡的手機,你可有個iphone8,我當然也可以有個iphone8了, 互不相關)
區域性變數的作用,為了臨時儲存資料需要在函式中定義變數來進行儲存
當函式呼叫時,區域性變數被建立,當函式呼叫完成後這個變數就不能夠使用了
在函式外邊定義的變數叫做全域性變數
全域性變數能夠在所有的函式中進行訪問
當函式內出現區域性變數和全域性變數相同名字時,函式內部中的變數名 = 資料
此時理解為定義了乙個區域性變數,而不是修改全域性變數的值
如果在函式中出現global 全域性變數的名字
那麼這個函式中即使出現和全域性變數名相同的變數名 = 資料
也理解為對全域性變數進行修改,而不是定義區域性變數
如果在乙個函式中需要對多個全域性變數進行修改,那麼可以使用.
乙個函式中可以有多個return語句,但是只要有乙個return語句被執行到,那麼這個函式就會結束了,因此後面的return沒有什麼用處
如果程式設計為如下,是可以的因為不同的場景下執行不同的return
return後面可以是元組,列表、字典等,只要是能夠儲存多個資料的型別,就可以一次性返回多個資料
如果return後面有多個資料,那麼預設是元組
預設引數:
在形參中預設有值的引數,稱之為預設引數
注意:帶有預設值的引數一定要位於引數列表的最後面
呼叫函式時,預設引數的值如果沒有傳入,則取預設值。
不定長引數:
有時可能需要乙個函式能處理比當初宣告時更多的引數, 這些引數叫做不定長引數,宣告時不會命名。
加了星號(*)的變數args會存放所有未命名的變數引數,args為元組
而加**的變數kwargs會存放命名引數,即形如key=value的引數, kwargs為字典.
如果很多個值都是不定長引數,那麼這種情況下,可以將預設引數放到 *args的後面, 但如果有**kwargs的話,**kwargs必須是最後的
def get_my_info():
high = 178
weight = 100
age = 18
return high, weight, age
# result = get_my_info()
# print(result)
my_high, my_weight, my_age = get_my_info()
print(my_high)
print(my_weight)
print(my_age)
可變型別和不可變型別
所謂可變型別與不可變型別是指:資料能夠直接進行修改,如果能直接修改那麼就是可變,否則是不可變
可變型別有: 列表、字典、集合
不可變型別有: 數字、字串、元組
Hello World 的用意及探索
幾乎每乙個學程式的人都要經歷的都是向這個世界輸出 helloworld python 也不例外。讓我們來嘗試一下吧!在與這個世界的互動中,你是否感覺到了程式設計的樂趣了呢?那就讓我們走進今天的進化之旅吧!關於直接列印 print 你好世界 print列印出來的是字串 你好世界 由於print自帶 n...
Sleep函式的真正用意
關於void sleep dword dwmilliseconds 函式,許多人都覺得,它是告訴系統,延遲多少毫秒來執行後面的 但是,在windows這樣的非實時多工系統中,我們是無法估算會睡眠多久的。因為乙個執行緒不是總是被執行的。它會在執行一段時間後,被系統暫停,然後系統又去執行另外的執行緒 於...
Sleep函式的真正用意
關於void sleep dword dwmilliseconds 函式,許多人都覺得,它是告訴系統,延遲多少毫秒來執行後面的 但是,在windows這樣的非實時多工系統中,我們是無法估算會睡眠多久的。因為乙個執行緒不是總是被執行的。它會在執行一段時間後,被系統暫停,然後系統又去執行另外的執行緒 於...