欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的常用函數(shù)使用及說明

 更新時(shí)間:2024年02月09日 10:26:52   作者:Z_RINGRUI  
這篇文章主要介紹了Python中的常用函數(shù)使用及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1.range()是一個(gè)函數(shù)

for i in range () 就是給i賦值:

比如 for i in range (1,3):

就是把1,2依次賦值給i

range () 函數(shù)的使用是這樣的:

range(start, stop[, step]),分別是起始、終止和步長

舉例:

range(3)即:從0到3,不包含3,即0,1,2

>>> for i in range(3):
	print(i)
 
0
1
2

range(1,3,2)即:從1到3,每次增加2,因?yàn)?+2=3,所以輸出只有1

第三個(gè)數(shù)字2是代表步長。如果不設(shè)置,就是默認(rèn)步長為1

>>> for i in range(1,3,2):
	print(i)
 
1

2.Python數(shù)字函數(shù)

函數(shù)返回值(描述)
abs(x)返回?cái)?shù)字的絕對值,如abs(-10)返回10
ceil(x)返回?cái)?shù)字的上入整數(shù),如math.ceil(4.1)返回5
cmp(x,y)如果 x < y 返回 -1,如果x == y 返回0,如果x > y 返回1
exp(x)返回e的x次冪(ex),如果math.exp(1)返回2.718281828459045)
fabs(x)返回?cái)?shù)字的絕對值,如math.fabs(-10)返回10.0
floor(x)返回?cái)?shù)字的下設(shè)整數(shù),如math.floor(4,9)返回4
log(x)log() 返回 x 的自然對數(shù),如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)返回以10為基數(shù)的x的對數(shù),如math.log10(100)返回2.0
max(x1,x2,…)返回給定參數(shù)的最大值,參數(shù)可以為序列
min(x1,x2,…)返回給定參數(shù)的最小值,參數(shù)可以為序列
modf(x)返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號與x相同,整數(shù)部分以浮點(diǎn)型表示
pow(x,y)x**y運(yùn)算后的結(jié)果
round(x,[n])返回浮點(diǎn)數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點(diǎn)后的位數(shù)
sqrt(x)返回?cái)?shù)字x的平方根

3.Python隨機(jī)函數(shù)

隨機(jī)數(shù)可以用于數(shù)字,游戲,安全等領(lǐng)域中,還經(jīng)常被嵌入到算法中,用以提高算法效率,并提高程序的安全性;

Python包含以下常用隨機(jī)函數(shù):

函數(shù)描述
choice()seq從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)
randrange([start,] stop [,step])從指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)默認(rèn)值為1
random()隨機(jī)生成一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)
seed([x])改變隨機(jī)數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設(shè)定seed,Python會幫你選擇seed
shuffle(lst)將序列的所有元素隨機(jī)排列
unifrom(x,y)隨機(jī)生成下一個(gè)實(shí)數(shù),它在[x,y]范圍內(nèi)

4.Python的字符串內(nèi)建函數(shù)

字符串方法是從python1.6到2.0慢慢加進(jìn)來的——它們也被加到了Python中;

這些實(shí)現(xiàn)了string模塊的大部分方法,如下表所示除了目前字符串內(nèi)建支持的方法,都包含了對Unicode的支持,有一些甚至是專門用于Unicode的。

方法描述
string.capitalize()把字符串的第一個(gè)字符大寫
string.center(width)返回一個(gè)原字符串居中,并使用空格填充至長度width的新字符串
string.count(str, beg=0, end=len(string))返回 str 在 string 里面出現(xiàn)的次數(shù),如果 beg 或者 end 指定則返回指定范圍內(nèi) str 出現(xiàn)的次數(shù)
string.decode(encoding=‘UTF-8’, errors=‘strict’)以 encoding 指定的編碼格式解碼 string,如果出錯(cuò)默認(rèn)報(bào)一個(gè) ValueError 的 異 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’
string.encode(encoding=‘UTF-8’, errors=‘strict’)以 encoding 指定的編碼格式編碼 string,如果出錯(cuò)默認(rèn)報(bào)一個(gè)ValueError 的異常,除非 errors 指定的是’ignore’或者’replace’
string.endswith(obj, beg=0, end=len(string))檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束,如果是,返回 True,否則返回 False.
string.expandtabs(tabsize=8)把字符串 string 中的 tab 符號轉(zhuǎn)為空格,tab 符號默認(rèn)的空格數(shù)是 8。
string.find(str, beg=0, end=len(string))檢測 str 是否包含在 string 中,如果 beg 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回-1
string.format()格式化字符串
string.index(str, beg=0, end=len(string))跟find()方法一樣,只不過如果str不在 string中會報(bào)一個(gè)異常.
string.isalnum()如果 string 至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返回 True,否則返回 False
string.isalpha()如果 string 至少有一個(gè)字符并且所有字符都是字母則返回 True,否則返回 False
string.isdecimal()如果 string 只包含十進(jìn)制數(shù)字則返回 True 否則返回 False.
string.isdigit()如果 string 只包含數(shù)字則返回 True 否則返回 False.
string.islower()如果 string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False
string.isnumeric()如果 string 中只包含數(shù)字字符,則返回 True,否則返回 False
string.isspace()如果 string 中只包含空格,則返回 True,否則返回 False.
string.istitle()如果 string 是標(biāo)題化的(見 title())則返回 True,否則返回 False
string.isupper()如果 string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True,否則返回 False
string.join(seq)以 string 作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個(gè)新的字符串
string.ljust(width)返回一個(gè)原字符串左對齊,并使用空格填充至長度 width 的新字符串
string.lower()轉(zhuǎn)換 string 中所有大寫字符為小寫.
string.lstrip()截掉 string 左邊的空格
string.maketrans(intab, outtab)maketrans() 方法用于創(chuàng)建字符映射的轉(zhuǎn)換表,對于接受兩個(gè)參數(shù)的最簡單的調(diào)用方式,第一個(gè)參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個(gè)參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。
max(str)返回字符串 str 中最大的字母。
min(str)返回字符串 str 中最小的字母。
string.partition(str)有點(diǎn)像 find()和 split()的結(jié)合體,從 str 出現(xiàn)的第一個(gè)位置起,把 字 符 串 string 分 成 一 個(gè) 3 元 素 的 元 組 (string_pre_str,str,string_post_str),如果 string 中不包含str 則 string_pre_str == string.
string.replace(str1, str2, num=string.count(str1))把 string 中的 str1 替換成 str2,如果 num 指定,則替換不超過 num 次.
string.rfind(str, beg=0,end=len(string) )類似于 find() 函數(shù),返回字符串最后一次出現(xiàn)的位置,如果沒有匹配項(xiàng)則返回 -1。
string.rindex( str, beg=0,end=len(string))類似于 index(),不過是返回最后一個(gè)匹配到的子字符串的索引號。
string.rjust(width)返回一個(gè)原字符串右對齊,并使用空格填充至長度 width 的新字符串
string.rpartition(str)類似于 partition()函數(shù),不過是從右邊開始查找
string.rstrip()刪除 string 字符串末尾的空格.
string.split(str=“”, num=string.count(str))以 str 為分隔符切片 string,如果 num 有指定值,則僅分隔 num+1 個(gè)子字符串
string.splitlines([keepends])按照行(‘\r’, ‘\r\n’, ‘\n’)分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符。
string.startswith(obj, beg=0,end=len(string))檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查.
string.strip([obj])在 string 上執(zhí)行 lstrip()和 rstrip()
string.swapcase()翻轉(zhuǎn) string 中的大小寫
string.title()返回"標(biāo)題化"的 string,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle())
string.translate(str, del=“”)根據(jù) str 給出的表(包含 256 個(gè)字符)轉(zhuǎn)換 string 的字符,要過濾掉的字符放到 del 參數(shù)中
string.upper()轉(zhuǎn)換 string 中的小寫字母為大
string.zfill(width)返回長度為 width 的字符串,原字符串 string 右對齊,前面填充0

5.文件操作函數(shù)

序號方法及描述
1file.close()關(guān)閉文件。關(guān)閉后文件不能再進(jìn)行讀寫操作。
2file.flush()刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件, 而不是被動(dòng)的等待輸出緩沖區(qū)寫入。
3file.fileno()返回一個(gè)整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上。
4file.isatty()如果文件連接到一個(gè)終端設(shè)備返回 True,否則返回 False。
5file.next()返回文件下一行。
6file.read([size])從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有。
7file.readline([size])讀取整行,包括 “\n” 字符。
8file.readlines([sizeint])讀取所有行并返回列表,若給定sizeint>0,則是設(shè)置一次讀多少字節(jié),這是為了減輕讀取壓力。
9file.seek(offset[, whence])設(shè)置文件當(dāng)前位置
10file.tell()返回文件當(dāng)前位置。
11file.truncate([size])截取文件,截取的字節(jié)通過size指定,默認(rèn)為當(dāng)前文件位置。
12file.write(str)將字符串寫入文件,返回的是寫入的字符長度。
13file.writelines(sequence)向文件寫入一個(gè)序列字符串列表,如果需要換行則要自己加入每行的換行符。

1.open函數(shù)

語法:

file object = open(file_name [, access_mode][, buffering])
//完整版
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

各個(gè)參數(shù)的細(xì)節(jié)如下:

  • file_name:file_name變量是一個(gè)包含了你要訪問的文件名稱的字符串值。
  • access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀®。
  • buffering:如果buffering的值被設(shè)為0,就不會有寄存。如果buffering的值取1,訪問文件時(shí)會寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
  • encoding: 一般使用utf8
  • errors: 報(bào)錯(cuò)級別
  • newline: 區(qū)分換行符
  • closefd: 傳入的file參數(shù)類型
  • opener: 設(shè)置自定義開啟器,開啟器的返回值必須是一個(gè)打開的文件描述符。

1.close函數(shù)

File 對象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關(guān)閉該文件,這之后便不能再進(jìn)行寫入。

當(dāng)一個(gè)文件對象的引用被重新指定給另一個(gè)文件時(shí),Python 會關(guān)閉之前的文件。用 close()方法關(guān)閉文件是一個(gè)很好的習(xí)慣。

語法:

fileObject.close()

1.seek函數(shù)

seek(offset [,from])

方法改變當(dāng)前文件的位置。Offset變量表示要移動(dòng)的字節(jié)數(shù)。

From變量指定開始移動(dòng)字節(jié)的參考位置。

  • 如果from被設(shè)為0,這意味著將文件的開頭作為移動(dòng)字節(jié)的參考位置。
  • 如果設(shè)為1,則使用當(dāng)前的位置作為參考位置。
  • 如果它被設(shè)為2,那么該文件的末尾將作為參考位置。

1.tell函數(shù)

tell()方法告訴你文件內(nèi)的當(dāng)前位置, 換句話說,下一次的讀寫會發(fā)生在文件開頭這么多字節(jié)之后。

2.write函數(shù)

write()方法可將任何字符串寫入一個(gè)打開的文件。

需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。

write()方法不會在字符串的結(jié)尾添加換行符(‘\n’):

1.read函數(shù)

read()方法從一個(gè)打開的文件中讀取一個(gè)字符串。

需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。

語法:

fileObject.read([count])

在這里,被傳遞的參數(shù)是要從已打開文件中讀取的字節(jié)計(jì)數(shù)。

該方法從文件的開頭開始讀入,如果沒有傳入count,它會嘗試盡可能多地讀取更多的內(nèi)容,很可能是直到文件的末尾。

舉例:

fo = open("test.txt",'r+')
print("fo->name:%s,fo->mode:%s"%(fo.name,fo.mode))
fo.write("this is my test.")
 
str = fo.read(5)
print("first read:%s"%str)
#查找當(dāng)前位置
print("當(dāng)前位置:",fo.tell())
fo.seek(0,0)
print("當(dāng)前位置:",fo.tell())
print("str:",fo.read(20))
fo.close()

open函數(shù)中mode 參數(shù)有:

模式描述
t文本模式 (默認(rèn))。
x寫模式,新建一個(gè)文件,如果該文件已存在則會報(bào)錯(cuò)。
b二進(jìn)制模式。
+打開一個(gè)文件進(jìn)行更新(可讀可寫)。
U通用換行模式(不推薦)。
r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式。
rb以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會放在文件的開頭。這是默認(rèn)模式。一般用于非文本文件如圖片等。
r+打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭。
rb+以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭。一般用于非文本文件如圖片等。
w打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。
wb以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。
w+打開一個(gè)文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。
wb+以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。
a打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
ab以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
a+打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾。文件打開時(shí)會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。
ab+以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。

6.zip函數(shù)

對于我們的兩個(gè)list,a和b,list(zip(a, b))生成了一個(gè)列表。在這個(gè)列表中,每個(gè)元素是一個(gè)tuple;對于第i個(gè)元組,它其中的內(nèi)容是(a[i-1], b[i-1])。

這樣的操作,與壓縮軟件的“壓縮”十分接近。如果我們繼續(xù)在zip()中加入更多的參數(shù),比如zip(a, b, c, d),那么在將它轉(zhuǎn)換成list之后,結(jié)果當(dāng)然就是[(a[0], b[0], c[0], d[0]), (a[1], b[1], c[1], d[1]), …, (a[n-1], b[n-1], c[n-1], d[n-1])]。

事實(shí)上,在 Python 3 中,為了節(jié)省空間,zip()返回的是一個(gè)tuple的迭代器,這也是我們?yōu)槭裁匆{(diào)用list()將它強(qiáng)制轉(zhuǎn)換成list的原因。不過,Python 2中,它直接返回的就是一個(gè)列表了。

如果我們傳入zip()中的幾個(gè)參數(shù)不等長,會有什么結(jié)果呢?zip()很靈活,如果幾個(gè)參數(shù)不等長,那么它會取最短的那個(gè)參數(shù)的長度,然后再進(jìn)行處理。至于那些超出最短長度的成員,就只好被舍棄掉了。

origin = zip(result) #前面加號,事實(shí)上*號也是一個(gè)特殊的運(yùn)算符,叫解包運(yùn)算符

例子:

numbers = [ 1, 2, 3]
string = [ 'one','two','three']
result = zip(numbers,string)
lresult = list(result)
print(set(result))
 
print(lresult)
c,v = zip(*lresult)
print('num:', c)
print("str:", v)

結(jié)果:

[(1, 'one'), (2, 'two'), (3, 'three')]
num: (1, 2, 3)
str: ('one', 'two', 'three')

7.python內(nèi)置函數(shù)set

  • set函數(shù)返回值:一個(gè) set object (集合對象,即 一個(gè) “無序不重復(fù)元素集”,特點(diǎn) :無序,不重復(fù))
  • 參數(shù):空 或者 一個(gè)可迭代對象。

特性一:不重復(fù)??梢允址奖愕膶?shí)現(xiàn)一個(gè)去重的目的。當(dāng)然,我們也可以將set對象轉(zhuǎn)化為其它的可迭代對象。

特性二:無序。對于無序的可迭代對象,不能通過索引的方式取值。

set對象內(nèi)置方法:

  • 1.add 即:添加一個(gè)元素進(jìn)入集合,當(dāng)此元素存在時(shí), 無影響(啥也不做)。
  • 2.clear 即:將集合中所有元素移除(變?yōu)榭占希?/li>
  • 3.copy 即:返回一個(gè)集合的淺拷貝
  • 4.difference 即:將兩個(gè)和或多個(gè)集合進(jìn)行比較,返回一個(gè)新集合,這個(gè)集合中的元素存在于**第一個(gè)集合(或調(diào)用這個(gè)方法的集合)中,但不存在于其它集合中。
     
  • 5.difference_update 即:從第一個(gè)集合(或調(diào)用這個(gè)方法的集合)中移除所有屬于其它集合但不屬于第一個(gè)集合(或調(diào)用這個(gè)方法的集合)**的所有元素。需要特別注意的是,這個(gè)方法返回值并不是一個(gè)新集合。
  • 6.remove() 即:清除一個(gè)元素可以用 remove 或者 discard, 而清除全部可以用 clear.
  • 7.difference() 即:進(jìn)行一些篩選操作, 比如對比另一個(gè)東西, 看看原來的 set 里有沒有和他不同的 (difference).

編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴

strs = ['hello','helool','heool']
lst = list(strs)
def longestCommonPrefix(strs):
    result = ""
    print(set(zip(*strs)))
    for temp in zip(*strs):
        print("tmp:",temp)
        if len(set(temp)) == 1:
            result += temp[0]
        else:
            break
    return result
 
print( longestCommonPrefix(lst))

結(jié)果:

{('e', 'e', 'e'), ('o', 'o', 'l'), ('h', 'h', 'h'), ('l', 'o', 'o'), ('l', 'l', 'o')}
tmp: ('h', 'h', 'h')
tmp: ('e', 'e', 'e')
tmp: ('l', 'l', 'o')
he

8.python中的round()函數(shù)

round()是python自帶的一個(gè)函數(shù),用于數(shù)字的四舍五入。 

round(number,digits)

參數(shù):

  • digits>0,四舍五入到指定的小數(shù)位
  • digits=0, 四舍五入到最接近的整數(shù)
  • digits<0 ,在小數(shù)點(diǎn)左側(cè)進(jìn)行四舍五入
  • 如果round()函數(shù)只有number這個(gè)參數(shù),等同于digits=0

四舍五入規(guī)則:

  • 要求保留位數(shù)的后一位<=4,則進(jìn)位,如round(5.214,2)保留小數(shù)點(diǎn)后兩位,結(jié)果是 5.21
  • 要求保留位數(shù)的后一位“=5”,且該位數(shù)后面沒有數(shù)字,則不進(jìn)位,如round(5.215,2),結(jié)果為5.21
  • 要求保留位數(shù)的后一位“=5”,且該位數(shù)后面有數(shù)字,則進(jìn)位,如round(5.2151,2),結(jié)果為5.22
  • 要求保留位數(shù)的后一位“>=6”,則進(jìn)位。如round(5.216,2),結(jié)果為5.22

9.字典中setdefault函數(shù)

在setdefault函數(shù)使用時(shí),如果不指定value,默認(rèn)的value就是None(None在Python中也是一個(gè)對象,記住Python中一切都是對象,Python支持動(dòng)態(tài)類型變換)。

setdefault函數(shù)的設(shè)計(jì)思想,設(shè)置key對應(yīng)的默認(rèn)值,如果key存在,key對應(yīng)的value不會被改變,而且函數(shù)總是返回key的默認(rèn)值。

在setdefault之后,dict類型的對象就有了index(key),然后就可以直接通過index來修改對應(yīng)的value。

或者直接通過index(key),可以增加dict對象中的key-value pairs。

字典常用函數(shù)/操作:

10.python中items函數(shù)

items:函數(shù)以列表返回可遍歷的(鍵, 值) 元組數(shù)組常與for循環(huán)搭配

//例如
a={'a':1,'b':2,'c':3}
print(a.items())
for key,value in a.items():
    print("key:",key)
    print('value;',value)
//輸出
dict_items([('a', 1), ('b', 2), ('c', 3)])
key: a
value; 1
key: b
value; 2
key: c
value; 3

11.python中的strip()函數(shù)

返回刪除前導(dǎo)和尾隨空格的字符串副本。如果給定了chars而不是None,則刪除chars中的字符。(該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符。)

第一種:strip()當(dāng)函數(shù)體內(nèi)不存在任何的字符的時(shí)候則返回的是刪除字符串前導(dǎo)和尾隨空格的字符串副本(一般用來去除前后的空格)

第二種:strip()當(dāng)函數(shù)體內(nèi)存在字符的時(shí)候則得到的是刪除字符串頭尾相應(yīng)字符的字符串副本

a = “abcdef123456cba”
print(a.strip(“abc”))
>>> def123456

12.python中數(shù)字與字符的轉(zhuǎn)換

  • int(x ) 將x轉(zhuǎn)換為一個(gè)整數(shù)
  • long(x) 將x轉(zhuǎn)換為一個(gè)長整數(shù)
  • float(x ) 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
  • complex(real [,imag ]) 創(chuàng)建一個(gè)復(fù)數(shù)
  • str(x ) 將對象 x 轉(zhuǎn)換為字符串
  • repr(x ) 將對象 x 轉(zhuǎn)換為表達(dá)式字符串
  • eval(str ) 用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對象
  • tuple(s ) 將序列 s 轉(zhuǎn)換為一個(gè)元組
  • list(s ) 將序列 s 轉(zhuǎn)換為一個(gè)列表
  • chr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
  • unichr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符
  • ord(x ) 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
  • hex(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
  • oct(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串

13.hasattr()函數(shù)用于判斷對象是否包含對應(yīng)的屬性

hasattr(object, name)
object -- 對象。
name -- 字符串,屬性名。
return
如果對象有該屬性返回 True,否則返回 False。

14. filter() 函數(shù)

(1)、filter()函數(shù)的簡介和語法:

filter()函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回符合條件的元素組成新列表。

(2)、filter()語法如下:

filter(function,iterable)
  • function – 判斷函數(shù)。
  • iterable – 可迭代對象

序列中的每個(gè)元素作為參數(shù)傳遞給函數(shù)進(jìn)行判斷, 返回True或者False,最后將返回True的元素放到新列表中

(3)、filter()使用舉例

栗子1: 過濾掉列表當(dāng)中的數(shù)字0

list_num = [1, 2, 3, 0, 8, 0, 3]
print(list(filter(lambda x: x, list_num)))

結(jié)果為:

[1, 2, 3, 8, 3]

栗子2:過濾列表中數(shù)字的大小寫(針對的是字母全都是大寫或小寫的情況)

list_word = ['a', 'B', 'c', 'd', 'E']
print(list(filter(lambda x: x.isupper(), list_word)))
print(list(filter(lambda x: x.islower(), list_word)))

結(jié)果為:

['B', 'E']
['a', 'c', 'd']

例子3:與dict構(gòu)成的列表處理例子

dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}]
test_filter = filter(lambda x : x['name'] == 'python', dict_a)
print(list(test_filter))
 
輸出結(jié)果:
[{'name': 'python', 'points': 10}]

例子4:去除空格字符

b = ['\n    ', '1', '  ','Tuesday, May 05, 2020','\n',None]
 
def not_empty(s):
    return s and s.strip()
c = filter(not_empty,b)
print(list(c))
結(jié)果:
[‘1', ‘Tuesday, May 05, 2020']

15.isinstance() 內(nèi)置函數(shù)

isinstance() 函數(shù)來判斷一個(gè)對象是否是一個(gè)已知的類型,類似 type()。

sinstance() 與 type() 區(qū)別:

  • type() 不會認(rèn)為子類是一種父類類型,不考慮繼承關(guān)系。
  • isinstance() 會認(rèn)為子類是一種父類類型,考慮繼承關(guān)系。

如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()。

1、原型

isinstance(object, classinfo)

2、參數(shù)

object – 實(shí)例對象。 classinfo – 可以是直接或間接類名、基本類型或者由它們組成的元組。

3、返回值

如果對象的類型與參數(shù)二的類型(classinfo)相同則返回 True,否則返回 False。

實(shí)例:(獲取嵌套的數(shù)組列表)

def flatten(nest_list:list):
    out = []
    for i in nest_list:
        if isinstance(i, list):
            tmp_list = flatten(i)
            for j in tmp_list:
                out.append(j)
        else:
            out.append(i)
    return out
    
    
    
測試結(jié)果:

a = [[1,2], ['a','b', [3, 4]]]
b = flatten(a)
print(b)
# 輸出: [1, 2, 'a', 'b', 3, 4]

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用pytorch實(shí)現(xiàn)可視化中間層的結(jié)果

    使用pytorch實(shí)現(xiàn)可視化中間層的結(jié)果

    今天小編就為大家分享一篇使用pytorch實(shí)現(xiàn)可視化中間層的結(jié)果,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 使用jupyter notebook直接打開.md格式的文件

    使用jupyter notebook直接打開.md格式的文件

    這篇文章主要介紹了使用jupyter notebook直接打開.md格式的文件,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Flask框架Jinjia模板常用語法總結(jié)

    Flask框架Jinjia模板常用語法總結(jié)

    這篇文章主要介紹了Flask框架Jinjia模板常用語法,結(jié)合實(shí)例形式總結(jié)分析了Jinjia模板的變量、賦值、流程控制、函數(shù)、塊、宏等基本使用方法,需要的朋友可以參考下
    2018-07-07
  • windows下python連接oracle數(shù)據(jù)庫

    windows下python連接oracle數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了windows下python連接oracle數(shù)據(jù)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Python爬蟲之爬取淘女郎照片示例詳解

    Python爬蟲之爬取淘女郎照片示例詳解

    這篇文章主要介紹了Python爬蟲之爬取淘女郎照片示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python 處理文件的幾種方式

    Python 處理文件的幾種方式

    這篇文章主要介紹了Python 處理文件的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python實(shí)現(xiàn)讀取excel文件中所有sheet操作示例

    python實(shí)現(xiàn)讀取excel文件中所有sheet操作示例

    這篇文章主要介紹了python實(shí)現(xiàn)讀取excel文件中所有sheet操作,涉及Python基于openpyxl模塊的Excel文件讀取、遍歷相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Redis持久化機(jī)制實(shí)現(xiàn)原理和流程

    Redis持久化機(jī)制實(shí)現(xiàn)原理和流程

    這篇文章主要介紹了Redis持久化機(jī)制實(shí)現(xiàn)原理和流程,持久化就是把內(nèi)存中的數(shù)據(jù)存放到磁盤中,防止宕機(jī)后內(nèi)存數(shù)據(jù)丟失,需要的朋友可以參考下
    2023-04-04
  • 教你用 Python 實(shí)現(xiàn)微信跳一跳(Mac+iOS版)

    教你用 Python 實(shí)現(xiàn)微信跳一跳(Mac+iOS版)

    這幾天看網(wǎng)上好多微信跳一跳破解了,不過都是安卓的,無奈蘋果不是開源也沒辦法。本文給大家分享用 Python 來玩微信跳一跳(Mac+iOS版),具體實(shí)現(xiàn)代碼大家參考下本文
    2018-01-01
  • python-httpx的具體使用

    python-httpx的具體使用

    HTTPX是Python3的功能齊全的HTTP客戶端,它提供同步和異步API,本文主要介紹了python-httpx的具體使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論