Python學習14--函式2(函式作用域)
#Author:Du Yang #Data:2018/7/19 count = 10 #區域性變數不能直接對全域性變數進行修改 def F(): global count#必須宣告count為全域性變數才能引用全域性變數; #如實若是為未宣告,則語句會只會在函式的作用域中查詢count變數,所以錯誤 count += 1 print(count) def outer(): count = 999 def inner(): nonlocal count#測試時候將該句刪去,檢視區別 count = 20 print(count) inner() print(count) outer() #總結: # 在不同函式作用域中加入“nonlocal 變數名” 和 ”global 變數名“ 的作用在於, # 希望使用上一層函式(作用域)中的變數值
首先明確只有模組(module),類(class)以及函式(def、lambda)才會存在作用域的問題,if和for等沒有作用域這一說
相關推薦
python學習之旅2(函式進階)
目錄 楔子 名稱空間和作用域 函式巢狀及作用域鏈 函式名的本質 閉包 本章小結 楔子 假如有一個函式,實現返回兩個數中的較大值: def my_max(x,y): m = x if x>y else y return mbigger
Python學習14--函式2(函式作用域)
#Author:Du Yang #Data:2018/7/19 count = 10 #區域性變數不能直接對全域性變數進行修改 def F(): global count#必須宣告count為全域性變數才能引用全域性變數; #如實若是為未宣告,則語句會只會在
python中的關鍵字---2(函式基礎類)
函式基礎 定義函式: def 函式名(): 縮排 函式體(程式碼塊)呼叫函式: 函式名 + () 小括號執行順序: def func(): 1 print('這大佬黑') 3 func()呼叫 2 函式的返回
Python學習總結(三)——Function(函式)
函式定義 def 函式名(): 函式體 return 返回值1, 返回值2 在Python中,函式有五大要點,分別是def、函式名、函式體、引數、返回值,以及兩個英文版符號,分別是括號(括號內為引數)和冒號(:)。 def:函式的關鍵
python的學習筆記/002-2(2018-5-19)
Python學習3.1內建類型3.1.1數值類型 數值類型 整數類型 浮點類型 布爾型 復數 int long float bool complex 1) 整數類型從Python 3以後,整數類型為int,不再區分整數與長整數(在Python 2.x 中分別有int和long類型
python學習之旅2(函數進階)
tuple emp 作用 pen dba cell spl reat HERE 目錄 楔子 命名空間和作用域 函數嵌套及作用域鏈 函數名的本質 閉包 本章小結 楔子 假如有一個函數,實現返回兩個數中的較大值: def my_max(x,y): m
javascript基礎:函式傳遞引數的方式、引數陣列、變數範圍(變數作用域)
一、函式的2種引數傳遞方式 (1)傳值:把變數的值傳入函式,函式不會另外分配記憶體儲存值,所以不會改變原始值,一般適用於傳入 數字、布林值、字串。 (2)傳地址:把變數儲存的記憶體地址傳入,如果在函式
python學習第三周(下 函數)
一鍵 結構 ble hive 執行過程 停止 n) 最大限度 tin 本節內容 1. 函數基本語法及特性 2. 參數與局部變量 3. 返回值 嵌套函數 4.遞歸 5.匿名函數 6.函數式編程介紹 7.高階函數 8.內置函數 溫故知新 1. 集合 主要作用: 去重
python學習筆記之socket(第七天)
.cn 七天 就是 模塊 AR 操作 alt 分享圖片 python學習 參考文檔: 1、金角大王博客:http://www.cnblogs.com/alex3714/articles/5227251.html
python學習之類的反射(2018.6.18)
python asa 定義 day6 dict try 屬性 cts set 在學習網絡編程的時候用到反射,然後發現自己反射這部分的應用不是很熟練,決定返回來重新整理一下 對於類的反射,主要有四個用法,下面都說一下 1.hasattr 判斷對象或者類是否存在指定的屬性,看代
DHCP配置練習2(多作用域設定、中繼代理)
DHCP多作用域設定 上篇文章我們練習的是單一的作用域,大部分時間能夠滿足網路的需求,但隨著網路規模的擴大,如何增加可用的IP地址?當然是設定多個作用域來實現IP地址增容了 有兩種方法實現:一是採用雙網絡卡,二是利用DHCP超級作用域功能;先看看方法一: 雙網絡卡實
少說話多寫程式碼之Python學習039——類01(如何定義類 )
在我們使用的面嚮物件語言中,類是一個基礎單元;一個超級程式工程,其基本組成也是類。Python中如何定義一個類,我們來看看, class Person: def setName(self,name): self
少說話多寫程式碼之Python學習041——類03(類名稱空間 )
先看兩個函式,實現一個數的平方。 def squarter(x): return x*x squarter2 = lambda x: x*x print(squarter(9)) print(squarter2(8)) 輸出 8
少說話多寫程式碼之Python學習043——類05(檢查繼承關係)
Python中還可以檢查類的繼承的關係。 比如,如下兩個類,PrimaryBaLinghouStudent繼承了BaLinghouStudent。 class BaLinghouStudent: name='學生' school='學校
python學習之-hashlib模組(加密演算法模組)
hash演算法模組內有很多種,如md5、sha1等,只是加密的程度不一樣 hash是一種演算法 該演算法接收傳入的文字內容,經過hash運算得到一串hash值 hash值具備三個特點: 1. 如果傳入的內容相同,得到hash一定相同 2. 不能根據hash值反推出內容(無法反解,但是目前已被破解)
python學習之-subprocess模組(子程序模組)
什麼是程序 一個程式執行起來了就是一個程序 但是程式本身不是程序,程式是一對程式碼而已 所以程序就是一個抽象的概念,就是程式執行起來的一個過程 程序和程序之間是相互獨立的,互不影響 如何理解子程序和父程序 抽象的說一個QQ程式是一個父程序,word就是一個子程序,兩個互不干預,當然這只是一個比喻
少說話多寫程式碼之Python學習056——標準模組(自定義模組)
我們前面知道了如何匯入外部模組,比如常用的math模組, import math print(math.sin(90)) 輸出 0.8939966636005579 我們也可以自己定義一個模組,比如我的程式都在這個目錄下, 圖1 然後在當前目錄下,再建立一個MyFirstLi
少說話多寫程式碼之Python學習060——標準模組(雙端佇列)
雙端佇列可以從佇列的兩端加入和刪除元素。比如,在需要按照元素增加的順序來移除元素時非常有用。 看下面的使用, 先產生一個雙端佇列。 from collections import deque q = deque(range(5)); print(q) 輸出 deque([0, 1, 2,
少說話多寫程式碼之Python學習064——標準模組(正則表示式)
Python中re模組包含的是對正則表示式的支援。正則表示式是一個很有趣,對處理字串作用比較大,我們可以花一點時間瞭解一下。 正則表示式是可以匹配文字片段的一組規則。最簡單的正則表示式就是一個字串,能匹配自身。比如字串a='迢遞嵩高下,歸來且閉關',可以匹配字串b='迢遞嵩高下,歸來且閉關'。
少說話多寫程式碼之Python學習041——類03(類名稱空間 ).txt
先看兩個函式,實現一個數的平方。 def squarter(x): return x*x squarter2 = lambda x: x*x print(squarter(9)) pr