日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

玩转Python? 一文总结30种Python的窍门和技巧!

發布時間:2025/3/8 python 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转Python? 一文总结30种Python的窍门和技巧! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python作為2019年必備語言之一,展現了不可替代作用。對于所有的數據科學工作者,如何提高使用Python的效率,這里,總結了30種Python的最佳實踐、技巧和竅門。希望這些可以幫助大家在2020年提高工作的效率,并且在此過程中學習到一些有用的東西。

1. 使用Python 3

Python官方宣布:從2020年1月1日起,正式不支持Python 2。本文有一堆的例子,只能在Python 3工作。如果你的版本還是Python 2.7版,趕緊升級到Python 3.x吧。

2.檢查所需的最低Python版本

大家可以在代碼中檢查Python版本,以確保沒有使用不兼容的版本運行腳本。使用以下簡單檢查:

import sys # 檢查python版本,如果是低于3.5就退出程序 def check_version():v = sys.version_info# print(v) # sys.version_info(major=3, minor=6, micro=5, releaselevel='final', serial=0)if v.major == 3 and v.minor >= 5:returnprint('Your current python is %d.%d. Please use Python 3.6.' % (v.major, v.minor))exit(1)

3.使用IPython

IPython是一個增強的shell工具。可以進行代碼自動補全,其實還有很多命令,我也喜歡內置的所有magic命令。比如:

  • %cd —更改當前工作目錄

  • %edit —打開編輯器并在關閉編輯器后執行鍵入的代碼

  • %env —顯示當前環境變量

  • %pip install [pkgs] —在不離開交互式shell的情況下安裝軟件包

  • %time和%timeit—定時執行Python代碼

另一個有用的功能是引用先前命令的輸出。輸入和輸出是實際對象。你可以通過使用Out[3]來使用第三個命令的輸出。

使用以下命令安裝IPython:

pip3 install ipython

4.列表(list)理解

列表(list)理解可以代替丑陋的for循環來填充列表。列表理解的基本語法為:[ expression for item in list if conditional ]

一個非常簡單的示例,用數字序列填充列表:

[i for i in range(10)]

并且因為可以使用表達式,所以還可以進行一些數學運算,甚至調用外部函數。

最后,你可以使用if篩選列表。在這種情況下,我們僅保留可被2整除的值:

[i for i in range(10) if i%2==0]

5.檢查對象的內存使用情況

使用sys.getsizeof(),你可以檢查對象的內存使用情況。

6.返回多個值

Python中的函數可以返回多個變量,而無需字典,列表或類。

對于有限數量的返回值,這是可以的。但是超過3個值的任何內容都應放入類中。

7.使用data類

從Python 3.7版開始,Python提供data類。與常規類或其他替代方法(如返回多個值或字典)相比,它具有多個優點:

  • 數據類需要最少的代碼

  • 你可以比較data類,因為它__eq__已為您實現

  • 你也可以輕松打印數據類以進行調試,因為它__repr__也已實現

  • data類需要類型提示,從而減少了發生錯誤的機會

8.就地變量交換

一項巧妙的小技巧,可以節省幾行代碼。

a,b = b,a

9.合并字典(Python 3.5+)

從Python 3.5開始,合并字典變得更加容易:

如果鍵(key)重疊,則第一個詞典中的鍵(key)將被覆蓋。

10.首字母大小寫

使用capitalize()函數將字符串的首字母轉為大寫,其余變為小寫。

"welcome".capitalize()

11.將字符串拆分為列表

你可以將字符串拆分為字符串列表。在這種情況下,我們分割空格字符:

list("welcome")

12.從字符串列表創建一個字符串

反之亦然,從上一個技巧開始,從列表中創建一個字符串,并在每個單詞之間添加一個空格字符:

" ".join(['2','0','2','0'])

13.表情符號

這將使人印象深刻或被排斥,這取決于誰在尋找。更嚴重的是,這可以派上用場,尤其是在分析社交媒體數據時。

首先,安裝表情符號模塊:

pip3 install emoji

安裝此程序后,您可以執行以下操作:

訪問emoji庫頁面(https://pypi.org/project/emoji/)以獲取更多示例和文檔。

14.列表(list)切片

列表切片的基本語法是:a[start:stop:step]

start,stop和step是可選的。如果不填寫,則默認為:

  • 0為 start

  • 字符串的結尾 end

  • step默認為1

這里有些例子:

a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] a[2:5:2]

15.反轉字符串和列表

你可以從上方使用切片符號來反轉字符串或列表。通過使用step=-1,將元素反轉:

a[::-1]

16.展示小貓

我終于找到了一個很好的借口,可以在其中一篇文章中展示小貓了!但是,可能會使用它來顯示圖形等。首先,安裝Pillow(https://pypi.org/project/Pillow/),它是Python圖像庫的一個分支:

pip3 install Pillow

現在,將該圖像下載到一個名為“ kitchess.jpg”的文件中:

你可以直接從IPython進行操作:

Pillow不僅可以顯示圖像,還可以做更多的事情。它可以分析,調整大小,過濾,增強,變形等。有關所有功能,請參閱文檔(https://pillow.readthedocs.io/en/stable/)。

17.使用map()

Python的內置函數之一稱為map()。map()的語法為:

map(function, something_iterable)

因此,你給它提供了要執行的功能以及要執行的某些功能。這可以是任何可迭代的事情。在下面的示例中,我將使用一個列表a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]。

list(map(lambda x: x+1,a))

看一下自己的代碼,看看是否可以map()在某處使用而不是循環!

18.從列表或字符串中獲取唯一元素

通過使用set()函數創建一個集合,你可以從列表或類似列表的對象中a=[1,1,2,3,4,4]獲取所有唯一元素。

set(a)

19.查找最常出現的值

要在列表或字符串中查找最頻繁出現的值:

test=[1,1,2,3,4,4,4,4]

您知道這為何有效嗎?在繼續閱讀之前,請先自己弄清楚。您沒有嘗試,對嗎?無論如何,我會告訴你:

  • max()將返回列表中的最大值。該key參數采用單個參數函數來自定義排序順序,在本例中為test.count。該函數應用于迭代器上的每個項目。

  • test.count是list的內置函數。它接受一個參數,并將計算該參數的出現次數。因此test.count(1)將返回2,test.count(4)返回4。

  • set(test) 返回測試的所有唯一值,因此{1、2、3、4} 因此,我們在單行代碼中所做的就是獲取test的所有唯一值,即{1, 2, 3, 4}。接下來,max將list.count函數應用到它們并返回最大值。

20.創建一個進度條

你可以創建自己的進度條,這很有趣。但是使用進度包更快:

pip3 install progress

現在,你可以輕松創建進度條。

以下動畫演示了所有可用的進度類型(動畫顯示可查看官網):

21.在交互式shell使用_

你可以使用下劃線運算符獲取最后一個表達式的結果,例如在IPython中,它看起來像:

In [1]: 3 * 3 Out[1]: 9 In [2]: _ + 3 Out[2]: 12

這也可以在Python Shell中使用。此外,IPython shell允許使用Out[n]來獲得表達式在In [n]中的值例如,Out[1]在上面的示例中,_可以得到數字9。

22.快速創建Web服務器

你可以快速啟動Web服務器,以提供當前目錄的內容:

python3 -m http.server

如果你想與同事共享一些東西或想要測試一個簡單的HTML網站,這將很有用。

23.多行字符串

盡管可以在代碼中使用三引號將多行字符串包括在內,但這并不理想。放在三引號之間的所有內容都將成為字符串,包括格式,如下所示。我更喜歡第二種方法,該方法將多行連接在一起,可以很好地格式化代碼。唯一的缺點是你需要顯式添加換行符。

24.三元運算符,用于條件賦值

這是使代碼更簡潔同時又保持可讀性的另一種方法:

[on_true] if [expression] else [on_false]

舉個例子:

x = "Success!" if (y == 2) else "Failed!"

25.計數

您可以使用集合庫中的Counter來獲取包含列表中所有唯一元素計數的字典:

from collections import Counter a=[1, 1, 2, 3, 4, 4] Counter(a)

26.比較運算符的鏈接

您可以在Python中鏈接比較運算符,以創建更易讀和簡潔的代碼:

27.添加一些顏色

使用Colorama(https://pypi.org/project/colorama/),你可以為終端添加一些顏色。

28.處理日期

python-dateutil模塊(https://pypi.org/project/python-dateutil/)提供了對標準datetime模塊的強大擴展。通過以下方式安裝:

pip3 install python-dateutil

你可以用這個庫做很多很酷的事情。我將把示例限制在我認為特別有用的一個:日志文件中日期的模糊解析等。

只需記住:常規的Python日期時間功能在哪里結束,python-dateutil就出現了!

29.整數除法

在Python 2中,除法運算符(/)默認為整數除法,除非操作數之一是浮點數。因此,你有以下行為:

#Python 2 5/2 = 2 5 / 2.0 = 2.5

在Python 3中,除法運算符默認為浮點除法,并且//運算符已成為整數除法。這樣我們得到:

#Python 3 5/2 = 2.5 5 // 2 = 2

有關此更改背后的全部動機,您應該閱讀PEP-0238(https://www.python.org/dev/peps/pep-0238/)。

30.使用chardet進行字符集檢測

您可以使用chardet模塊來檢測文件的字符集。在分析大量隨機文本時,這很有用。安裝方式:

pip install chardet

現在你有了一個名為chardetect的額外命令行工具,它可以像這樣使用

chardetect somefile.txt somefile.txt: ascii with confidence 1.0

你還可以通過編程方式使用該庫,請查閱docs(https://chardet.readthedocs.io/en/latest/usage.html)。

新的一年開始的30條Python技巧和竅門。我希望大家喜歡它們。如果有任何問題,請隨時發表評論!

參考:?https://towardsdatascience.com/30-python-best-practices-tips-and-tricks-caefb9f8c5f5

備注:公眾號菜單包含了整理了一本AI小抄非常適合在通勤路上用學習

往期精彩回顧2019年公眾號文章精選適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(第一部分)備注:加入本站微信群或者qq群,請回復“加群”加入知識星球(4500+用戶,ID:92416895),請回復“知識星球”

喜歡文章,點個在看

總結

以上是生活随笔為你收集整理的玩转Python? 一文总结30种Python的窍门和技巧!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区欧美在线观看 | av桃色| 国产香蕉视频在线 | 亚洲国产日韩一区无码精品久久久 | 无套暴操 | 日本人妻不卡一区二区三区中文字幕 | 黄色污污网站 | 男人插女人下面视频 | 中文字幕一区二区三区日韩精品 | 亚洲骚| 中文字幕成人动漫 | 日本欧美成人 | 精品国产色 | 国产污视频在线播放 | 国产极品美女高潮无套嗷嗷叫酒店 | 欧美午夜精品一区二区蜜桃 | 黄色免费91 | 欧美爽妇 | 亚洲奶汁xxxx哺乳期 | 国产成人无码精品久在线观看 | www.中文字幕 | 人人爽人人做 | 在线观看日批 | 中文字幕在线免费 | 亚洲激情视频 | 久久妇女 | 久久久久久爱 | 新av在线| 日日拍夜夜拍 | 欧美一区二区三区久久精品 | 天堂网av中文字幕 | 欧美高清性xxxxhdvideosex | 久久露脸国语精品国产91 | 精品国产免费av | 婷婷爱爱| 九草在线视频 | 久久伊人操 | 天天干天天操天天 | 久久99精品久久久水蜜桃 | 国产成人精品a视频一区 | 久久夜精| 午夜免费视频观看 | 久久超碰在线 | 黄色高潮 | 人人妻人人澡人人爽精品欧美一区 | 3d动漫精品啪啪一区二区三区免费 | 激情六月婷婷 | av无码一区二区三区 | 国产精品无码免费在线观看 | 麻豆精品免费视频 | 37p粉嫩大胆色噜噜噜 | 亚洲精品偷拍视频 | 成人自拍av | 日本黄色不卡视频 | 午夜国产视频 | 国产精品久久午夜夜伦鲁鲁 | 日本在线免费观看 | 国产麻豆剧传媒精品国产av | 国产精品污www一区二区三区 | 女人被狂躁c到高潮喷水电影 | 88国产精品 | 特黄做受又粗又大又硬老头 | 黄色永久网站 | 午夜专区 | a天堂视频在线观看 | h片免费观看 | 日韩在观看线 | 成人在线观看a | 九九热视频在线播放 | 日韩精品网站 | 日本黄色一区二区三区 | 亚洲成人精品一区 | 91视频免费看 | 日韩高清国产一区在线 | 免费在线毛片 | 亚洲性久久 | 欧美不卡在线视频 | 婷婷在线观看视频 | 精品96久久久久久中文字幕无 | 美日韩黄色 | 99插插插 | 日本一卡二卡在线 | 婷婷综合激情网 | 三级全黄的视频 | 超鹏在线视频 | 国产午夜精品一区二区 | 欧美激情爱爱 | 黄色网址www | 久久久精品久久久久久 | 国内自拍偷拍网 | 国产精品免费精品一区 | 关秀媚三级 | 女人脱下裤子让男人捅 | 日韩女优一区 | 91中文 | 色噜噜综合网 | 精品自拍视频 | 日韩中文娱乐网 | 高清一区二区三区四区五区 |