91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中函數與全局變量的常見問題和解決方法

發布時間:2020-06-09 17:23:15 來源:億速云 閱讀:439 作者:元一 欄目:編程語言

  下載Python

  在您開始之前,在你的計算機將需要Python,但您可能不需要下載它。首先檢查(在同級目錄下在命令行窗口輸入python)有沒有安裝Python。如果你看到了一個Python解釋器的響應,那么就能在它的顯示窗口中得到一個版本號。通常的版本都可以做到Python的向前兼容。
  如果您需要安裝, 您不妨下載最近穩定的版本。 就是那個以沒有被標記作為alpha或Beta發行的最高的版本。目前最穩定的版本是Python3.0以上 [3] 
如果你使用的操作系統是Windows:當前最穩定的Windows版本下載是"Python 3.8.3 for Windows"
  如果你使用的是Mac,MacOS 10.2 (Jaguar), 10.3 (Panther) and 10.4 (Tiger)已經集成安裝了Python,但是你大概需要安裝最近通用的構架(build)。
對于Red Hat,安裝python2和python2-devel包。
對于Debian,安裝python2.5和python2.5-dev包。

  元組(tuple)、數值型(number)、字符串(string)均為不可變對象,而字典型(dictionary)和列表型(list)的對象是可變對象。

  1、在函數外部定義一個x=1,在函數內部可以進行引用打印出來

  x=1

  def test():

  print(x)

  test()

  結果

  2、在函數外部定義一個x=1,在函數內部再定義一個x=2,這種情況等于定義了兩個內存空間不同的x變量,所以的值也就不同。

  x=1

  def test():

  x=2

  print(x)

  test()

  print(x)

  結果

  3、如果在函數內對函數外定義的不可變對象進行修改的話,會有報錯

  4、如果在函數內對函數外定義的全局不可變對象進行修改的話,同樣也會報錯

  5、但是,如果在函數內將函數外定義的不可變對象設為全局變量的話,可以修改函數外部變量,因為在函數內將外部變量定義為全局的了。

  x=1

  def test():

  global x

  x=x+1

  print(x)

  test()

  print(x)

  結果

  6、如果函數外部函數是一個可變對象的話,在函數內部可以引用它的值,也可以對它進行改變。

  x=[]鄭州婦科醫院 http://www.ytsgfk120.com/

  print(x)

  def test():

  x.append(1)

  print(x)

  test()

  print(x)

  結果:

  7、今天發現之前用的一種錯誤的使用方法,就是我把函數的默認參數設成了一個不可變對象,但是函數的默認變量是在函數初始化時就綁定了了內存地址的,對于不可變對象,改變的時候其實已經改變了內存地址,所以函數里的默認值還是一開始定義的不可變對象的值。

  token=1

  def test(token=token):

  print(token)

  test()

  token=token+1

  test()

  結果:

  8、如果把函數的默認參數設為一個可變對象的話,內存地址是同一個,那么每次使用該默認參數的時候,其實更改的是同一個變量,函數里的默認值會發生改變。

  token=[]

  def test(token=token):

  print(token)

  test()

  token=token.append(1)

  test()

  總結:函數的默認值最好是一個固定不會發生變化的值,如果在函數內要改變外部定義的不可變對象的話,需要使用global將改對象定義為全局的。我自己都繞暈了,反正默認值最好是不會變的就好了,會變的值就不要設為默認值了,用全局變量吧。。這個問題我在用token的時候遇到了,我把token設為了函數的默認值,但是token是字符串是不可變對象,所以即使全局的token值定時更新了,函數默認值的那個token還是一開始那個,時間到就過期不能用了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华宁县| 肇源县| 枣强县| 金坛市| 秭归县| 夹江县| 武陟县| 凤山县| 余干县| 泰宁县| 阿坝| 苍山县| 花垣县| 涡阳县| 四子王旗| 山东| 简阳市| 鄂温| 荥阳市| 洛川县| 广宁县| 彭阳县| 泊头市| 龙州县| 江川县| 新晃| 青铜峡市| 灯塔市| 杭锦后旗| 汕头市| 利川市| 墨竹工卡县| 仙游县| 肇东市| 乌兰浩特市| 丹江口市| 含山县| 晋州市| 永胜县| 连平县| 涿州市|