欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Yapf:一個格式化 Python 代碼的好幫手

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-17 11:08 ? 次閱讀

大部分人使用Python中的代碼格式化工具時都會選擇autopep8之類的工具,這些工具可能有一定的局限性,比如不會重新格式化已經(jīng)符合 PEP8 的代碼。

而本文即將介紹的 Yapf,不僅能將代碼格式化為符合 PEP8 代碼指南的格式,還能格式化為符合 Google 代碼指南的格式,可選項更多,讓你的代碼更加漂亮。

1.準備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install yapf

YAPF 支持 Python 2.7 和 3.6.4+。

2.Yapf 使用方法

你可以在命令行中直接使用 Yapf, 參數(shù)如下:

yapf [-h] [-v] [-d | -i | -q] [-r | -l START-END] [-e PATTERN]
            [--style STYLE] [--style-help] [--no-local-style] [-p]
            [-vv]
            [files ...]

必選參數(shù):

files 需要被格式化的文件

可選參數(shù):
-h, --help 顯示幫助信息
-v, --version 顯示程序的版本號
-d, --diff 打印格式化前后差異
-i, --in-place 格式化文件并替換
-q, --quiet 什么都不輸出
-r, --recursive 在目錄上遞歸運行
-l START-END, --lines START-END 重新格式化的行范圍,基于一個
-e PATTERN, --exclude PATTERN 需要排除的文件
--style STYLE 指定格式化樣式(例如“pep8”或“google”)
-p, --parallel 并行格式化(多個文件時有效)
-vv, --verbose 在處理時打印出文件名

舉個例子,如果我們有以下的混亂格式代碼 1.py :

x = { 'a':37,'b':42,

'c':927}

y = 'hello ''world'
z = 'hello '+'world'
a = 'hello {}'.format('world')
class foo  ( object ):
  def f    (self ):
    return       37*-+2
  def g(self, x,y=42):
      return y
def f  ( a ) :
  return      37+-+a[42-x : y**3]

為了格式化它,我們可以在命令行中執(zhí)行以下命令:

yapf -i 1.py

效果如下:

圖片

3.Yapf 作為模塊使用

Yapf 不僅可以在命令行中使用,我們還可以在項目運行時使用。

一個比較常見的場景是用戶在你的web網(wǎng)站上提交了python代碼,你希望能一件格式化這些代碼,那將yapf作為格式化的模塊則再好不過。

Yapf 最主要的兩個 API 是 FormatCode 和 FormatFile:

from yapf.yapflib.yapf_api import FormatCode

formatted_code, changed = FormatCode("f ( a = 1, b = 2 )")
print(formatted_code)
# 'f(a=1, b=2)n'
print(changed)
# True

你還可以傳遞 style_config 決定使用哪種指南做格式化:

from yapf.yapflib.yapf_api import FormatCode

print(FormatCode("def g():n return True", style_config='pep8')[0])
# 'def g():n return Truen'

FormatFile,這個函數(shù)可以從文件中讀取代碼并格式化:

from yapf.yapflib.yapf_api import FormatFile
print(open("foo.py").read())
# a==b
reformatted_code, encoding, changed = FormatFile("foo.py")
print(formatted_code)
# 'a == bn'
print(encoding)
# 'utf-8'
print(changed)
# True

如果你添加in_place參數(shù),它將把格式化后的代碼寫回文件中:

from yapf.yapflib.yapf_api import FormatFile
print(FormatFile("foo.py", in_place=True)[:2])
# (None, 'utf-8')

print(open("foo.py").read())
# a == b
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 格式化
    +關注

    關注

    2

    文章

    39

    瀏覽量

    9137
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68987
  • 編輯器
    +關注

    關注

    1

    文章

    806

    瀏覽量

    31282
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85012
收藏 人收藏

    評論

    相關推薦

    MDK使用AStyle進行代碼自動格式化

    MDK使用AStyle進行代碼自動格式化
    的頭像 發(fā)表于 09-19 14:22 ?3546次閱讀
    MDK使用AStyle進行<b class='flag-5'>代碼</b>自動<b class='flag-5'>格式化</b>

    2.6 python字符串格式化

    2.6 python字符串格式化格式化輸出,主要有三種方式使用 % 進行格式化使用 format 函數(shù)進行格式化使用 f-string 進行
    發(fā)表于 02-21 16:28

    說MounRiver Studio的代碼格式化

    MounRiver Studio具有代碼格式化功能,方法是右鍵選擇某個c文件,點擊“代碼格式化”即可。這個功能只針對某個c或h文件,鍵全工
    發(fā)表于 05-12 09:08

    格式化硬盤

    格式化硬盤 軟盤只需要格式化,硬盤卻需要兩級,即低級格式化和高級格式化。  硬盤的低級格式化
    發(fā)表于 12-25 15:40 ?1103次閱讀

    筆記本硬盤維護之格式化

    筆記本硬盤維護之格式化篇   格式化硬盤(并非低格)會影響硬盤壽命嗎?用Windows對硬盤進行格式化與對軟盤進行格式化原理
    發(fā)表于 01-20 10:32 ?373次閱讀

    如何格式化硬盤

    如何格式化硬盤    這是廣大電腦初學者經(jīng)常詢問的問題,因為格式化硬盤是安裝裝系統(tǒng)的前提,所以這就成為了需要首先解決的問題,本文將針這個
    發(fā)表于 02-24 11:25 ?483次閱讀

    CoolFormat3.2C語言代碼格式化工具

    CoolFormat3.2,將C語言代碼格式化的工具。
    發(fā)表于 05-20 17:01 ?20次下載

    格式化對硬盤有傷害嗎_硬盤格式化后數(shù)據(jù)還能恢復嗎

    普通的格式化硬盤是不會影響硬盤壽命的。硬盤格式化后數(shù)據(jù)還能恢復嗎?下面就來看看使用強力數(shù)據(jù)是如何將格式化后的數(shù)據(jù)給恢復的吧。
    發(fā)表于 12-14 16:09 ?1.7w次閱讀

    格式化是什么

    格式化(format)是指對磁盤或磁盤中的分區(qū)(partition)進行初始種操作,這種操作通常會導致現(xiàn)有的磁盤或分區(qū)中所有的文件被清除。格式化通常分為低級
    的頭像 發(fā)表于 01-09 15:20 ?8.6w次閱讀

    關于MDK-ARM代碼格式化插件AStyle

    MDK-ARM代碼格式化插件AStyle
    的頭像 發(fā)表于 03-07 16:34 ?2487次閱讀

    python字符串格式化

    python字符串格式化 格式化輸出,主要有三種方式 使用 % 進行格式化 使用 format 函數(shù)進行格式化 使用 f-string 進行
    的頭像 發(fā)表于 02-21 16:28 ?1623次閱讀
    <b class='flag-5'>python</b>字符串<b class='flag-5'>格式化</b>

    如何使用 Java 原生格式化Instant

    今天我們將聊聊如何在Java中把 Instant 格式化一個字符串。我們將展示如何使用 Java 原生和第三方庫(如Joda-Time)來處理這個事情。 使用 Java 原生
    的頭像 發(fā)表于 10-09 14:51 ?1333次閱讀

    如何用行命令格式化 Python 代碼

    統(tǒng)代碼規(guī)范啊!然而這顯然是不可能的。 不過雖然無法改變他人,但我們可以改變自己?,F(xiàn)在有了Black這個神器,我們可以在終端中輸入句命令自動使用最規(guī)范的代碼風格來
    的頭像 發(fā)表于 10-31 10:35 ?632次閱讀
    如何用<b class='flag-5'>一</b>行命令<b class='flag-5'>格式化</b> <b class='flag-5'>Python</b> <b class='flag-5'>代碼</b>

    基于Python 超簡單格式化代碼

    統(tǒng)代碼規(guī)范啊!然而這顯然是不可能的。 不過雖然無法改變他人,但我們可以改變自己?,F(xiàn)在有了Black這個神器,我們可以在終端中輸入句命令自動使用最規(guī)范的代碼風格來
    的頭像 發(fā)表于 11-01 11:27 ?578次閱讀
    基于<b class='flag-5'>Python</b> 超簡單<b class='flag-5'>格式化</b><b class='flag-5'>代碼</b>

    Black:自動格式化代碼的神器

    代碼規(guī)范?。?沒事,現(xiàn)在有Black這個神器,我們可以在終端中輸入句命令就自動格式化代碼!而且對于初學者來說,用Black來學習代碼規(guī)范也
    的頭像 發(fā)表于 11-02 14:51 ?1398次閱讀
    Black:自動<b class='flag-5'>格式化</b><b class='flag-5'>代碼</b>的神器