python基礎(15):內置函數(一)

来源:https://www.cnblogs.com/liuhui0308/archive/2019/11/07/11815836.html
-Advertisement-
Play Games

1. 內置函數 什麼是內置函數? 就是python給你提供的,拿來直接⽤的函數,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68個內置函數。他們就是python直接提供給我們的,有 ⼀些我們已經⽤過了,有⼀些還沒有⽤過,還有⼀些需要學完了⾯向對象才能繼續學 ...


1. 內置函數

什麼是內置函數? 就是python給你提供的,拿來直接⽤的函數,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68個內置函數。他們就是python直接提供給我們的,有 ⼀些我們已經⽤過了,有⼀些還沒有⽤過,還有⼀些需要學完了⾯向對象才能繼續學習的,今天我們就認識⼀下python的內置函數。 作⽤域相關:
locals():返回當前作⽤域中的名字 globals():返回全局作⽤域中的名字
迭代器相關:
range():⽣成數據 next():迭代器向下執⾏⼀次, 內部實際使⽤了__next__()⽅法返回迭代器的下⼀個項⽬ iter():獲取迭代器, 內部實際使⽤的是__iter__()⽅法來獲取迭代器
字元串類型代碼的執⾏:
eval():執⾏字元串類型的代碼. 並返回最終結果
print(eval("2+2")) # 4
n = 8
print(eval("2+n")) # 10
def func():
  print(666)
eval("func()") # 666
exec():執⾏字元串類型的代碼
exec("""
for i in range(10):
   print(i)
""")
exec("""
def func():
   print("我是周傑倫")
func()
""")
compile():將字元串類型的代碼變異,代碼對象能夠通過exec語句來執⾏或者eval()進⾏求值
'''
參數說明:
 1. resource 要執⾏的代碼, 動態代碼⽚段
 2. ⽂件名, 代碼存放的⽂件名, 當傳⼊了第⼀個參數的時候, 這個參數給空就可以了
 3. 模式, 取值有3個,
 1. exec: ⼀般放⼀些流程語句的時候
 2. eval: resource只存放⼀個求值表達式.
 3. single: resource存放的代碼有交互的時候. mode應為single
'''
code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)

code2
= "1+2+3" c2 = compile(code2, "", mode="eval") a = eval(c2) print(a)
code3
= "name = input('請輸⼊你的名字:')" c3 = compile(code3, "", mode="single") exec(c3) print(name)
有返回值的字元串形式的代碼⽤eval(),沒有返回值的字元串形式的代碼⽤exec(),⼀般很少⽤到compile()。 輸入和輸出相關:
input():獲取⽤戶輸入的內容 print():列印輸出
記憶體相關: 
hash():獲取到對象的哈希值(int, str, bool, tuple) id():獲取到對象的記憶體地址
⽂件操作相關: 
open():⽤於⼝打開⼀個⽂件,創建⼀個⽂件句柄
模塊相關:
__import__():⽤於動態載入類和函數
幫助: 
help():函數⽤於查看函數或模塊⽤途的詳細說明
調⽤相關: 
callable():⽤於檢查⼀個對象是否是可調⽤的,如果返回True,object有可能調⽤失敗,但如果返回False,那調⽤絕對不會成功
查看內置屬性: 
dir():查看對象的內置屬性,⽅法,訪問的是對象中的__dir__()⽅法
基礎數據類型相關:     數字相關: 
bool():將給定的數據轉換成bool值,如果不給值,返回False int():將給定的數據轉換成int值,如果不給值, 返回0 flfloat():將給定的數據轉換成flfloat值,也就是⼩數 complex():創建⼀個複數,第⼀個參數為實部,第⼆個參數為虛部,或者第⼀個參數直接⽤字元串來描述複數
  進位轉換: 
bin():將給的參數轉換成⼆進位 otc():將給的參數轉換成八進位 hex():將給的參數轉換成⼗六進位
  數學運算: 
abs():返回絕對值 divmode():返回商和餘數 round():四捨五入 pow(a, b):求a的b次冪,如果有三個參數,則求完次冪後對第三個數取餘 sum():求和 min():求最⼩值 max():求最⼤值
和數據結構相關:    列表和元組: 
list():將⼀個可迭代對象轉換成列表 tuple():將⼀個可迭代對象轉換成元組 reversed():將⼀個序列翻轉, 返回翻轉序列的迭代器 slice():列表的切片
st = "⼤家好, 我是麻花藤"
s = slice(1, 5, 2)
print(st[s])
  字元串相關: 
str():將數據轉化成字元串
format():與具體數據相關, ⽤於計算各種⼩數, 精算等
# 字元串
print(format('test', '<20')) # 左對⻬
print(format('test', '>20')) # 右對⻬
print(format('test', '^20')) # 居中
# 數值
print(format(3, 'b')) # ⼆進位
print(format(97, 'c')) # 轉換成unicode字元
print(format(11, 'd')) # ⼗進位
print(format(11, 'o')) # ⼋進位
print(format(11, 'x')) # ⼗六進位(⼩寫字⺟)
print(format(11, 'X')) # ⼗六進位(⼤寫字⺟)
print(format(11, 'n')) # 和d⼀樣
print(format(11)) # 和d⼀樣
# 浮點數
print(format(123456789, 'e')) # 科學計數法. 預設保留6位⼩數
print(format(123456789, '0.2e')) # 科學計數法. 保留2位⼩數(⼩寫)
print(format(123456789, '0.2E')) # 科學計數法. 保留2位⼩數(⼤寫)
print(format(1.23456789, 'f')) # ⼩數點計數法. 保留6位⼩數
print(format(1.23456789, '0.2f')) # ⼩數點計數法. 保留2位⼩數
print(format(1.23456789, '0.10f')) # ⼩數點計數法. 保留10位⼩數
print(format(1.23456789e+10000, 'F')) # ⼩數點計數法.
bytes():把字元串轉化成bytes類型
s = "你好"
bs = s.encode("UTF-8")
print(bs)
s1 = bs.decode("UTF-8")
print(s1)
bs = bytes(s, encoding="utf-8") # 把字元串編碼成UTF-8
print(bs)
bytearray():返回⼀個新位元組數組。這個數字⾥的元素是可變的,並且每個元素的值得範圍是[0,256)
ret = bytearray('alex',encoding='utf-8')
print(ret[0])
print(ret)
memoryview():查看bytes在記憶體中的情況
# 查看bytes位元組在記憶體中的情況
s = memoryview("麻花藤".encode("utf-8"))
print(s)
ord():輸入字元找帶字元編碼的位置 chr():輸入位置數字找出對應的字元 ascii():是ascii碼中的返回該值 不是就返回\u...
# 找到對應字元的編碼位置
print(ord('a'))
print(ord(''))
# 找到對應編碼位置的字元
print(chr(97))
print(chr(20013))
# 在ascii中就返回這個值. 如果不在就返回\u...
print(ascii('a'))
print(ascii(''))
repr():返回⼀個對象的string形式
# repr 就是原封不動的輸出, 引號和轉義字元都不起作⽤
print(repr('⼤家好,\n \t我叫周傑倫'))
print('⼤家好我叫周傑倫')

# %r 原封不動的寫出來 name = 'taibai' print('我叫%r' % name)
  數據集合:
dict():創建⼀個字典 set():創建⼀個集合 frozenset():創建⼀個凍結的集合,凍結的集合不能進⾏添加和刪除操作
  其他相關: 
len():返回⼀個對象中的元素的個數 sorted():對可迭代對象進⾏排序操作(講完lamda後再講這個) enumerate():獲取集合的枚舉對象
lst = ["alex", "wusir", "taibai"]
for index, el in enumerate(lst):
  print(str(index)+"==>"+el)
all():可迭代對象中全部是True,結果才是True any():可迭代對象中有⼀個是True,結果就是True
print(all([1,2,True,0]))
print(any([1,'',0]))
zip():函數⽤於將可迭代的對象作為參數,將對象中對應的元素打包成⼀個個元組,然後返回由這些元組組成的開了表,如果各個迭代器的元素個數不⼀致,則返回列表⻓度與最短的對象相同
l1 = [1,2,3,]
l2 = ['a','b','c',5]
l3 = ('*','**',(1,2,3))
for i in zip(l1,l2,l3):
  print(i)
fifilter():過濾(講完lamda) map():會根據提供的函數對指定序列做映射(lamda)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫在前面的話 適用讀者:有一定經驗的,本文不適合初學者,因為可能不能理解我在說什麼 文章思路:不會一開始就像別的博客文章那樣,Bean 的生命周期,源碼解讀(給你貼一大堆的源碼)。個人覺得應該由問題驅動,為什麼為出現 BeanFactory ,為什麼會有生命周期。 正文 一開始我們使用 bean 都 ...
  • 1、Eureka服務端集群開發 1、先創建一個父工程 若是不是普通demo,還有別的配置時,需要註意若是服務開不起來可能就是父類依賴中可能會需要<dependencyManagement>這個標簽。 2、再創建兩個子工程 1、導入依賴 <dependency> <groupId>org.spring ...
  • 1 簡介 我們知道 只是一個介面,它有多種實現,Java中最常用的是 了。而本文想講述的是另一個實現: 。它是枚舉類型的 ,要求它的Key值都必須是枚舉型的。 2 創建你的EnumMap 既然是關於枚舉類型的Map,我們先創建一個枚舉,以便後續使用: 2.1 創建EnumMap的三種方法 JDK提供 ...
  • 1. lamda匿名函數 為瞭解決⼀些簡單的需求⽽設計的⼀句話函數 # 計算n的n次⽅ def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表⽰的是匿名函數,不需要⽤def來聲明,⼀句話就可以聲 ...
  • 調優基本概念 在調整JVM性能時,通常有三個組件需要考慮: 堆大小調整 垃圾收集器調整 JIT編譯器 大多數調優選項都與調整堆大小和選擇合適的垃圾收集器有關,JIT編譯器對性能也有很大影響,但很少需要對其進行調優,尤其是針對較新版本的JVM。 通常,在進行Java程式調優的時候,會重點關註兩個主要指 ...
  • 這篇文章主要分享 Timer 毫秒精度的定時器。本地版本:PHP 7.2.6、Swoole 4.3.1。Timer主要有三個方法:swoole_timer_tick 間隔的時鐘控制器swoole_timer_after 指定的時間後執行swoole_timer_clear 刪除定時器示例代碼:運行結 ...
  • 包裝 1.二次加工標準類型(包裝) class List(list): def append(self, a_objcet): if type(a_objcet) is str: super().append(a_objcet) else: print('請傳入字元轉類型') l1 = List(' ...
  • 我們都知道 HTTP 是一種協議,允許 WEB 伺服器和瀏覽器通過互聯網進行發送和接受數據。想對 HTTP 進行詳細的瞭解,可以找下其他文章,這篇文章不多做介紹。我們在網上能看到的界面,圖片,動畫,音頻,視頻 等,都有依賴這個協議的。在做 WEB 系統的時候,都使用過 IIS、Apache、Ngin ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...