亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

分享15 超級(jí)好用得 Python 實(shí)用技巧

 更新時(shí)間:2021年12月21日 11:31:34   作者:遲業(yè)  
這篇文章主要分享了15 超級(jí)好用得 Python 實(shí)用技巧,如果你對(duì)其中一個(gè)或多個(gè)感興趣,可以參考一下,希望對(duì)你能有所幫助

01 all or any

Python 語言如此流行的眾多原因之一,是因?yàn)樗哂泻芎玫目勺x性和表現(xiàn)力。

人們經(jīng)常開玩笑說 Python 是可執(zhí)行的偽代碼。當(dāng)你可以像這樣寫代碼時(shí),就很難反駁。

x = [True, True, False]
if any(x):
    print("至少有一個(gè)True")
if all(x):
    print("全是True")
if any(x) and not all(x):
    print("至少一個(gè)True和一個(gè)False")


02 dir

有沒有想過如何查看 Python 對(duì)象內(nèi)部查看它具有哪些屬性?

在命令行中輸入:

dir() 
dir("Hello World") 
dir(dir)


當(dāng)以交互方式運(yùn)行 Python 以及動(dòng)態(tài)探索你正在使用的對(duì)象和模塊時(shí),這可能是一個(gè)非常有用的功能。在這里閱讀更多functions相關(guān)內(nèi)容。

03 列表(list)推導(dǎo)式

關(guān)于 Python 編程,我最喜歡的事情之一是它的列表推導(dǎo)式。

這些表達(dá)式可以很容易地編寫出非常順暢的代碼,幾乎與自然語言一樣。

numbers = [1,2,3,4,5,6,7]
evens = [x for x in numbers if x % 2 is 0]
odds = [y for y in numbers if y not in evens]
cities = ['London', 'Dublin', 'Oslo']

def visit(city):
    print("Welcome to "+city)
    
for city in cities:
    visit(city)


04 pprint

Python 的默認(rèn)print函數(shù)完成了它的工作。但是如果嘗試使用print函數(shù)打印出任何大的嵌套對(duì)象,其結(jié)果相當(dāng)難看。這個(gè)標(biāo)準(zhǔn)庫的漂亮打印模塊pprint可以以易于閱讀的格式打印出復(fù)雜的結(jié)構(gòu)化對(duì)象。

這算是任何使用非平凡數(shù)據(jù)結(jié)構(gòu)的 Python 開發(fā)人員的必備品。

import requests
import pprint
url = 'https://randomuser.me/api/?results=1'
users = requests.get(url).json()
pprint.pprint(users)


05 repr

Python 中定義類或?qū)ο髸r(shí),提供一種將該對(duì)象表示為字符串的“官方”方式很有用。

例如:

>>> file = open('file.txt', 'r') 
>>> print(file) 
<open file 'file.txt', mode 'r' at 0x10d30aaf0>


這使得調(diào)試代碼更加容易。將其添加到你的類定義中,如下所示:

class someClass: 
    def __repr__(self): 
        return "<some description here>"
someInstance = someClass()
# 打印 <some description here>
print(someInstance)


06 sh

Python 是一種很棒的腳本語言。有時(shí)使用標(biāo)準(zhǔn)的 os 和 subprocess 庫克可能有點(diǎn)頭疼。

該SH庫讓你可以像調(diào)用普通函數(shù)一樣調(diào)用任何程序——對(duì)于自動(dòng)化工作流和任務(wù)非常有用。

import sh
sh.pwd()
sh.mkdir('new_folder')
sh.touch('new_file.txt')
sh.whoami()
sh.echo('This is great!')


07 Type hints

Python 是一種動(dòng)態(tài)類型的語言。定義變量、函數(shù)、類等時(shí)不需要指定數(shù)據(jù)類型。這允許快速的開發(fā)時(shí)間。但是,沒有什么比由簡(jiǎn)單地輸入問題引起的運(yùn)行時(shí)錯(cuò)誤更煩人的了。

Python 3.5開始,你可以選擇在定義函數(shù)時(shí)提供類型提示。

def addTwo(x : Int) -> Int:
    return x + 2


我們還可以定義類型別名。

from typing import List
Vector = List[float]
Matrix = List[Vector]
def addMatrix(a : Matrix, b : Matrix) -> Matrix:
  result = []
  for i,row in enumerate(a):
    result_row =[]
    for j, col in enumerate(row):
      result_row += [a[i][j] + b[i][j]]
    result += [result_row]
  return result
x = [[1.0, 0.0], [0.0, 1.0]]
y = [[2.0, 1.0], [0.0, -2.0]]
z = addMatrix(x, y)


盡管不是強(qiáng)制性的,但類型注釋可以使你的代碼更易于理解。

它們還允許你使用類型檢查工具,在運(yùn)行前捕獲那些雜散的 TypeError。如果你正在處理大型、復(fù)雜的項(xiàng)目,這是很有用的!

08 uuid

通過Python 標(biāo)準(zhǔn)庫的 uuid 模塊生成通用唯一 ID(或“UUID”)的一種快速簡(jiǎn)便的方法。

import uuid
user_id = uuid.uuid4()
print(user_id)


這將創(chuàng)建一個(gè)隨機(jī)的 128 位數(shù)字,該數(shù)字幾乎肯定是唯一的。事實(shí)上,可以生成超過 2122 種可能的 UUID。不過超過了五個(gè)十進(jìn)制 (或 5,000,000,000,000,000,000,000,000,000,000,000,000)。

在給定的集合中發(fā)現(xiàn)重復(fù)的概率極低。即使有一萬億個(gè) UUID,重復(fù)存在的可能性也遠(yuǎn)低于十億分之一。

09 wikipedia

維基百科有一個(gè)很棒的 API,它允許用戶以編程方式訪問無與倫比的完全免費(fèi)的知識(shí)和信息。在wikipedia模塊使訪問該API非常方便。

import wikipedia
result = wikipedia.page('freeCodeCamp')
print(result.summary)
for link in result.links:
    print(link)


和真實(shí)站點(diǎn)一樣,該模塊提供了多語言支持、頁面消歧、隨機(jī)頁面檢索,甚至還有一個(gè)donate()方法。

10 xkcd

幽默是 Python 語言的一個(gè)關(guān)鍵特征,它是以英國喜劇小品劇Python飛行馬戲團(tuán)命名的。Python 的許多官方文檔都引用了該節(jié)目最著名的草圖。不過,Python 幽默并不僅限于文檔。試試運(yùn)行下面的功能:

import antigravity


11 zip

壓軸出場(chǎng)的也是很棒的一個(gè)模塊。你曾經(jīng)遇到過需要從兩個(gè)列表中形成字典嗎?

keys = ['a', 'b', 'c']
vals = [1, 2, 3]
zipped = dict(zip(keys, vals))


該zip()內(nèi)置函數(shù)需要一系列可迭代的對(duì)象,并返回一個(gè)元組列表中。每個(gè)元組按位置索引對(duì)輸入對(duì)象的元素進(jìn)行分組。

你還可以通過調(diào)用對(duì)象來“解壓縮”對(duì)象*zip()。

12 emoji

emoji是日本在無線通信中所使用的視覺情感符號(hào),繪制圖畫,文字指的則是字符,可用來代表多種表情,如笑臉表示笑、蛋糕表示食物等。在中國大陸,emoji通常叫做“小黃臉”,或者直稱emoji

# 安裝模塊
pip install emoji
# 做個(gè)嘗試
from emoji import emojize
print(emojize(":thumbs_up:"))


13 howdoi

當(dāng)你使用terminal終端編程時(shí),通過在遇到問題后會(huì)在StackOverflow上搜索答案,完后會(huì)回到終端繼續(xù)編程,此時(shí)有時(shí)會(huì)不記得你之前查到的解決方案,此時(shí)需要重新查看StackOverflow,但又不想離開終端,那么此時(shí)你需要用到這個(gè)有用的命令行工具howdoi。

pip install howdoi


無論你有什么問題,都可以問它,它會(huì)盡力回復(fù)。

howdoi vertical align css
howdoi for loop in java
howdoi undo commits in git


但請(qǐng)注意——它會(huì)重生 StackOverflow 的最佳答案中抓取代碼。它可能并不總是提供最有用的信息......

howdoi exit vim


14 Jedi

Jedi 庫是一個(gè)自動(dòng)完成和代碼分析庫。它使編寫代碼更快、更高效。

除非你正在開發(fā)自己的東西 IDE,否則你可能對(duì)使用Jedi 作為編輯器插件比較感興趣。幸運(yùn)的是,這已經(jīng)有可用的負(fù)載!

15 **kwargs

在學(xué)習(xí)任何語言時(shí),都會(huì)有許多里程碑。使用 Python 并理解神秘的**kwargs語法可能算作一個(gè)重要的里程碑。

字典對(duì)象前面的雙星號(hào) ****kwargs**允許你將該字典的內(nèi)容作為命名參數(shù)傳遞給函數(shù)。

字典的關(guān)鍵是參數(shù)名稱,值是傳遞給函數(shù)的值。你甚至不需要調(diào)用它kwargs!

dictionary = {"a": 1, "b": 2}
def someFunction(a, b):
    print(a + b)
    return
# 這些做同樣的事情:
someFunction(**dictionary)
someFunction(a=1, b=2)


當(dāng)你想編寫可以處理未預(yù)先定義的命名參數(shù)的函數(shù)時(shí),這很有用。

最后:

Python 是一種非常多樣化且發(fā)展良好的語言,因此肯定會(huì)有許多我沒有考慮過的功能。如果你想了解更多的python模塊,可以點(diǎn)個(gè)贊和關(guān)注哦

到此這篇關(guān)于分享15 超級(jí)好用得 Python 實(shí)用技巧的文章就介紹到這了,更多相關(guān) Python 實(shí)用技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python TCP Socket的粘包和分包的處理詳解

    python TCP Socket的粘包和分包的處理詳解

    這篇文章主要介紹了python TCP Socket的粘包和分包的處理詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 從運(yùn)行效率與開發(fā)效率比較Python和C++

    從運(yùn)行效率與開發(fā)效率比較Python和C++

    今天小編就為大家分享一篇關(guān)于從運(yùn)行效率與開發(fā)效率比較Python和C++,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 使用Python寫一個(gè)貪吃蛇游戲?qū)嵗a

    使用Python寫一個(gè)貪吃蛇游戲?qū)嵗a

    這篇文章主要介紹了使用Python寫一個(gè)貪吃蛇游戲?qū)嵗a,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-08-08
  • Python的類成員變量默認(rèn)初始值的坑及解決

    Python的類成員變量默認(rèn)初始值的坑及解決

    這篇文章主要介紹了Python的類成員變量默認(rèn)初始值的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • python實(shí)現(xiàn)簡(jiǎn)單的TCP代理服務(wù)器

    python實(shí)現(xiàn)簡(jiǎn)單的TCP代理服務(wù)器

    這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單的TCP代理服務(wù)器,包含了完整的實(shí)現(xiàn)過程及對(duì)應(yīng)的源碼與說明文檔下載,非常具有參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • 詳解Python3遷移接口變化采坑記

    詳解Python3遷移接口變化采坑記

    這篇文章主要介紹了詳解Python3遷移接口變化采坑記,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python實(shí)現(xiàn)for循環(huán)倒序遍歷列表

    Python實(shí)現(xiàn)for循環(huán)倒序遍歷列表

    這篇文章主要介紹了Python實(shí)現(xiàn)for循環(huán)倒序遍歷列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python人工智能深度學(xué)習(xí)算法優(yōu)化

    python人工智能深度學(xué)習(xí)算法優(yōu)化

    這篇文章主要為大家介紹了python人工智能深度學(xué)習(xí)關(guān)于算法優(yōu)化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Python排序算法之插入排序及其優(yōu)化方案詳解

    Python排序算法之插入排序及其優(yōu)化方案詳解

    今天給大家?guī)淼奈恼率顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著Python插入排序及其優(yōu)化方案展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Pytorch中torch.stack()函數(shù)的深入解析

    Pytorch中torch.stack()函數(shù)的深入解析

    在pytorch中常見的拼接函數(shù)主要是兩個(gè),分別是:stack()和cat(),下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.stack()函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08

最新評(píng)論