一文搞懂python的內建函數,自己添加一個print函數

      網友投稿 997 2025-03-31

      寫python的同學應該都用過print函數,這個函數我們沒有定義為什么可以調用?

      答案就是因為 print 是內建函數,python的內建函數式都是常用的工具函數,也是系統內置的函數,今天就說下內建函數,結合例子看下,廢話不多說,開始

      1、什么是內建函數?

      一文搞懂python的內建函數,自己添加一個print函數

      python內建函數指的是python自帶的函數,這種函數不需要定義,并且不同的內建函數具有不同的功能,可以直接使用。

      #!/usr/bin/python2.6 # -*- coding: utf-8 -*- import builtins def test(): print("dsada") if __name__ == '__main__': # 增加內建函數 builtins.__dict__["testFunc"] = test testFunc() pass 復制代碼

      2、內置的內建函數多有哪些?

      官方的文檔說明鏈接:docs.python.org/3.9/library…

      這里我截圖了函數,可以做一個概覽,看名字也能猜出這些函數都是做什么的

      對上面的函數進行分組:

      數學類:sum(),pow(),sum(),round()

      隨機類:choice(),random(),seed(),shuffle(),uniform()

      數字類:abs(),min(),max(),divmod(),ascii()

      系統類:xxxattr,xxxmethod,

      數據類型:set(),map(),tuple(),list(),bool(),int(),str(),

      綜合類:其他的可以歸于此類

      3、特殊函數說明

      3.1 exec

      格式:exec obj

      obj對象可以是字符串(如單一語句、語句塊),文件對象,也可以是已經由compile預編譯過的代碼對象。

      舉個例子

      exec( "print('香菜')") 復制代碼

      3.2 eval

      格式:eval( obj[, globals=globals(), locals=locals()] )

      obj可以是字符串對象或者已經由compile編譯過的代碼對象。globals和locals是可選的,分別代表了全局和局部名稱空間中的對象,其中globals必須是字典,而locals是任意的映射對象。

      x = 3 print(eval('3*x')) 復制代碼

      輸出結果是9 ,eval 可以引用上下文

      3.3 compile

      格式:compile( str, file, type )

      compile語句是從type類型(包括’eval’: 配合eval使用,’single’: 配合單一語句的exec使用,’exec’: 配合多語句的exec使用)中將str里面的語句創建成代碼對象。file是代碼存放的地方,通常為”。

      compile語句的目的是提供一次性的字節碼編譯,就不用在以后的每次調用中重新進行編譯了。

      compile()函數將string編譯為代碼對象,編譯生成的代碼對象接下來被exec語句執行,接著能利用eval()函數對其進行求值。filename參數應是代碼從其中讀出的文件名。如果內部生成文件名,filename參數值應是相應的標識符。kind參數指定string參數中所含代碼的類別

      3.4 globals和locals

      globals()會以字典類型返回當前位置的全部全局變量。

      locals()以字典類型返回當前位置的全部局部變量。

      對于函數, 方法, lambda 函式, 類, 以及實現了 call 方法的類實例, 它都返回 True。

      4、自己增加一個內置函數

      在開發過程有些函數經常調用,但是每次都要導包什么的還挺麻煩的,就想著能不能把某幾個工具函數加入到內建函數,只要有問題,其他人就會有同樣的問題,其實解決的辦法很簡單,就是在builtins 中dict中添加函數就可以了,下面是個例子:

      #!/usr/bin/env python # encoding: utf-8 """ #Author: 香菜 @time: 2021/10/10 0010 下午 10:22 """ import builtins def test(): print("dsada") if __name__ == '__main__': # 增加內建函數 builtins.__dict__["testFunc"] = test testFunc() pass 復制代碼

      5、總結

      python的內置函數并沒有什么特殊的,只不過是系統提供的一些工具方法,實現也都很簡單,記住這些常用的工具方法,在開發中一定可以事半功倍,

      Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel中怎樣批量橫向排序?(excel批量橫排變豎排)
      下一篇:如何把excel表格復制到另一個excel
      相關文章
      亚洲欧洲久久av| 亚洲国产成人精品无码一区二区 | 亚洲人成网站免费播放| 亚洲国产成人手机在线电影bd | 亚洲无码日韩精品第一页| 国产AV无码专区亚洲AV琪琪| 国产亚洲Av综合人人澡精品| 国产精品亚洲va在线观看| 色天使色婷婷在线影院亚洲| 国产亚洲精品成人久久网站| 亚洲国产主播精品极品网红| 亚洲福利在线播放| 久久久久一级精品亚洲国产成人综合AV区 | 亚洲精品成人无码中文毛片不卡| 亚洲永久无码3D动漫一区| 亚洲午夜无码久久久久| 亚洲精品成人无限看| 亚洲欧洲日韩不卡| 亚洲性一级理论片在线观看| 亚洲ts人妖网站| 亚洲日韩国产AV无码无码精品| 亚洲AV成人精品一区二区三区| 国产成人亚洲综合在线| 亚洲视频在线一区二区| 亚洲伊人久久精品影院| 久久亚洲国产成人亚| 亚洲白嫩在线观看| 亚洲日本VA午夜在线电影| 狠狠综合亚洲综合亚洲色| 亚洲精品第一国产综合境外资源| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 亚洲福利精品一区二区三区| 亚洲日韩欧洲乱码AV夜夜摸| 亚洲av日韩av不卡在线观看| 亚洲国产精品成人综合色在线婷婷 | 亚洲第一区香蕉_国产a| 亚洲图片中文字幕| 亚洲另类无码一区二区三区| 亚洲av午夜成人片精品电影| 国产亚洲人成网站在线观看|