python函数整理
1 基本運算符
| / | 除法,運算結果為浮點數 |
| // | 除法,運算結果向下取整 也就是說,如果結果是負數的話,會找比它小的、最大的那個負數 |
| + | 布爾值的加減運算中,True被看作1,False被看作0 |
| % | 求模運算 x%y=x-(x//y)*y |
| ** | 乘方運算符 a**b相當于pow(a,b) |
2 進制、類型轉換
| 0x 0b | 十六進制、二進制互相轉換 |
| bin | 十進制轉為二進制(轉換之后的類型為string) |
| bytes | 字符串轉字節 |
| chr | 十進制轉化為ASCII碼 |
| float | 轉化為浮點類型 |
| hex | 十進制轉換為十六進制 |
| int(x,base) | 將一個字符串或者數字轉換成整形 |
| oct | 十進制轉為八進制(轉換之后的類型為string) |
| ord | ASCII碼轉為十進制 |
3 比較、is和==
==比較兩個對象的 值是否相等
is比較他們倆是否是一個對象(在內存中的地址是否一樣)
4 數學函數
| abs | 絕對值/復數的模 |
| divmod(a,b) | 取商&取余數 返回(a//b,a-(a//b)*b) |
| pow(a,b) | a的b次冪 |
| round(a,b) | 舍五入a,保留b位小數 |
5 復數運算(cmath包)
| 創建復數 | |
| 復數運算 |
6 文件操作
6.1 文件讀寫模式
| 'r' | 只讀。如果文件不存在,會產生異常(報錯) |
| 'r+' | 在'r'的基礎上,同時可寫。不建議使用 |
| 'w' | 覆蓋寫。如果文件不存在,創建文件;如果文件存在,覆蓋文件(清空文件,從文件開頭寫) |
| 'w+' | 在'w'基礎上,同時可讀 |
| 'a' | 追加寫。如果文件不存在,創建文件;如果文件存在,在文件末尾追加內容 |
| 'a+' | 在'a'的基礎上,同時可讀 |
| 'x' | 與'w'相比,如果文件不存在,則產生異常(報錯) |
| 'x+' | 在'x'基礎上,同時可讀 |
6.1.1 文件格式
| 't' | 文本文件,默認情況 |
| 'b' | 二進制文件,例如圖片、音樂、視頻等 |
6.2 文件基本操作
| read | 讀取文件,后面帶一個可選參數,表示讀取多少個字符 | |
| write | 寫文件 用write()把字符串寫入文件。注意和print()不同,不會自動換行,要手工標記'\n' 務必用close()關閉文件 | |
| 寫 csv ? | ||
| writelines | 1、用writelines(列表)把列表寫入文件 2、注意,writelines不會自動加入換行。如需換行,要在列表的各元素末尾加'\n' | |
| readline | 讀一行 讀回的一行會自帶換行符'\n' | |
| readlines | 讀取文件 讀回的每一行會自帶換行符'\n' 返回一個列表,每一個元素代表文件的一行 | |
6.3 文件指針基本操作
| tell | 返回文件指針的當前位置 |
| seek | 改變文件操作指針的位置 fileObject.seek(offset[, whence])
|
6.3 復雜操作
| python 文件處理1:將某一目錄下的文件合并_劉文巾的博客-CSDN博客 |
| python文件操作2:在指定目錄下查找指定后綴名的文件_劉文巾的博客-CSDN博客 |
7 類和類的函數
7.1 類的定義
7.2 類的函數
| isinstance(object,class) | 判斷一個對象是不是一個類的實例(一個類也是它的父類的instance) |
| issubclass(class1, class2) | 判斷一個類是不是另一個類的子類(object類是所有類的父類) |
| hasattr | (has attribute)對象是否有這個屬性值 |
8 字符串
8.1 長字符串
表示很長的字符串 可以跨越多行的字符串——用三引號(單引號雙引號都可以)
這樣的字符串內部單雙引號不用轉義(可同時解決字符串換行、字符串內單雙引號的問題,同時也可以換行)
8.2 原始字符串
常規的字符串中,反斜杠\表示對字符串進行轉義的意思
\n 表示的是換行符,但有的時候我們要在字符串中包含\n(比如計算機的路徑【C:\nowhere\tere】的時候),我們有兩種解決方法
1,雙反斜杠,第一個反斜線是轉義字符
2,字符串前面加r,?r' '表示' '內部的字符串默認不轉義
8.3 字符串換行
一行代碼太長的時候,我們可以在任意位置用反斜杠結尾,換下一行繼續寫?。程序執行時,仍視為一行
8.4 字符串格式
8.4.1 format 函數
| 基本使用(不帶任何參數) | |
| 括號里面帶數字 | ?括號里面也可以不按順序 |
| 括號里面命名 | |
| 通過list,命名 |
8.4.2 指定格式
| b | 將整數表示成二進制數 |
| c | 將整數表示為Unicode碼 |
| e | 使用科學計數法(用e表示指數) 冒號后面,e前面的.n表示精確到幾位小數 |
| E | 使用科學計數法(用E表示指數) 默認精確到六位小數 |
| f | 將小數表示為定點數(默認的話是小數點后六位小數) :.0f——不帶小數位 |
| o | 將整數表示為八進制數 |
| s | 字符串 |
| x | 將整數表示為十六進制,同時使用小寫字母 |
| X | 將整數表示為十六進制,同時使用大寫字母 |
| % | 表示為百分比值 |
8.4.3 填充與對齊
| 指定字符串寬度 | |
| 用零而不是空格填充 | < ^ >分別表示向左、居中、向右對齊 后面跟的第一個0表示用0填充 之后表示填充到長度為10位 .2f就和前面一樣了,表示精確到兩位小數 |
| 同時設置類型和寬度 | |
| 使用逗號來表示千位分隔符 | |
| 左/右/居中對齊(用< > ^表示) |
8.5 字符串方法
| capitalize | 字符串首字母大寫,其他字母小寫(原字符串不會受影響) |
| center(num,char) | 在原先字符串的基礎上,在其兩邊填充字符達到center第一個參數這么多位數(默認為空格),使得字符串居中 |
| count | 計算里面的某一個子串的個數 |
| find | 在字符串中查找子串。 如果找到的話,返回字串出現的第一個字符 如果沒有找到的話,返回-1 |
| isalpha() | 如果字符串至少有一個字符并且所有字符都是字母則返回 True,否則返回 False。 |
| isdigit | 字符串中是否全是數字字符 |
| join | 合并序列元素(不改變原先字符串) |
| len | 字符串長度 |
| lower | 返回字符串的小寫版本(原字符串不會受影響) |
| replace | 將指定子串替換成另一個字符串,返回替代后的結果 |
| split | 將字符串拆分(默認是以空格拆分) |
| startswith | 判斷是否以一個字符/一串字符開始 |
| endswith | 判斷是否以某一個字符/一串字符結束 |
| strip | 將開頭和結尾的空白刪除(lstrip&rstrip,去掉左/右空格) 也可以指定要刪除哪些字符 |
| swapcase | 大小寫反轉(原字符串不會受影響) |
| title | 字符串每個詞的詞首大寫(原字符串不會受影響) |
| upper | 返回字符串的大寫版本(原字符串不會受影響) |
8.6 f格式字符串
????????在使用 f 模式的情況下,我們要在字符串開頭加上一個?f。然后用?{}?圈出你的變量名,直接在?{}?引用變量
pi=3.1415926 print(f"pi's value is {pi}") #pi's value is 3.1415926? ? ? ? 和前面的format一樣,也可以指定輸出的格式?
pi=3.1415926 print(f"pi's value is {pi}") print(f"pi's value is {pi:.3%}") print(f"pi's value is {pi:.0f}")''' pi's value is 3.1415926 pi's value is 314.159% pi's value is 3 '''你也可以在大括號中進行運算操作
pi=3.1415926 print(f"pi's value is {pi+1}")#pi's value is 4.14159269 列表生成式
10 列表
列表里面的元素可以不是一個類型
10.1 列表索引
負數索引表示從右向左
10.2 列表切片
范圍是左閉右開
第二個冒號之后表示步長
步長為負數:從右向左
給切片賦值:可以將切片替換成長度與其不同的序列
給切片賦值還可以在不替換原有元素的情況下插入新元素
10.3?序列相加
可以用加法來拼接序列,但一般不同類型的序列不能拼接
10.4 序列數乘
重復這個序列n次
10.5?序列內置函數
| append | 將一個對象添加到列表的末尾 |
| count | 計算指定的元素在列表中出現了幾次 |
| copy以及列表的復制 | 等號相當于是一個引用,相當于給列表設置了一個別名。新老名字指向同一個列表 copy相當于新建一個對象 另一種復制的方法是lst[:],這個也是生成新的列表 |
| clear | 清空列表? |
| del | 刪除元素 |
| extend | 將可迭代的元素添加到列表中(有別于append) |
| in | 運算符in返回一個布爾變量,判斷特定的值在不在序列中 |
| index | 返回指定值第一次出現時候的索引 ?如果列表中沒有這個值,報錯 我們也可以人為定義index的范圍 |
| insert(x,y) | 在指定位置插入對象(在第x個位置插入元素y) |
| len | 序列長度 |
| max min | 最大最小值 |
| pop(i) | 從列表中刪除下標為i的元素(如果沒有參數的話,默認為最后一個元素),并返回這個元素 |
| remove | 刪除第一個為指定值的元素 (如果沒有這個元素,報錯) 不按照序號,按照內容查 |
| reverse | 列表反轉 |
| sort | 直接對列表進行排序,不返回任何值 (區別于sorted,sorted不改變原有列表;sort直接修改列表) 倒序排序:參數里面加上reverse=True 可以支持高級排序。key可以是我們定義的函數,lambda函數等 上例中,北京和南京的字符串長度是一樣的。此時兩者再比較字典序 如果列表的每個元素也是列表/元組,那么默認參數按照第0個元素進行排序 如果不想按照第0個元素排序,可以手動設置key 值 ? |
| sorted | 從小到大排序 不改變原有列表 可以接受一個key函數(參數為來實現自定義的排序 reverse——逆向排序(從大到小) 字符串排序默認使用ascii碼 如果列表的每個元素也是列表/元組,那么默認參數按照第0個元素進行排序 |
| sum | 求和 |
11 元組
元組值不可修改
11.1 元組的表達方式
11.1.1?不帶括號的表達方式
注意單個值的元組,即使只有一個值,也要加逗號
11.1.2 帶括號的表達方式
注意單個值的元組,即使只有一個值,也要加逗號
11.2 內置函數
大部分的內置函數和列表的一樣,見10.5就可以了
11.3 序列和元組的相互轉化
11.4 tuple的比較
tuple是一個一個比較的,第一個一樣了再比較第二個。
第一個如果已經可以區分大小了,就不必看第二個了。
我們已知有這樣的大小關系:(‘10’<‘9’是因為‘1’的字典序小于‘9‘)
那么接下來的這幾個元組可以這么比較:
第一行和第二行,因為10<9,0<9,所以已經能比較了,就不用看第二個了。
第三行因為第一個對應的元素都一樣,所以需要比較第二個元素.
12 集合
無序的集合,沒有重復的元素
12.1 集合的聲明
12.2 集合的內置函數
| add | 添加元素 如果要add的值已經在集合里面,那這一步相當于啥也沒做 |
| difference | 兩個set里面不同的元素 a.difference(b)的意思是在a卻不在b中的元素,也就是a和b的集合差 |
| intersection | ?兩個set的交集 |
| union | 兩個set的并集 |
13 字典
13.1 字典的創建
13.1.1 從列表中創建字典
13.2 字典內置函數
| clear | 刪除所有的字典項 |
| del | 刪除鍵值為k的項 |
| dict[k] | 返回和鍵值k相對應的值 如果字典中沒有k這個鍵值,dict[key]=x,會新建一個新項,否則就是修改值 |
| get | 訪問字典項,不同于直接dict[key],get訪問的時候,如果沒有這個鍵值,會返回none(或者自己指定的value),而不是報錯 |
| keys | 返回鍵值 |
| len | 返回鍵值對數 |
| in | 字典中是否有包含鍵值為k的項 |
| items | 返回包含鍵值對(元組)的列表 |
| pop | 獲取與指定鍵值相關聯的值,并將該鍵值對從字典中刪除 如果要pop的內容不在字典中,那么會報錯 |
| popitem | 隨機彈出一個字典項(這個在需要逐個彈出字典項,但是又不要求彈出順序的時候很有用) |
| setdefault | 和get有點像,不一樣的是,在字典中不包含指定的項的時候,添加指定的鍵值對(如果不指定鍵值的話,默認為None) |
| update | 用另一個字典的項來更新一個字典 沒有的——添加進來,有的——修改掉 |
| values | 返回值的list,可能會有重復值 |
13.3 字典排序
| 利用key排序 | |
| 利用value排序 | |
| 利用value排序(反序) | |
| 對dict_items進行排序 |
13.4 字典的復制
和列表一樣,等號賦值相當于去取了一個別名,本質上這兩個是一個字典
要達到復制的效果,需要建立一個空字典,再用update合并字典
13.5 字典數據篩選
14 其他函數
| all | 接受一個可迭代對象,如果可迭代對象的所有元素都為真,那么返回True,否則,返回False |
| any | 接受一個可迭代對象,如果可迭代對象里至少有一個元素為真,那么返回True,否則返回False |
| callable | 類型是否可調用 |
| eval | 執行一個字符串表達式,并返回表達式的值 |
| enumerate | 把一個可遍歷對象(列表、元組、字符串)變成一個下標-元素對 可以有一個可選變量start,表示下標起始 的位置 enumerate +字典:對鍵值進行枚舉 |
| filter ( func, iterable) | 過濾器,丟棄 func返回值為False的部分 |
| | 接受多個東西,用逗號隔開(遇到逗號輸出一個空格) |
| help(func) | 查看函數的幫助信息 Sep=‘ ’這樣的話逗號不會被輸出成空格 |
| id | 返回內存地址 |
| input | 讓用戶輸入一個字符串 |
| map(function,iterable) | 根據提供的函數對指定序列做映射,返回一個新列表 上面的例子相當于l列表中每個元素乘方 |
| reduce(fucntion,iterable) | 對參數序列中的元素進行累積 將一個數據集合中的所有數據進行如下操作:用傳給reduce中的函數function(這個函數有兩個參數),先對集合中的第一和第二個元素進行操作,將得到的結果再與第三個數據用function函數進行運算,最后得到一個結果 上面的例子相當于(((1+2)+3)+4)+5 |
| type | 查看對象類型 |
| zip | zip與zip(*)_劉文巾的博客-CSDN博客 |
總結
以上是生活随笔為你收集整理的python函数整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 797. 所有可能的路径
- 下一篇: GNN 笔记:图上的傅里叶变换