1. <em id="yud1w"><acronym id="yud1w"><u id="yud1w"></u></acronym></em>
      
      
      <button id="yud1w"></button>

      python

      當前位置:首頁?>?python基礎教程?>?當前文章

      python基礎教程

      Python函數默認參數,位置參數及關鍵字參數易錯點

      2020-07-30 112贊 老董筆記
      每篇文章努力于解決一個問題!更多精品可移步文章底部。

        調用函數,每次都傳參很麻煩而且有些場景不適用,比如如果我們存儲網站用戶,有的用戶沒填寫年齡,那么至少給個默認存吧,比如18歲。

        所以,Python允許為參數設置默認值,定義函數時,直接給形式參數指定一個默認值,調用函數時沒有給設定默認值的形參傳參,則該參數直接使用默認值。

        形參有默認值并不影響調用時給他傳參,有傳參則實際值為傳參值。

      	  def 函數名(...,形參名=默認值):
      
      	  代碼塊

      
      # -*- coding: utf-8 -*-
      
      # 為兩個參數指定默認值
      def age_info(name, age = 18,site="www.bdd33.com"):
          print('name',name)
          print("age",age)
          print('站點',site)
      
      age_info('小明')
      print('================')
      age_info('小明',site = '我愛www.bdd33.com')
      
      D:python3installpython.exe D:/pyscript/py3script/python66/python66.py
      name 小明
      age 18
      站點 www.bdd33.com
      ================
      name 小明
      age 18
      站點 我愛www.bdd33.com
      
      Process finished with exit code 0
      
      
      

        易錯點:

        關鍵字參數必須位于位置參數的后面,在定義函數時指定了默認值的參數(肯定是關鍵字參數)必須在沒有默認值的參數之后。為了以防萬一,可以傳參時把參數名寫出來。

        此外,默認參數的值為可變數據類型時,要非常小心使用,相關錯誤可以查看函數之坑默認參數為可變類型

        錯誤1:定義函數發生錯誤

      # -*- coding: utf-8 -*-
      
      
      def age_info(name, age = 18,site):
          print(123)
      
      D:python3installpython.exe D:/pyscript/py3script/python66/python66.py
        File "D:/pyscript/py3script/python66/python66.py", line 5
          def age_info(name, age = 18,site):
                      ^
      SyntaxError: non-default argument follows default argument
      
      Process finished with exit code 1
      
      
      

        錯誤2:調用傳參錯誤

      # -*- coding: utf-8 -*-
      
      
      def age_info(name, age = 18,site='www.bdd33.com'):
          print('name',name)
          print("age",age)
          print('站點',site)
      
      age_info(site = 11,19,age=21)
      
      D:python3installpython.exe D:/pyscript/py3script/python66/python66.py
        File "D:/pyscript/py3script/python66/python66.py", line 10
          age_info(site = 11,19,age=21)
                            ^
      SyntaxError: positional argument follows keyword argument
      
      Process finished with exit code 1
      
      
      

      文章評論

      Python函數默認參數,位置參數及關鍵字參數易錯點文章寫得不錯,值得贊賞
      国产99视频精品免视看6