色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

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

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

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

1.準備

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

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

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

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

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

YAPF 支持 Python 2.7 和 3.6.4+。

2.Yapf 使用方法

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

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

必選參數:

files 需要被格式化的文件

可選參數:
-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]

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

yapf -i 1.py

效果如下:

圖片

3.Yapf 作為模塊使用

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

一個比較常見的場景是用戶在你的web網站上提交了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,這個函數可以從文件中讀取代碼并格式化:

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參數,它將把格式化后的代碼寫回文件中:

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
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 格式化
    +關注

    關注

    2

    文章

    39

    瀏覽量

    9112
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68521
  • 編輯器
    +關注

    關注

    1

    文章

    805

    瀏覽量

    31163
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84627
收藏 人收藏

    評論

    相關推薦

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

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

    2.6 python字符串格式化

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

    說MounRiver Studio的代碼格式化

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

    格式化硬盤

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

    筆記本硬盤維護之格式化

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

    如何格式化硬盤

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

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

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

    格式化對硬盤有傷害嗎_硬盤格式化后數據還能恢復嗎

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

    格式化是什么

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

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

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

    python字符串格式化

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

    如何使用 Java 原生格式化Instant

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

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

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

    基于Python 超簡單格式化代碼

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

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

    代碼規范啊! 沒事,現在有Black這個神器,我們可以在終端中輸入句命令就自動格式化代碼!而且對于初學者來說,用Black來學習代碼規范也
    的頭像 發表于 11-02 14:51 ?1315次閱讀
    Black:自動<b class='flag-5'>格式化</b><b class='flag-5'>代碼</b>的神器
    主站蜘蛛池模板: 久久精品视在线观看2| 久久99国产精品一区二区| 国产真实乱对白精彩| 久久国产伦子伦精品| 欧美黄色第一页| 午夜伦理 第1页| 中国字字幕在线播放2019| 成人国产亚洲精品A区天堂蜜臀| 国产精品无码AV天天爽色欲| 久久亚洲网站| 色偷偷91综合久久噜噜| 伊人网综合网| 国产3级在线| 两个客户一起吃我的奶| 偷上邻居熟睡少妇| 19不插片免费视频| 国产精品无码视频一区二区| 恋夜影院安卓免费列表uc| 他揉捏她两乳不停呻吟口述| 中文字幕永久在线观看| 国产精品久久高潮呻吟无码| 妈妈的职业3完整版在线播放 | qvod电影在线观看| 国产真实乱对白精彩| 人禽l交视频在线播放 视频| 亚洲日韩欧美国产中文在线| 波多野结衣教师系列6| 久久天堂成人影院| 午夜一级毛片看看| www.亚洲天堂| 久久婷婷国产五月综合色啪最新 | 97人妻无码AV碰碰视频| 国内精品自线在拍2020不卡| 欧美日韩亚洲综合2019| 夜夜狂射影院欧美极品| 国产AV亚洲一区精午夜麻豆| 么么哒日本影院| 亚洲女人网| 国产精品久久久久久久久免费下载| 内射老妇BBX| 伊人情人网综合|