实战IT培训机构_黄色激情网站_IT培训班选大学生IT技术培训中心_黄色激情视频网站_中公优就业

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://m.jecan.cn/zhuanye/2020/59213.html

THE END  

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

1 您的年齡

2 您的學歷

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

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

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 电力电子产业网 | 北京成考网-北京成人高考网 | 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 包塑软管|金属软管|包塑金属软管-闵彬管业 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 烘箱-工业烘箱-工业电炉-实验室干燥箱 - 苏州华洁烘箱制造有限公司 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 校车_校车价格_19座幼儿园校车_幼儿园校车_大鼻子校车 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 市政路灯_厂家-淄博信达电力科技有限公司 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 |