1.dir函數(shù)式可以查看對象的屬性

永福網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
使用方法很簡單,舉os類型為例,在Python命令窗口輸入?dir(‘os’)?即可查看os模塊的屬性
打開cmd命令窗口:
2.如何查看對象某個屬性的幫助文檔:兩種方法如下:
3.如何查看某個對象的詳細:
3.如何查看某個對象的函數(shù):
Python中查看函數(shù)參數(shù)有四種方式:
1. F(arg1,arg2,…)
這是最常見的定義方式,一個函數(shù)可以定義任意個參數(shù),每個參數(shù)間用逗號分割,用這種方式定義的函數(shù)在調(diào)用的的時候也必須在函數(shù)名后的小括號里提供個數(shù)相等的值(實際參數(shù)),而且順序必須相同,也就是說在這種調(diào)用方式中,形參和實參的個數(shù)必須一致,而且必須一一對應(yīng),也就是說第一個形參對應(yīng)這第一個實參。例如:
代碼如下:
def a(x,y):print x,y
調(diào)用該函數(shù),a(1,2)則x取1,y取2,形參與實參相對應(yīng),如果a(1)或者a(1,2,3)則會報錯。
2. F(arg1,arg2=value2,…)
這種方式就是第一種的改進版,提供了默認(rèn)值,例如:
代碼如下:
def a(x,y=3):print x,y
調(diào)用該函數(shù),a(1,2)同樣還是x取1,y取2,但是如果a(1),則不會報錯了,這個時候x還是1,y則為默認(rèn)的3。上面這倆種方式,還可以更換參數(shù)位置,比如a(y=4,x=3)用這種形式也是可以的。
3. F(*arg1)
上面兩種方式是有多少個形參,就傳進去多少個實參,但有時候會不確定有多少個參數(shù),則此時第三種方式就比較有用,它以一個*加上形參名的方式來表示這個函數(shù)的實參個數(shù)不定,可能為0個也可能為n個。注意一點是,不管有多少個,在函數(shù)內(nèi)部都被存放在以形參名為標(biāo)識符的元組中。
代碼如下:
def a(*x):print x
a(1,2,3)
(1, 2, 3)
a(x=1,y=2,z=3)
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: a() got an unexpected keyword argument 'x'
4. F(**arg1)
形參名前加兩個*表示,參數(shù)在函數(shù)內(nèi)部將被存放在以形式名為標(biāo)識符的dictionary中,這時調(diào)用函數(shù)的方法則需要采用arg1=value1,arg2=value2這樣的形式。
代碼如下:
def a(**x):print x
a(x=1,y=2,z=3)
{'y': 2, 'x': 1, 'z': 3} #存放在字典中
a(1,2,3) #這種調(diào)用則報錯
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: a() takes exactly 0 arguments (3 given)
Python中有許多內(nèi)置函數(shù),不像print、len那么廣為人知,但它們的功能卻異常強大,用好了可以大大提高代碼效率,同時提升代碼的簡潔度,增強可閱讀性
Counter
collections在python官方文檔中的解釋是High-performance container datatypes,直接的中文翻譯解釋高性能容量數(shù)據(jù)類型。這個模塊實現(xiàn)了特定目標(biāo)的容器,以提供Python標(biāo)準(zhǔn)內(nèi)建容器 dict , list , set , 和 tuple 的替代選擇。在python3.10.1中它總共包含以下幾種數(shù)據(jù)類型:
容器名簡介
namedtuple() 創(chuàng)建命名元組子類的工廠函數(shù)
deque 類似列表(list)的容器,實現(xiàn)了在兩端快速添加(append)和彈出(pop)
ChainMap 類似字典(dict)的容器類,將多個映射集合到一個視圖里面
Counter 字典的子類,提供了可哈希對象的計數(shù)功能
OrderedDict 字典的子類,保存了他們被添加的順序
defaultdict 字典的子類,提供了一個工廠函數(shù),為字典查詢提供一個默認(rèn)值
UserDict 封裝了字典對象,簡化了字典子類化
UserList 封裝了列表對象,簡化了列表子類化
UserString 封裝了字符串對象,簡化了字符串子類化
其中Counter中文意思是計數(shù)器,也就是我們常用于統(tǒng)計的一種數(shù)據(jù)類型,在使用Counter之后可以讓我們的代碼更加簡單易讀。Counter類繼承dict類,所以它能使用dict類里面的方法
舉例
#統(tǒng)計詞頻
fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']
result = {}
for fruit in fruits:
if not result.get(fruit):
result[fruit] = 1
else:
result[fruit] += 1
print(result)
#{'apple': 2, 'peach': 3, 'lemon': 1}下面我們看用Counter怎么實現(xiàn):
from collections import Counter
fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']
c = Counter(fruits)
print(dict(c))
#{'apple': 2, 'peach': 3, 'lemon': 1}顯然代碼更加簡單了,也更容易閱讀和維護了。
elements()
返回一個迭代器,其中每個元素將重復(fù)出現(xiàn)計數(shù)值所指定次。元素會按首次出現(xiàn)的順序返回。如果一個元素的計數(shù)值小于1,elements()將會忽略它。
c = Counter(a=4, b=2, c=0, d=-2)
sorted(c.elements())
['a', 'a', 'a', 'a', 'b', 'b']most_common([n])
返回一個列表,其中包含n個最常見的元素及出現(xiàn)次數(shù),按常見程度由高到低排序。如果n被省略或為None,most_common()將返回計數(shù)器中的所有元素。計數(shù)值相等的元素按首次出現(xiàn)的順序排序:
Counter('abracadabra').most_common(3)
[('a', 5), ('b', 2), ('r', 2)]這兩個方法是Counter中最常用的方法,其他方法可以參考 python3.10.1官方文檔
實戰(zhàn)
Leetcode 1002.查找共用字符
給你一個字符串?dāng)?shù)組words,請你找出所有在words的每個字符串中都出現(xiàn)的共用字符(包括重復(fù)字符),并以數(shù)組形式返回。你可以按任意順序返回答案。
輸入:words = ["bella", "label", "roller"]
輸出:["e", "l", "l"]
輸入:words = ["cool", "lock", "cook"]
輸出:["c", "o"]看到統(tǒng)計字符,典型的可以用Counter完美解決。這道題是找出字符串列表里面每個元素都包含的字符,首先可以用Counter計算出每個元素每個字符出現(xiàn)的次數(shù),依次取交集最后得出所有元素共同存在的字符,然后利用elements輸出共用字符出現(xiàn)的次數(shù)
class Solution:
def commonChars(self, words: List[str]) - List[str]:
from collections import Counter
ans = Counter(words[0])
for i in words[1:]:
ans = Counter(i)
return list(ans.elements())提交一下,發(fā)現(xiàn)83個測試用例耗時48ms,速度還是不錯的
sorted
在處理數(shù)據(jù)過程中,我們經(jīng)常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時候就需要用到sorted(),它可以對任何可迭代對象進行排序,并返回列表
對列表升序操作:
a = sorted([2, 4, 3, 7, 1, 9])
print(a)
# 輸出:[1, 2, 3, 4, 7, 9]對元組倒序操作:
sorted((4,1,9,6),reverse=True)
print(a)
# 輸出:[9, 6, 4, 1]使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長度來排序:
fruits = ['apple', 'watermelon', 'pear', 'banana']
a = sorted(fruits, key = lambda x : len(x))
print(a)
# 輸出:['pear', 'apple', 'banana', 'watermelon']all
all() 函數(shù)用于判斷給定的可迭代參數(shù)iterable中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False外都算True。注意:空元組、空列表返回值為True。
all(['a', 'b', 'c', 'd']) # 列表list,元素都不為空或0
True
all(['a', 'b', '', 'd']) # 列表list,存在一個為空的元素
False
all([0, 1,2, 3]) # 列表list,存在一個為0的元素
False
all(('a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0
True
all(('a', 'b', '', 'd')) # 元組tuple,存在一個為空的元素
False
all((0, 1, 2, 3)) # 元組tuple,存在一個為0的元素
False
all([]) # 空列表
True
all(()) # 空元組
Trueany函數(shù)正好和all函數(shù)相反:判斷一個tuple或者list是否全為空,0,F(xiàn)alse。如果全為空,0,F(xiàn)alse,則返回False;如果不全為空,則返回True。
F-strings
在python3.6.2版本中,PEP 498提出一種新型字符串格式化機制,被稱為 “字符串插值” 或者更常見的一種稱呼是F-strings,F(xiàn)-strings提供了一種明確且方便的方式將python表達式嵌入到字符串中來進行格式化:
s1='Hello'
s2='World'
print(f'{s1} {s2}!')
# Hello World!在F-strings中我們也可以執(zhí)行函數(shù):
def power(x):
return x*x
x=4
print(f'{x} * {x} = {power(x)}')
# 4 * 4 = 16而且F-strings的運行速度很快,比傳統(tǒng)的%-string和str.format()這兩種格式化方法都快得多,書寫起來也更加簡單。
本文主要講解了python幾種冷門但好用的函數(shù),更多內(nèi)容以后會陸陸續(xù)續(xù)更新~
在開發(fā)中我們可以借助于相關(guān)插件或使用Python內(nèi)置函數(shù)"help()”來查看某個函數(shù)的參數(shù)說明,以查看內(nèi)置函數(shù)sorted()為例:
函數(shù)參數(shù)包括:必選參數(shù)、默認(rèn)參數(shù)、可選參數(shù)、關(guān)鍵字參數(shù)。
1、默認(rèn)參數(shù):放在必選參數(shù)之后,計算x平方的函數(shù):
這樣的話每次計算不同冪函數(shù)都要重寫函數(shù),非常麻煩,可使用以下代碼計算:
默認(rèn)參數(shù)最大好處就是降低調(diào)用函數(shù)的難度。
2、可變參數(shù):就是傳入的參數(shù)個數(shù)是可變的,可以是1個、2個到任意個,還可以是0個,在參數(shù)前面加上*就是可變參數(shù)。在函數(shù)內(nèi)部,參數(shù)numbers接收得到的是一個tuple,調(diào)用該函數(shù)時,可以傳入任意個參數(shù),包括0個參數(shù):
也可以類似可變參數(shù),先組裝一個dict,然后,把該dict轉(zhuǎn)換為關(guān)鍵字參數(shù)傳進去:
1、說明
可以使用find或者index來查詢字符串,可以使用replace函數(shù)來替換字符串。
2、示例
1)查詢
'abcdefg'.find('cde')
結(jié)果為2
'abcdefg'.find('acde')
結(jié)果為-1
'abcdefg'.index('cde')
結(jié)果為2
2)替換
'abcdefg'.replace('abc','cde')
結(jié)果為'cdedefg'
3、函數(shù)說明
1)find(...)
S.find(sub[, start[, end]]) - int
返回S中找到substring sub的最低索引,使得sub包含在S [start:end]中。 可選的 參數(shù)start和end解釋為切片表示法。
失敗時返回-1。
2)index(...)
S.index(sub[, start[, end]]) - int
與find函數(shù)類似,但是當(dāng)未找到子字符串時引發(fā)ValueError。
3)replace(...)
S.replace(old, new[, count]) - str
返回S的所有出現(xiàn)的子串的副本舊換新。 如果可選參數(shù)計數(shù)為給定,只有第一個計數(shù)出現(xiàn)被替換。
1. print()函數(shù):打印字符串
2. raw_input()函數(shù):從用戶鍵盤捕獲字符
3. len()函數(shù):計算字符長度
4. format(12.3654,'6.2f'/'0.3%')函數(shù):實現(xiàn)格式化輸出
5. type()函數(shù):查詢對象的類型
6. int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù)
7. id()函數(shù):獲取對象的內(nèi)存地址
8. help()函數(shù):Python的幫助函數(shù)
9. s.islower()函數(shù):判斷字符小寫
10. s.sppace()函數(shù):判斷是否為空格
11. str.replace()函數(shù):替換字符
12. import()函數(shù):引進庫
13. math.sin()函數(shù):sin()函數(shù)
14. math.pow()函數(shù):計算次方函數(shù)
15. 3**4: 3的4次方
16. pow(3,4)函數(shù):3的4次方
17. os.getcwd()函數(shù):獲取當(dāng)前工作目錄
18. listdir()函數(shù):顯示當(dāng)前目錄下的文件
19. socket.gethostbyname()函數(shù):獲得某主機的IP地址
20. urllib.urlopen(url).read():打開網(wǎng)絡(luò)內(nèi)容并存儲
21. open().write()函數(shù):寫入文件
22. webbrowser.open_new_tab()函數(shù):新建標(biāo)簽并使用瀏覽器打開指定的網(wǎng)頁
23. def function_name(parameters):自定義函數(shù)
24. time.sleep()函數(shù):停止一段時間
25. random.randint()函數(shù):產(chǎn)生隨機數(shù)
分享題目:python中的查詢函數(shù),python中如何查詢函數(shù)的用法
標(biāo)題URL:http://chinadenli.net/article6/dseghog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、品牌網(wǎng)站建設(shè)、定制開發(fā)、移動網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)