欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python函數(shù)局部變量、全局變量、遞歸知識點(diǎn)總結(jié)

 更新時(shí)間:2019年11月15日 08:14:56   投稿:laozhang  
在本篇文章里小編給大家整理了關(guān)于python函數(shù)局部變量、全局變量、遞歸知識點(diǎn),有興趣的朋友們學(xué)習(xí)參考下。

函數(shù)局部變量 全局變量 及其作用域

#簡單類型(int str等)變量的局部變量與全局變量及其作用域的關(guān)系
name = "xxx" #第一級頂頭定義的變量都稱為全局變量,其作用域從變量定義的位置開始到此程序結(jié)束
def Print_Name():
  print("name before change:", name)
#由于name在此函數(shù)之前已經(jīng)被定義為全局變量,此處函數(shù)讀取變量name是讀取的全局變量name “xxx”,函數(shù)內(nèi)部就不能再定義其同名局部變量,否則無法區(qū)分變量為局部變量還是全局變量
#  name = "yyy" #此語句放開以后會報(bào)錯(cuò):IndentationError: unindent does not match any outer indentation level
Print_Name()

def Change_Name():
  name = "yyy" #函數(shù)內(nèi)部首先定義全局變量的同名局部變量,則整個(gè)函數(shù)內(nèi)部操作的為局部變量(一個(gè)與全局變量同名的臨時(shí)變量)
  print("name after change is", name)

Change_Name() # yyy實(shí)際輸出的是局部變量的值
print("global name is", name) # xxx此處訪問的是全局變量,因?yàn)榇藀rint語句不是在Change_Name內(nèi)部。

#函數(shù)內(nèi)部需要強(qiáng)制對全局變量進(jìn)行修改,使用global關(guān)鍵字
def Change_global_Name():
  global name
  print("name before change is :", name)
  name = "yyy"
Change_global_Name() # xxx 修改前的全局變量
print("global name is :", name) # yyy此處由于函數(shù)內(nèi)強(qiáng)制聲明name為global變量,整個(gè)函數(shù)內(nèi)部可以對global進(jìn)行操作

#復(fù)雜數(shù)據(jù)類型列表 集合 字典等復(fù)雜數(shù)據(jù)結(jié)構(gòu)如果函數(shù)外部定義了函數(shù)里面是可以不用global聲明也操作的是全局變量,沒有局部變量一說了
names = ['111', '222', '333']
def Change_Names():
  names[0] = "444"
  print("in function names :", names)
Change_Names() #in function names : ['444', '222', '333']
print("global names :", names) #in function names : ['444', '222', '333'] 對于復(fù)雜的數(shù)據(jù)類型,函數(shù)內(nèi)直接操作全局變量,不會再生成局部變量

遞歸

#函數(shù)內(nèi)部可以調(diào)用其它函數(shù),如果函數(shù)在內(nèi)部調(diào)用自己就被稱為遞歸函數(shù)
def Half_fun(n):
  print(n)
  if n < 2:
    return n
  Half_fun(n/2)
Half_fun(100)
#遞歸特性:1、必須有一個(gè)明確的結(jié)束條件 2、每次遞歸調(diào)用問題復(fù)雜度需要相比上次簡化 3、遞歸會占用大量內(nèi)存

以上實(shí)例很簡單,大家可以本次測試下,感謝你的閱讀和對腳本之家的支持。

相關(guān)文章

  • 基于Python的圖像閾值化分割(迭代法)

    基于Python的圖像閾值化分割(迭代法)

    這篇文章主要介紹了基于Python的圖像閾值化分割(迭代法),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python數(shù)字圖像處理代數(shù)之加減乘運(yùn)算

    Python數(shù)字圖像處理代數(shù)之加減乘運(yùn)算

    這篇文章主要介紹了Python數(shù)字圖像處理代數(shù)運(yùn)算,對其中的加、減、乘運(yùn)算分別作了詳細(xì)的講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • python批量修改文件名的實(shí)現(xiàn)代碼

    python批量修改文件名的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python批量修改文件名的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-09-09
  • Python文件操作指南解鎖三個(gè)txt文件合并技術(shù)

    Python文件操作指南解鎖三個(gè)txt文件合并技術(shù)

    本文將深入介紹如何利用Python編寫腳本,將三個(gè)文本文件中指定的列數(shù)據(jù)合并成一個(gè)新文件,通過豐富的示例代碼和詳細(xì)解釋,幫助掌握這一實(shí)用而靈活的數(shù)據(jù)處理技巧
    2024-01-01
  • Python調(diào)用C++程序的方法詳解

    Python調(diào)用C++程序的方法詳解

    這篇文章主要介紹了Python調(diào)用C++程序的方法,文中通過示例代碼介紹的詳細(xì),相信對大家具有一定的參考借鑒價(jià)值,需要的朋友們下面來一起看看吧。
    2017-01-01
  • Python裝飾器使用接口測試的步驟

    Python裝飾器使用接口測試的步驟

    這篇文章主要介紹了Python裝飾器使用接口測試的步驟,本文通過具體示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • python字典基本操作實(shí)例分析

    python字典基本操作實(shí)例分析

    這篇文章主要介紹了python字典基本操作,實(shí)例分析了Python的打印輸出、刪除、賦值等常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • python操作小程序云數(shù)據(jù)庫實(shí)現(xiàn)簡單的增刪改查功能

    python操作小程序云數(shù)據(jù)庫實(shí)現(xiàn)簡單的增刪改查功能

    這篇文章主要介紹了python操作小程序云數(shù)據(jù)庫實(shí)現(xiàn)簡單的增刪改查功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Python中最強(qiáng)大的重試庫Tenacity使用探索

    Python中最強(qiáng)大的重試庫Tenacity使用探索

    這篇文章主要為大家介紹了Python中最強(qiáng)大的重試庫Tenacity使用探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Python中很常用的函數(shù)map()用法實(shí)例

    Python中很常用的函數(shù)map()用法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Python中很常用的函數(shù)map()用法的相關(guān)資料,map()函數(shù)是Python的內(nèi)置函數(shù),會根據(jù)提供的函數(shù)參數(shù),對傳入的序列數(shù)據(jù)進(jìn)行映射,需要的朋友可以參考下
    2023-10-10

最新評論