<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] >[success] # 函數 def ~~~ 1.函數:對功能的封裝,和為了讓代碼可以復用,它是命名的用于區分的代碼段。函 數可以接受任何類型參數,并且有返回。 2.定義函數: def、函數名、帶有函數參數的圓括號,最后緊跟 一個冒號(:),例如: def 函數名(形參): 函數體 3.函數命名規范和變量命名一樣(必須使用字母或者下劃線 _ 開頭,僅能含 有字 母、數字和下劃線) 4.調用函數:函數名(實參) 5.pass:Python 函數中的 pass 表明函數沒有做任何事情 ~~~ >[danger] ##### 關于return 和 None * return ~~~ 1. return, 函數執行完畢. 不會執行后面邏輯 2. 如果函數中不寫return返回None 3. 只寫return 返回None 4. return 返回值. 返回一個值 5. return 值1, 值2,... 返回多個值. 調用方接收到的是元組 ~~~ * None ~~~ 1.None 是 Python 中一個特殊的值,雖然它不表示任何數據,但仍然具有重要的 作用。 雖然 None 作為布爾值和 False 是一樣的,但是它和 False 有很多差別。 2.案例解釋 實際判斷None 用is來做判斷: thing = None if thing: print("等同True") else: print("等同False") # 實際使用用is if thing is None: print("is 是None") 打印結果: 等同False is 是None 3.這雖然是一個微妙的區別,但是對于 Python 來說是很重要的。你需要把 None 和不含 任何值的空數據結構區分開來。0 值的整型 / 浮點型、空字符串('')、空 列表([])、 空元組((,))、空字典({})、空集合(set())都等價于 False,但 是不等于 None。 4.更好的區分案例 def is_none(thing): if thing is None: print("是None") elif thing: print("是true") else: print("是False") >>> is_none(None) It's None >>> is_none(0.0) It's False >>> is_none(()) It's False ~~~ >[danger] ##### 參數 ~~~ 1.在創建函數聲明的參數叫形參,調用使用的叫實參 2.位置參數傳 入參數的值是按照順序依次復制過去的。列子:def menu(wine, entree, dessert): 3.關鍵字參數 為了避免位置參數帶來的混亂,調用參數時可以指定對應參數的名 字,例子: menu(entree='beef', dessert='bagel', wine='bordeaux') 4.位置參數和關鍵字參數的使用,先定義位置參數,在定義關鍵字參數,例子: menu('frontenac', dessert='flan', entree='fish') 5.動態參數:位置參數的動態參數: *args,關鍵字參數的動態參數 : **kwargs 6.*arg 是在形參定義是為了接受實參中不確定個數使用,接受回來的是一個元組 在函數中調用*arg 是將內容元組解包后的采納數展示,arg是元組形式展示。 7.**kwargs 在形參定義接受鍵值對形式的參數并且變成字典,在實參的使用方式 例子:(wine='merlot', entree='mutton', dessert='macaroon') ,函數中只能直接使 用kwargs不能加**,kwargs 直接就是一個字典形式 8.位置參數 > *args > 默認值 > **kwargs 例子:def func(a, b, c, *args, d = 5, **kwargsd) 使用效果func(1,2,3,4,5,6,7, d ="馬大哈"),d是將默認差數從5變成馬大哈. ~~~ >[danger] ##### 函數的命名空間 ~~~ 命名空間分類: 1. 全局命名空間--> 我們直接在py?文件中, 函數外聲明的變量量都屬于全局命名空間 2. 局部命名空間--> 在函數中聲明的變量量會放在局部命名空間 3. 內置命名空間--> 存放python解釋器為我們提供的名字, list, tuple, str, int這些都是內 置命名空間 加載順序: 1. 內置命名空間 2. 全局命名空間 3. 局部命名空間(函數被執?行行的時候) 取值順序: 1. 局部命名空間 2. 全局命名空間 3. 內置命名空間 ~~~ >[danger] ##### 函數的作用域 ~~~ a = 10 # 全局 def func(): a = 20 # 局部 print(a) # 就近原則 print(globals()) # globals() 獲取到全局作用域(內置,全局)中的所有名字 print(locals()) # locals() 查看當前作用域中的所有名字 func() 1. 全局 也就是所有函數都能使用,局部函數內部自己使用其他函數無法使用, 遵循就近原則 2.globals() 獲取到全局作用域(內置,全局)中的所有名字 3.locals() 查看當前作用域中的所有名字 4.在函數定義,global a -- a 不再是局部變量. 是全局變量 5.在函數定義,nonlocal a -- a 找局部作用域中 離他最近的那個變量引入進來 ~~~ >[danger] ##### 函數嵌套案例 ~~~ def fun(): a = 1 print(a) def fun2(): a = 2 print(a) fun2() print(a) fun() 打印結果(fun2 雖然變量也叫a 但是不會改變fun中的a,證明作用域在自身起作用): 1 2 1 ~~~ >[danger] ##### python 和 js 函數作用域區別 * js 可以在函數內改變 var 聲明的全局作用域 ~~~ var a = 12; function c(){ a +=1; console.log(a); } c(); 打印結果: 13 ~~~ * python 不可以更改全局作用域的變量,但可以使用 ~~~ a = 1 def c(): print(a) # 可以使用全局作用域的a # def b(): # a = a+1 # print(a) # 報錯 def e(): global a # 可以使用global 引入全局 a += 1 print(a) c() e() print(a) 打印結果: 1 2 2 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看