400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Python函數的基礎知識

【Python基礎知識】Python函數的基礎知識

  • 發布: python培訓
  • 來源:python干貨資料
  • 2020-10-30 09:58:10
  • 閱讀()
  • 分享
  • 手機端入口

1、定義函數

函數是可重用的程序。本書中已經使用了許多內建函數,如len()函數和range()函數,但是還沒自定義過函數。定義函數的語法格式如下:

def 函數名(參數):

函數體

定義函數的規則如下:

①關鍵字def用來定義一個函數,它是define的縮寫。

②函數名是函數的唯一標識,函數名的命名規則遵循標識符的命名規則。

③函數名后面一定要緊跟著一個括號,括號內的參數是可選的,括號后面要有冒號。

④函數體(statement)為一個或一組Python語句,注意要有縮進。

⑤函數體的第一行可以有文檔字符串,用于描述函數的功能,用三引號括起來。

按照定義規則,可以定義第一個函數了:

  1. >>> def hello_world(): 
  2. ...     print('Hello,world!')   # 注意函數體要有縮進 
  3. ... 
  4. >>> hello_world() 
  5. Hello,world! 

這個函數不帶任何參數,它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調用函數,即讓Python執行函數的代碼。

2、全局變量和局部變量

全局變量是定義在所有函數外的變量。例如,定義一個全局變量a,分別在函數test1()和test2()使用變量a:

  1. >>> a = 100   # 全局變量 
  2. >>> def test1(): 
  3. ...     print(a) 
  4. ...  
  5. >>> def test2(): 
  6. ...     print(a) 
  7. ...  
  8. >>> test1() 
  9. 100 
  10. >>> test2() 
  11. 100 

定義了全局變量a之后,在函數test1()和test2()內都可以使用變量a,由此可知,全局變量的作用范圍是全局。

局部變量是在函數內定義的變量,除了用關鍵字global修飾的變量以外。例如,在函數test1()內定義一個局部變量a,分別在函數外和另一個函數test2()內使用變量a:

  1. >>> def test1(): 
  2. ...     a = 100   # 局部變量 
  3. ...     print(a) 
  4. ...  
  5. >>> def test2(): 
  6. ...     print(a) 
  7. ...  
  8. >>> test1() 
  9. 100 
  10. >>> print(a) 
  11. Traceback (most recent call last): 
  12.   File "<stdin>", line 1in <module> 
  13. NameError: name 'a' is not defined 
  14. >>> test2() 
  15. Traceback (most recent call last): 
  16.   File "<stdin>", line 1in <module> 
  17.   File "<stdin>", line 2in test2 
  18. NameError: name 'a' is not defined 

Python解釋器提示出錯了。由于局部變量a定義在函數test1()內,因此,在函數test1()內可以使用變量a,但是在函數外或者另一個函數test2()內使用變量a,都會報錯,由此可見,局部變量的作用范圍是定義它的函數內部。

一般情況下,在函數內聲明的變量都是局部變量,但是采用關鍵字global修飾的變量卻是全局變量:

  1. >>> def test1(): 
  2. ...     global a   # 全局變量 
  3. ...     a = 100 
  4. ...     print(a) 
  5. ...  
  6. >>> def test2(): 
  7. ...     print(a) 
  8. ...  
  9. >>> test1() 
  10. 100 
  11. >>> print(a) 
  12. 100 
  13. >>> test2() 
  14. 100 

這個程序與上個程序相比,只是在函數test1()中多了一行代碼“global a”,程序便可以正確運行了。在函數test1()中,采用關鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數內使用,還可以在函數外或者其他函數內使用。

如果在某個函數內局部變量與全局變量同名,那么在該函數中局部變量會覆蓋全局變量:

  1. >>> a = 100   # 全局變量 
  2. >>> def test1(): 
  3. ...     a = 200   # 同名局部變量 
  4. ...     print(a) 
  5. ...  
  6. >>> def test2(): 
  7. ...     print(a) 
  8. ...  
  9. >>> test1() 
  10. 200 
  11. >>> test2() 
  12. 100 

由于在函數test1()中定義了一個與全局變量同名的局部變量a,因此,在函數test1()中全局變量a的值被局部變量覆蓋了,但是在函數test2()中全局變量a的值沒有被覆蓋。

綜上所述,在Python中,全局變量保存的數據供整個腳本文件使用;而局部變量只用于臨時保存數據,變量僅供局部代碼塊使用。

如果對Python開發感興趣或者想要深入學習的現在可以免費領取學習大禮包哦(點擊領取80G課程資料 備注:領資料)。

文章“【Python基礎知識】Python函數的基礎知識”已幫助

>>本文地址:http://www.028benet.com/zhuanye/2020/59213.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 亚洲不卡中文字幕| 风间由美100部合集| 久久精品天天中文字幕人妻| 国产嫩草影院精品免费网址| 日本尹人综合香蕉在线观看| 精品亚洲欧美无人区乱码| 99精品视频在线观看免费播放| 亚洲另类欧美综合久久图片区| 国产伦精品一区二区三区| 小兔子救了蛇被蛇两根进去| 男人添女人下部全视频| 制服丝袜怡红院| 中文字幕无码精品亚洲资源网| 亚洲精品第1页| 国产亚洲美女精品久久久2020| 奇米第四色在线播放| 最新中文字幕av专区| 精品三级66在线播放| www.精品国产| www.seyu.av| 亚洲午夜精品一区二区| 国产免费私拍一区二区三区| 在车子颠簸中进了老师的身体| 日韩午夜在线视频| 男爵夫人的调教| 青青视频免费在线| 97国产精品视频观看一| 久久久久久综合| 91无套极品外围在线播放| 色yeye在线观看| zmw5app字幕网下载| 亚洲2022国产成人精品无码区| 国产精品无码午夜福利| 日本波多野结衣电影| 永久免费av无码网站大全| 草莓黄色app| 欧美在线暴力性xxxx| qvod激情小说| 久久精品国产亚洲av不卡| 国产精品亚洲а∨无码播放不卡| 好男人视频社区www在线观看|