python內置
1. python基礎:內置函數、方法、轉義字元大全
在寫python程序時,常能用到一些函數和方法,總結一下,保存起來,方便查詢。
一、內置函數
# abs()獲取數字絕對值
# chr(i)數字轉換為字元類型
# divmod() 獲取兩個數值的商和余數
# enumerate() 將可遍歷序列組合為索引序列
# float()轉換為浮點數
# format() 格式化字元串
# int()轉換為整數
# input() 接受用戶輸入內容
# len() 計算元素個數
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定數值的上舍整數
# open()打開文件並返迴文件對象
# pow() 冪運算
# print()列印輸出
# range() 生成器
# reversed()反轉所有元素
# round()四捨五入求值
# sorted()對可迭代對象進行排序
# str() 轉換為字元串
# sum() 求和
# set() 創建集合
# tuple() 將序列轉換為元組
# zip()將可迭代對象打包成元組
二、方法
# append() 添加列表元素
# capitalize()首字母轉換為大寫
# count()字元出現次數
# close() 關閉文件
# decode() 解碼字元串
# dict.keys() 獲取字典所有的鍵
# find()字元串首次出現的索引
# f.read() 讀取文件內容
# dict.update()更新字典
# dict.items() 獲取字典鍵/值對
# dict.get() 返回指定鍵的值
# encode() 編碼字元串
# list.sort() 排序列表元素
# index() 元素首次出現的索引
# isdigit() 判斷字元串是否只由數字組成
# isupper() 是否所有字母都為大寫
# isnum() 判斷字元串是否由字母和數字組成
# islower() 是否所有字母都為小寫
# isdecimal() 檢查字元串是否只包含十進制字元
# isalpha() 檢測字元串是否為純字母
# random.shuffle()隨機排序
# random.sample()返回無重復隨機數列表
# random.choice() 返回一個隨機元素
# random.randint() 生成指定范圍的隨機整數
# random.randrange() 生成指定范圍的指定遞增基數隨機整數
# pop() 刪除列表中的元素
# remove()刪除列表中的指定元素
# strip()去除空格
# lstrip()去除左側空格
# rstrip() 去除右側空格
# readline() 讀取單行內容
# root.after() Tkinter中等待一段時間後再執行命令
# str.isnumeric() 驗證字元串是否為數字(適用於Unicode)
# split()分割字元串
# ord() 將字元轉換為整數
# replace() 字元串替換
# ljust() 左對齊填充
# rjust() 左對齊填充
# readlines() 讀取所有行內容
# datetime.datetime.now() 返回指定時區的本地日期時間
# datetime.datetime.today() 獲取當前本地日期的date對象
# datetime.utcnow() 返回當前UTC時間的datetime對象
# time.strptime()把時間字元串解析為元組
# time.time()返回當前時間的時間戳
# time.sleep()暫停指定秒數
# time.strftime() 返回指定格式的日期字元串
# time.mktime() 接收時間元組並返回時間戳
# os.getcwd() 獲取當前工作目錄
# os.listdir() 獲取指定路徑下的目錄和文件列表
# os.makedirs() 遞歸創建目錄
# os.rename() 重命名目錄或文件
# os.path.exists() 判斷路徑是否存在
# upper() 全部轉換為大寫字母
# lower() 全部轉換為小寫字母
# sys.stdout.write() 標准輸出列印
# sys.stdout.flush()刷新輸出
# shutil.() 復制單個文件到另一文件或目錄
# write() 寫入文件內容
# winsound.Beep() 打開電腦揚聲器
# zfill() 在字元串前面填充0
三、循環語句
# break終止當前循環
# continue 終止本循環進入下一次循環
# with open() as file 以with語句打開文件(數據保存)
四、轉義字元
\ 行尾續行符
\' 單引號
\'' 雙引號
\a 響鈴
\e 轉義
\n 換行
\t 橫向製表符
\f 換頁
\xyy 十六進制yy代表的字元
\\反斜杠符號
\b 退格
\000 空
\v 縱向製表符
\r 回車
\0yy 八進制yy代表的字元
\other 其他的字元以普通格式輸出
2. Python 幾個重要的內置函數
在學習Python的過程中,有幾個比較重要的內置函數:help()函數、dir()函數、input()與raw_input()函數、print()函數、type()函數。
第一、help()函數
Help()函數的參數分為兩種:如果傳一個字元串做參數的話,它會自動搜索以這個字元串命名的模塊、方法等;如果傳入的是一個對象,就會顯示這個對象的類型的幫助。比如輸入help(『print』),它就會尋找以『print』為名的模塊、類等,找不到就會看到提示信息;而print在Python里是一個保留字,和pass、return同等,而非對象,所以help(print)也會報錯。
第二、dir()函數
dir()函數返回任意對象的屬性和方法列表,包含模塊對象、函數對象、字元串對象、列表對象、字典對象等。盡管查找和導入模塊相對容易,但是記住每個模塊包含什麼卻不是這么簡單,您並不希望總是必須查看源代碼來找出答案。Python提供了一種方法,可以使用內置的dir()函數來檢查模塊的內容,當你為dir()提供一個模塊名的時候,它返回模塊定義的屬性列表。dir()函數適用於所有對象的類型,包含字元串、整數、列表、元組、字典、函數、定製類、類實例和類方法。
第三、input與raw_input函數
都是用於讀取用戶輸入的,不同的是input()函數期望用戶輸入的是一個有效的表達式,而raw_input()函數是將用戶的輸入包裝成一個字元串。
第四、Print()函數
Print在Python3版本之間是作為Python語句使用的,在Python3里print是作為函數使用的。
第五、type()函數
Type()函數返回任意對象的數據類型。在types模塊中列出了可能的數據類型,這對於處理多種數據類型的函數非常有用,它通過返回類型對象來做到這一點,可以將這個類型對象與types模塊中定義類型相比較。
3. 二級Python----Python的內置函數及標准庫(DAY 8)
python的內置函數(68個)
Python考核31個內置函數,
python內置了很多內置函數、類方法屬性及各種模塊。當我們想要當我們想要了解某種類型有哪些屬性方法以及每種方法該怎麼使用時,我們可以使用dir()函數和help()函數在python idle互動式模式下獲得我們想要的信息。
• dir()函數獲得對象中可用屬性的列表
Python中的關鍵詞有哪些?
dir(__builtins__):查看python內置函數
help(『keywords『):查看python關鍵詞
如微分積分方程的求解程序、訪問互聯網、獲取日期和時間、機器學習演算法等。這些程序往往被收入程序庫中,構成程序庫。
只有經過嚴格檢驗的程序才能放在程序庫里。檢驗,就是對程序作充分的測試。通常進行的有正確性測試、精度測試、速度測試、邊界條件和出錯狀態的測試。經過檢驗的程序不但能保證計算結果的正確性,而且對錯誤調用也能作出反應。程序庫中的程序都是規范化的。所謂規范化有三重含義:①同一庫里所有程序的格式是統一的;② 對這些程序的調用方法是相同的;③ 每個程序所需參數的數目、順序和類型都是嚴格規定好的。
Python的庫包含標准庫和第三方庫
標准庫:程序語言自身擁有的庫,可以直接使用。help('moles')
第三方庫:第三方者使用該語言提供的程序庫。
標准庫: turtle 庫(必選)、 random 庫(必選)、 time 庫(可選)。
• turtle 庫:圖形繪制庫
原理如同控制一隻海龜,以不同的方向和速度進行位移而得到其運動軌跡。
使用模塊的幫助時,需要先將模塊導入。
例如:在IDLE中輸入import turtle
dir(turtle)
help(turtle.**)
1.畫布
畫布就是turtle為我們展開用於繪圖區域, 我們可以設置它的大小和初始位置。
setup()方法用於初始化畫布窗口大小和位置,參數包括畫布窗口寬、畫布窗口高、窗口在屏幕的水平起始位置和窗口在屏幕的垂直起始位置。
參數:width, height: 輸入寬和高為整數時,表示 像素 ;為小數時,表示占據電腦屏幕的比例。(startx,starty):這一坐標表示
矩形窗口左上角頂點的位置,如果為空,則窗口位於屏幕中心:
例如:setup(640,480,300,300)表示在桌面屏幕(300,300)位置開始創建640×480大小的畫布窗體。
2、畫筆
• color() 用於設置或返回畫筆顏色和填充顏色。
例如:color(『red』)將顏色設為紅色,也可用fillcolor()方法設置或返回填充顏色,或用pencolor()方法設置或返回筆觸顏色。
4. Python中冷門但非常好用的內置函數
Python中有許多內置函數,不像print、len那麼廣為人知,但它們的功能卻異常強大,用好了可以大大提高代碼效率,同時提升代碼的簡潔度,增強可閱讀性
Counter
collections在python官方文檔中的解釋是High-performance container datatypes,直接的中文翻譯解釋高性能容量數據類型。這個模塊實現了特定目標的容器,以提供Python標准內建容器 dict , list , set , 和 tuple 的替代選擇。在python3.10.1中它總共包含以下幾種數據類型:
容器名簡介
namedtuple() 創建命名元組子類的工廠函數
deque 類似列表(list)的容器,實現了在兩端快速添加(append)和彈出(pop)
ChainMap 類似字典(dict)的容器類,將多個映射集合到一個視圖裡面
Counter 字典的子類,提供了可哈希對象的計數功能
OrderedDict 字典的子類,保存了他們被添加的順序
defaultdict 字典的子類,提供了一個工廠函數,為字典查詢提供一個默認值
UserDict 封裝了字典對象,簡化了字典子類化
UserList 封裝了列表對象,簡化了列表子類化
UserString 封裝了字元串對象,簡化了字元串子類化
其中Counter中文意思是計數器,也就是我們常用於統計的一種數據類型,在使用Counter之後可以讓我們的代碼更加簡單易讀。Counter類繼承dict類,所以它能使用dict類裡面的方法
舉例
#統計詞頻
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怎麼實現:
from collections import Counter
fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']
c = Counter(fruits)
print(dict(c))
#{'apple': 2, 'peach': 3, 'lemon': 1}顯然代碼更加簡單了,也更容易閱讀和維護了。
elements()
返回一個迭代器,其中每個元素將重復出現計數值所指定次。元素會按首次出現的順序返回。如果一個元素的計數值小於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個最常見的元素及出現次數,按常見程度由高到低排序。如果n被省略或為None,most_common()將返回計數器中的所有元素。計數值相等的元素按首次出現的順序排序:
>>> Counter('abracadabra').most_common(3)
[('a', 5), ('b', 2), ('r', 2)]這兩個方法是Counter中最常用的方法,其他方法可以參考 python3.10.1官方文檔
實戰
Leetcode 1002.查找共用字元
給你一個字元串數組words,請你找出所有在words的每個字元串中都出現的共用字元(包括重復字元),並以數組形式返回。你可以按任意順序返回答案。
輸入:words = ["bella", "label", "roller"]
輸出:["e", "l", "l"]
輸入:words = ["cool", "lock", "cook"]
輸出:["c", "o"]看到統計字元,典型的可以用Counter完美解決。這道題是找出字元串列表裡面每個元素都包含的字元,首先可以用Counter計算出每個元素每個字元出現的次數,依次取交集最後得出所有元素共同存在的字元,然後利用elements輸出共用字元出現的次數
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())提交一下,發現83個測試用例耗時48ms,速度還是不錯的
sorted
在處理數據過程中,我們經常會用到排序操作,比如將列表、字典、元組裡面的元素正/倒排序。這時候就需要用到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]使用參數:key,根據自定義規則,按字元串長度來排序:
fruits = ['apple', 'watermelon', 'pear', 'banana']
a = sorted(fruits, key = lambda x : len(x))
print(a)
# 輸出:['pear', 'apple', 'banana', 'watermelon']all
all() 函數用於判斷給定的可迭代參數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函數正好和all函數相反:判斷一個tuple或者list是否全為空,0,False。如果全為空,0,False,則返回False;如果不全為空,則返回True。
F-strings
在python3.6.2版本中,PEP 498提出一種新型字元串格式化機制,被稱為 「字元串插值」 或者更常見的一種稱呼是F-strings,F-strings提供了一種明確且方便的方式將python表達式嵌入到字元串中來進行格式化:
s1='Hello'
s2='World'
print(f'{s1} {s2}!')
# Hello World!在F-strings中我們也可以執行函數:
def power(x):
return x*x
x=4
print(f'{x} * {x} = {power(x)}')
# 4 * 4 = 16而且F-strings的運行速度很快,比傳統的%-string和str.format()這兩種格式化方法都快得多,書寫起來也更加簡單。
本文主要講解了python幾種冷門但好用的函數,更多內容以後會陸陸續續更新~
5. python有多少內置函數
Python內置函數有很多,為大家推薦5個神仙級的內置函數:
(1)Lambda函數
用於創建匿名函數,即沒有名稱的函數。它只是一個表達式,函數體比def簡單很多。當我們需要創建一個函數來執行單個操作並且可以在一行中編寫時,就可以用到匿名函數了。
Lamdba的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
利用Lamdba函數,往往可以將代碼簡化許多。
(2)Map函數
會將一個函數映射到一個輸入列表的所有元素上,比如我們先創建了一個函數來返回一個大寫的輸入單詞,然後將此函數應有到列表colors中的所有元素。
我們還可以使用匿名函數lamdba來配合map函數,這樣可以更加精簡。
(3)Rece函數
當需要對一個列表進行一些計算並返回結果時,rece()是個非常有用的函數。舉個例子,當需要計算一個整數列表所有元素的乘積時,即可使用rece函數實現。
它與函數的最大的區別就是,rece()里的映射函數(function)接收兩個參數,而map接收一個參數。
(4)enumerate函數
用於將一個可遍歷的數據對象(如列表、元組或字元串)組合為一個索引序列,同時列出數據和數據下標,一般用在for循環當中。
它的兩個參數,一個是序列、迭代器或其他支持迭代對象;另一個是下標起始位置,默認情況從0開始,也可以自定義計數器的起始編號。
(5)Zip函數
用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表
當我們使用zip()函數時,如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同。
6. 68 個 Python 內置函數詳解
內置函數就是Python給你提供的,拿來直接用的函數,比如print.,input等。
截止到python版本3.6.2 ,python一共提供了68個內置函數,具體如下
本文將這68個內置函數綜合整理為12大類,正在學習Python基礎的讀者一定不要錯過,建議收藏學習!
(1)列表和元組
(2)相關內置函數
(3)字元串
frozenset 創建一個凍結的集合,凍結的集合不能進行添加和刪除操作。
語法:sorted(Iterable, key=函數(排序規則), reverse=False)
語法:fiter(function. Iterable)
function: 用來篩選的函數. 在filter中會自動的把iterable中的元素傳遞給function. 然後根據function返回的True或者False來判斷是否保留留此項數據 , Iterable: 可迭代對象
搜索公眾號頂級架構師後台回復「面試」,送你一份驚喜禮包。
語法 : map(function, iterable)
可以對可迭代對象中的每一個元素進行映射. 分別去執行 function
hash : 獲取到對象的哈希值(int, str, bool, tuple). hash演算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空間換的時間 比較耗費內存