日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础—06-函数基础

發布時間:2023/12/10 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础—06-函数基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數基礎

函數簡介

  • 定義:就是具有特定功能的一段代碼
  • 優點:
    • 解決代碼的重復書寫
    • 可以將功能的實現著和使用者分開,提高開發效率
  • 分類:
    • 庫函數:print、input、abs等
    • 自定義:用戶自己封裝的函數

函數使用

  • 定義函數格式

    def 函數名([參數列表]):函數體

    ?

    []表示可選,參數可以有,也可以沒有,也可以是多個。

  • 函數名:

    • 與變量一樣,只要遵循標識符的命名規范即可。
  • 函數調用:

    • 函數定以后不會執行,需要調用才會執行
    • 調用格式:函數名([參數])

函數分類(參數與返回值)

  • # 無參無返回值 def print_hello():for i in range(10):print('Hello world!')# print_hello() # 帶參數無返回值 def print_n_hello(n):for i in range(n):print('Hello world!') # print_n_hello(5)# 帶參有返回值 def add(m, n):c = m + n# 使用return返回需要返回的值,不返回默認為Nonereturn c print(add(3, 5))

    ?

分類的標準是按照有無參數,以及有無返回值。

函數參數

  • 形參:形式參數,就是寫在函數定義出的參數

  • 實參:實際參數,就是在函數調用時傳遞的參數

  • 位置參數:也叫必傳參數,沒有默認值的參數

  • 默認參數:定義時有默認值,調用時可以不傳,必須寫在最后

  • 關鍵字參數:在函數調用時指定參數名字,參數的位置就無所謂。

  • 可變長度參數:函數調用時可以傳遞比定義處更多的參數,多出來的參數會保存在args和kwargs中

    def var_len_args(a, b, name='goudan', *args, **kwargs):print(a, b)print(name)# 是一個元組,保存多傳的位置參數print(args)# 是一個字典,保存多傳的關鍵字參數print(kwargs)var_len_args(1, 2, 3, 4, age=10)

    ?

  • *的使用:

    def show(a, b):print(a, b)lt = [1, 2] # 需要從列表根據下表獲取元素,然后作為參數傳遞 # show(lt[0], lt[1]) show(*lt)def show2(aa=11, bb=22):print(aa, bb)d = {'aa': 123, 'bb': 456} # show2(aa=d['aa'], bb=d['bb']) # 上下等價 show2(**d)

    ?

函數進階

  • 函數的定義位置是隨意的?
    • 不是,一定是先定義后調用,函數的調用一定要放在定義之后。
  • 函數的名字可以相同嗎?
    • 不可以,若出現同名函數,后者會覆蓋前者。
  • 函數內容能否再定義函數?
    • 可以,定義在函數內部的函數叫內部函數,它是很多高級功能實現的基礎。

變量的作用域

  • 塊級作用域

    if True:name = 'guanyu'# 能夠在塊的外部使用,說明沒有塊級作用域 print(name)

    ?

  • 局部作用域

    • 局部變量:定義在函數內部的變量叫局部變量,只能在函數內部使用。
    def test():a = 10# 不能再函數外部使用,此處會報錯 print(a)

    ?

  • 全局作用域

    • 全局變量:定義在函數外部的變量叫全局變量,哪里都可以使用
    num = 10def show():# 聲明使用的時外部的同名變量global num# 只能使用,不能修改,若想修改協議進行全局聲明num = 20print(num)show() print(num)

    ?

  • 函數內部可以使用外部變量,但是不能修改
  • 若修改需要使用global進行全局聲明
  • 當函數內部與外部出現同名變量,默認使用的時內部變量
  • nonlocal使用

    • 說明:內部函數使用外部函數的局部變量,需要使用nonlocal進行聲明
    def wai():n = 10def nei():# 聲明使用非本地變量,外部函數的局部變量 nonlocal nn = 20print(n)nei()print(n)wai()

    ?

遞歸函數(了解)

  • 定義:函數內部調用函數本身的函數叫遞歸函數。
  • 組成:
    • 函數內部調用自己
    • 終止條件(停止調用自己的條件)
    • 核心算法(具體功能)
  • 特點:
    • 代碼簡潔
    • 可讀性差(不易理解)
    • 瞬間占用內存較大,沒有終止條件立即崩潰
    • 有些領域是禁止使用的(安全領域:汽車電子)
    • 只有在不得不使用的時候才使用(遍歷目錄)
  • 練習:(可以做個小練習來鞏固)
    • 求n的階乘
    • 斐波那契數列的第n項
      • 前兩項都為1,從第三項開始,每一項都等于前兩項的和
      • 如: 1,1,2,3,5,8,13,21,...

        ?

常用函數

  • 內置函數(無需導入)

    print:打印,輸出 input:輸入 abs:求絕對值 type:獲取變量的類型 chr:將ASCII數值轉換為字符 ord:將字符轉換為對應的ASCII id:獲取變量地址 len:統計元素個數 range:產生連續整數的可迭代對象 enumerate:枚舉可迭代對象強制類型轉換: int float str list tuple set dictmax:求多個參數的最大值,或可迭代對象中的最大元素 min:最小值 sum:求和,可迭代對象元素求和 pow:求冪,pow(2, 3)等價于2 ** 3 round:四舍五入,可以指定保留位數hex:16進制 oct:8進制 bin:2進制

    ?

  • 模塊函數(需要導入)

    time:sleep:休眠指定的秒數,可以是小數 math:e:自然對數pi:圓周率ceil:向上取整floor:向下取整sqrt:開方(請平方根)degrees:弧度轉換為度radians:度轉換為弧度 sys:argv:運行程序時所有的命令行參數列表,第一個是程序文件名練習:完成一個計算器,支持加、減、乘、除運算

    ?

    ?

轉載于:https://www.cnblogs.com/swjblog/p/9671007.html

總結

以上是生活随笔為你收集整理的Python基础—06-函数基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。