Python內置函數大全

来源:https://www.cnblogs.com/mengqingjian/archive/2018/03/12/8551914.html
-Advertisement-
Play Games

Python內置函數 一、數學運算類 二、集合類操作 三、邏輯判斷 四、反射 compile(source, filename, mode[, flags[, dont_inherit]]) 五、IO操作 六、open 打開,關閉,close (2)、w只寫模式【不可讀;文件不存在則創建;存在則清空 ...


Python內置函數

一、數學運算類

 

abs(x) 求絕對值
1、參數可以是整型,也可以是複數
2、若參數是複數,則返回覆數的模
complex([real[, imag]]) 創建一個複數
divmod(a, b) 分別取商和餘數
註意:整型、浮點型都可以
float([x]) 將一個字元串或數轉換為浮點數。如果無參數將返回0.0
int([x[, base]])  將一個字元轉換為int類型,base表示進位
long([x[, base]])  將一個字元轉換為long類型
pow(x, y[, z])  返回x的y次冪
range([start], stop[, step])  產生一個序列,預設從0開始
round(x[, n])  四捨五入
sum(iterable[, start])  對集合求和
oct(x) 將一個數字轉化為8進位
hex(x) 將整數x轉換為16進位字元串
chr(i) 返回整數i對應的ASCII字元
bin(x) 將整數x轉換為二進位字元串
bool([x]) 將x轉換為Boolean類型

 

二、集合類操作

basestring() str和unicode的超類
不能直接調用,可以用作isinstance判斷
format(value [, format_spec]) 格式化輸出字元串
格式化的參數順序從0開始,如“I am {0},I like {1}”
unichr(i) 返回給定int類型的unicode
enumerate(sequence [, start = 0]) 返回一個可枚舉的對象,該對象的next()方法將返回一個tuple
iter(o[, sentinel]) 生成一個對象的迭代器,第二個參數表示分隔符
max(iterable[, args...][key])  返回集合中的最大值
min(iterable[, args...][key]) 返回集合中的最小值
dict([arg]) 創建數據字典
list([iterable])  將一個集合類轉換為另外一個集合類
set() set對象實例化
frozenset([iterable]) 產生一個不可變的set
str([object])  轉換為string類型
sorted(iterable[, cmp[, key[, reverse]]])  隊集合排序
tuple([iterable])  生成一個tuple類型
xrange([start], stop[, step])  xrange()函數與range()類似,但xrnage()並不創建列表,而是返回一個xrange對象,它的行為與列表相似,但是只在需要時才計算列表值,當列表很大時,這個特性能為我們節省記憶體

 

三、邏輯判斷

all(iterable) 1、集合中的元素都為真的時候為真
2、特別的,若為空串返回為True
any(iterable) 1、集合中的元素有一個為真的時候為真
2、特別的,若為空串返回為False
cmp(x, y) 如果x < y ,返回負數;x == y, 返回0;x > y,返回正數

 

四、反射

callable(object) 檢查對象object是否可調用
1、類是可以被調用的
2、實例是不可以被調用的,除非類中聲明瞭__call__方法
classmethod() 1、註解,用來說明這個方式是個類方法
2、類方法即可被類調用,也可以被實例調用
3、類方法類似於Java中的static方法
4、類方法中不需要有self參數

compile(source, filename,

mode[, flags[, dont_inherit]])

將source編譯為代碼或者AST對象。代碼對象能夠通過exec語句來執行或者eval()進行求值。
1、參數source:字元串或者AST(Abstract Syntax Trees)對象。
2、參數 filename:代碼文件名稱,如果不是從文件讀取代碼則傳遞一些可辨認的值。
3、參數model:指定編譯代碼的種類。可以指定為 ‘exec’,’eval’,’single’。
4、參數flag和dont_inherit:這兩個參數暫不介紹
dir([object]) 1、不帶參數時,返回當前範圍內的變數、方法和定義的類型列表;
2、帶參數時,返回參數的屬性、方法列表。
3、如果參數包含方法__dir__(),該方法將被調用。當參數為實例時。
4、如果參數不包含__dir__(),該方法將最大限度地收集參數信息
delattr(object, name) 刪除object對象名為name的屬性
eval(expression [, globals [, locals]]) 計算表達式expression的值
execfile(filename [, globals [, locals]]) 用法類似exec(),不同的是execfile的參數filename為文件名,而exec的參數為字元串。
filter(function, iterable) 構造一個序列,等價於[ item for item in iterable if function(item)]
1、參數function:返回值為True或False的函數,可以為None
2、參數iterable:序列或可迭代對象
getattr(object, name [, defalut]) 獲取一個類的屬性
globals() 返回一個描述當前全局符號表的字典
hasattr(object, name) 判斷對象object是否包含名為name的特性
hash(object) 如果對象object為哈希表類型,返回對象object的哈希值
id(object) 返回對象的唯一標識
isinstance(object, classinfo) 判斷object是否是class的實例
issubclass(class, classinfo) 判斷是否是子類
len(s)  返回集合長度
locals()  返回當前的變數列表
map(function, iterable, ...)  遍歷每個元素,執行function操作
memoryview(obj)  返回一個記憶體鏡像類型的對象
next(iterator[, default])  類似於iterator.next()
object()  基類
property([fget[, fset[, fdel[, doc]]]])  屬性訪問的包裝類,設置後可以通過c.x=value等來訪問setter和getter
reduce(function, iterable[, initializer])  合併操作,從第一個開始是前兩個參數,然後是前兩個的結果與第三個合併進行處理,以此類推
reload(module)  重新載入模塊
setattr(object, name, value) 設置屬性值
repr(object)  將一個對象變幻為可列印的格式
slice()  
staticmethod 聲明靜態方法,是個註解
super(type[, object-or-type])  引用父類
type(object) 返回該object的類型
vars([object])  返回對象的變數,若無參數與dict()方法類似
bytearray([source [, encoding [, errors]]]) 返回一個byte數組
1、如果source為整數,則返回一個長度為source的初始化數組;
2、如果source為字元串,則按照指定的encoding將字元串轉換為位元組序列;
3、如果source為可迭代類型,則元素必須為[0 ,255]中的整數;
4、如果source為與buffer介面一致的對象,則此對象也可以被用於初始化bytearray.
zip([iterable, ...])  實在是沒有看懂,只是看到了矩陣的變幻方面

 

五、IO操作

 

file(filename [, mode [, bufsize]]) file類型的構造函數,作用為打開一個文件,如果文件不存在且mode為寫或追加時,文件將被創建。添加‘b’到mode參數中,將對文件以二進位形式操作。添加‘+’到mode參數中,將允許對文件同時進行讀寫操作
1、參數filename:文件名稱。
2、參數mode:'r'(讀)、'w'(寫)、'a'(追加)。
3、參數bufsize:如果為0表示不進行緩衝,如果為1表示進行行緩衝,如果是一個大於1的數表示緩衝區的大小 。
input([prompt])  獲取用戶輸入
推薦使用raw_input,因為該函數將不會捕獲用戶的錯誤輸入
open(name[, mode[, buffering]])  打開文件
與file有什麼不同?推薦使用open
print 列印函數
raw_input([prompt])  設置輸入,輸入都是作為字元串處理

 

 

六、open---打開,關閉,close

模式    描述
r      打開一個文件為只讀。文件指針被放置在文件的開頭。這是預設模式。
rb     打開一個文件只能以二進位格式讀取。文件指針被放置在文件的開頭。這是預設模式。
r+     打開用於讀和寫文件。文件指針置於該文件的開頭。
rb+    打開用於讀取和寫入二進位格式的文件。文件指針置於該文件的開頭。
w      打開一個文件只寫。如果文件存在覆蓋該文件。如果該文件不存在,則創建寫入新文件。
wb     打開一個文件只能以二進位格式寫入。如果文件存在覆蓋該文件。如果該文件不存在,則創建寫入新文件。
w+     打開文件為寫入和讀取模式。如果文件存在覆蓋現有文件。如果該文件不存在,創建用於讀寫操作的新文件。
wb+    打開用於以二進位格式寫入和讀出文件。如果文件存在覆蓋現有文件。如果該文件不存在,創建用於讀寫操作的新文件。
a      打開用於追加的文件。文件指針是在文件是否存在該文件的末尾。也就是說,該文件是在追加模式。如果該文件不存在,它會創建一個用於寫入的新文件。
ab     打開文件用於二進位格式追加。文件指針是在文件是否存在該文件的末尾。也就是說,文件是在追加模式。 如果該文件不存在,它會創建一個用於寫入的新文件。
a+     打開文件為追加和讀取方式。文件指針是在文件是否存在該文件的末尾。該文件以追加模式打開。如果該文件不存在,它將創建用於讀寫操作的新文件。
ab+    打開一個文件以附加和二進位格式讀取模式。如果該文件存在文件指針在該文件的末尾。該文件以追加模式打開。如果該文件不存在,它將創建讀寫操作的新文件。

(1)、只讀,r
f = open("路徑文件","r")  
  
f.write("asdfasdf")  
  
f.close()

(2)、w只寫模式【不可讀;文件不存在則創建;存在則清空內容】

複製代碼
f =open("ha1.log",'a')  
  
a1 = f.tell()  ---查看指針位置  
  
print(a1)  
  
f.write("nini")  ----如果文件存在清空後出現”nini“  
  
   
  
a = f.tell()----在查看指針  
  
print(a)  
  
f.seek(0)  
  
#c = f.read()  ----不可讀  
  
#print(c)  
  
f.close()  -----------關閉  
  
#print(c)  
複製代碼

(3)、x 不可讀,不存在則創建,存在則報錯

複製代碼
f =open("ha3.log",'x')  
  
a1 = f.tell()  
  
print(a1)  
  
f.write("nini")  
  
   
  
a = f.tell()  
  
print(a)  
  
f.seek(0)  
  
#c = f.read()  ---=不可讀  
  
   
  
#print(c)  
  
f.close()  
複製代碼

(4)、a 不可讀,不存在則創建,存在則只追加

複製代碼
f =open("ha3.log",'a')  
  
a1 = f.tell()  
  
print(a1)  
  
f.write("cccc")-----上面已經寫入了"nini " ,存在則只追加內容  
  
a = f.tell()  
  
print(a)  
  
f.seek(0)  
  
#c = f.read()  
  
#print(c)  
  
f.close() 

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

-Advertisement-
Play Games
更多相關文章
  • 1、方法的定義格式及解析 (1)方法概述:方法就是完成特定功能的代碼塊。 (2)定義格式: 修飾符 返回值類型 方法名(參數1,參數2,參數3...){ 函數體; return 返回值; } (3)修飾符:公共類public、私有類private、抽象類abstract、最終類final。 (4)返 ...
  • 測試環境:Keil 5.20.0.0 STM32F103RBT6 固件庫版本:STM32F10x_StdPeriph_Lib_V3.5.0(2011) 本文使用TIM1的通道1,通道2,產生兩路1khz,死區時間1us的互補PWM波。 所使用的IO口:由下圖知,我們使用引腳為PA9,PA10,互補輸 ...
  • 一.java常用數據類型 int 只有 true或false沒有0或非0 二.數據類型轉換 1.自動轉換:byte ->short int->char->int->long int ->float->double 轉換條件:由低類型向高類型(即箭頭所指的轉換方向)變數類型不會改變,但計算值會變為高類 ...
  • 題目描述 過長……不想發圖也不想發文字,所以就發鏈接吧…… [沒有人的算術][1] 題解 $orz$神題一枚 我們考慮如果插入的數不是數對,而是普通的數,這就是一道傻題了——直接線段樹一頓亂上就可以了。 於是我們現在只需要解決一個問題——維護這些數的大小關係。 由於這些數具有有序性,我們可以將這些數 ...
  • happens before原則 我們編寫的程式都要經過優化後(編譯器和處理器會對我們的程式進行優化以提高運行效率)才會被運行,優化分為很多種,其中有一種優化叫做重排序,重排序需要遵守happens before規則,換句話說只要滿足happens before原則就可以進行重排序。 定義 :在JM ...
  • 根據xml文件設計Student對象 設計學生類 根據菜單進行解析 使用jar包 ...
  • 一、抽象類 抽象類、具體類是相對的,並非絕對的。抽象是一種概念性名詞,具體是一種可見可觸摸的現實對象。概念越小,則其抽象程度就越大,其外延也越大,反之亦然。簡單說,比如“人”比“男人”抽象一點,而“生物”又比“人”更抽象一點,“物質”又比“生物”更抽象。 抽象的概念是由具體概念依其“共性”而產生的, ...
  • 內容:通過wget批量下載我自己博客園的隨筆頁面,看閱讀量是否增加環境:kali+python思路:1、在終端利用調用腳本的方式執行python腳本,比如:python add_readcounts.py -f my_blogs2、對爬蟲不熟,但是也不能把每一篇隨筆的鏈接加入到代碼中,使用一個文本保 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...