搜尋
首頁後端開發Python教學一起聊聊Python的程式設計樣式

本篇文章為大家帶來了關於python的相關知識,其中主要介紹了Python的基本編碼規範,包括聲明編碼格式、縮排規則、註釋部分和空行使用等等,希望對大家有幫助。

一起聊聊Python的程式設計樣式

推薦學習:python教學

#Python編碼規格

##編碼規格 在各種程式語言中都存在,可能有的語言中體現的不是很直觀而已

如果是新手學習編寫程式碼,那麼在一開始就熟記編碼規則對日後的編寫規範是影響非巨大的!

以下就來簡單介紹一些初學者要牢記的幾種編碼規範,分為幾個面向來介紹,一起來看一下吧!

Python 採用

PEP 8 作為編碼規範,其中PEPPython Enhancement Proposal(Python 增強建議書)的縮寫,8 代表的是Python 程式碼的樣式指南。

先來看一張圖中的程式碼


一起聊聊Python的程式設計樣式 比較上圖中的兩段程式碼可以發現,它們所包含的程式碼時完全相同的

但是右側的程式碼編寫格式明顯看起來比左側的程式碼片段更規整,閱讀起來也會比較輕鬆、暢快,因為它遵循了最基本的Python 程式碼編寫規格。

下面分成幾個部分來學習一下

Python的程式碼規格,讓我們的程式碼更美觀、更漂亮!


聲明編碼格式

  • 一般來說,聲明編碼格式在腳本中是必需的

  • ##如果python 原始碼檔案沒有聲明編碼格式,python 解釋器會預設使用ASCII 編碼
  • 但是這樣有個缺點就是,一旦出現非ASCII編碼的字符,python 解釋器就會報錯
  • 以UTF-8 為例,以下兩種編碼格式宣告都是合乎規則的。
  • # -*- coding: utf-8 -*-
    # coding = utf-8
縮排規則

    #和其它程式設計語言(如Java、C 語言)採用大括號“{}”分隔程式碼區塊不同,Python 採用程式碼縮排和冒號( : )來區分程式碼區塊之間的層次。
  • 在Python 中,對於類別定義、函數定義、流程控制語句、異常處理語句等,行尾的冒號和下一行的縮進,表示下一個程式碼區塊的開始,而縮排的結束則表示此程式碼區塊的結束。
  • 注意,Python 中實作程式碼的縮進,可以使用空格或 Tab 鍵實作。但無論是手動敲空格,還是使用 Tab 鍵,通常情況下都是
  • 採用 4 個空格長度作為一個縮排量

    (預設情況下,一個 Tab 鍵就表示 4 個空格)。

  • 對於Python 縮排規則,初學者可以這樣理解,Python 要求屬於同一作用域中的各行程式碼,它們的縮排量必須一致,但具體縮排量為多少,不做硬性規定。
  • 正確範例程式碼:
a=1if a==1:
    print("正确")  # 缩进4个空白占位else:              # 与if对齐
    print("错误")   # 缩进4个空白占位

錯誤範例程式碼:

a=1if a==1:
    print("正确") else:              
    print("错误")   
 print("end")   # 改正只需将这行代码前面的空格删除即可

只需要記住一點:

統一使用4 個空格進行縮進,不要用tab, 也不要tab和空格混用

記住這一點,一般來說縮進就不會出現太大的問題!

註解部分

Python中使用# 進行註釋,我們在使用# 的時候,# 號後面要空一格

    # 注释部分 
    # 
    # 注释部分

在行內註解的時候,中間應該至少加兩個空格

print("你好,世界")  # 注释

空格

空格

使用的一般性原則:

在二元運算子兩邊各空一格,算術運算子兩邊的空格可靈活使用,但兩側務必保持一致
  • 不要在逗號、分號、冒號前面加空格,但應該在它們後面加(除非在行尾)
  • 函數的參數列表中,逗號之後要有空格
  • 函數的參數列表中,預設值等號兩邊不要加空格
  • 左括號之後,右括號之前不要加添加空格
  • 參數列表, 索引或切片的左括號前不應加空格
  • 通常情況下,在運算符兩側、函數參數之間以及逗號兩側,都建議使用空格進行分隔。

空白行使用

空白行

使用的一般原則:

編碼格式宣告、模組導入、常數和全域變數宣告、頂層定義和執行程式碼之間空兩行
  • 頂級定義之間空兩行,方法定義之間空一行
  • 在函數或方法內部,可以在必要的地方空一行以增強節奏感,但應避免連續空白行
  • 使用必要的空白行可以增加程式碼的可讀性,通常在頂級定義(如函數或類別的定義)之間空兩行,而方法定義之間空一行,另外在用來分隔某些功能的位置也可以空一行。

模块导入部分

导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前。

导入应该按照从最通用到最不通用的顺序分组,分组之间空一行:

  • 标准库导入
  • 第三方库导入
  • 应用程序指定导入

每个 import 语句只导入一个模块,尽量避免一次导入多个模块

#推荐import osimport sys
#不推荐import os,sys

命名规范

命名规范这一块的大家应该都比较熟悉了,但是不同的编程语言之间的明明规范也是有所区别的~

Python命名建议遵循的一般性原则:

  • 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线
  • 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头
  • 函数名一律小写,如有多个单词,用下划线隔开
  • 私有函数可用一个下划线开头
  • 变量名尽量小写, 如有多个单词,用下划线隔开
  • 常量采用全大写,如有多个单词,使用下划线隔开

引号用法

Python中,输出语句中使用单双引号都是可以正确的,但是也有相应的编码规范

所以我们也不要随心所欲的添加引号,最好是遵循下面的规范!

引号使用的一般性原则:

  • 自然语言使用双引号
  • 机器标识使用单引号
  • 正则表达式使用双引号
  • 文档字符串 (docstring) 使用三个双引号

分号用法

Python跟其他几个主流编程语言的分号使用区别很大
Python的代码末尾不需要加分号,而Java和C#等都需要添加

不要在行尾添加分号,也不要用分号将两条命令放在同一行,例如:

# 不推荐print("Hello") ;  print("World")

推荐学习:python详细教程

以上是一起聊聊Python的程式設計樣式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
您如何將元素附加到Python數組?您如何將元素附加到Python數組?Apr 30, 2025 am 12:19 AM

Inpython,YouAppendElementStoAlistusingTheAppend()方法。 1)useappend()forsingleelements:my_list.append(4).2)useextend()orextend()或= formultiplelements:my_list.extend.extend(emote_list)ormy_list = [4,5,6] .3)useInsert()forspefificpositions:my_list.insert(1,5).beaware

您如何調試與Shebang有關的問題?您如何調試與Shebang有關的問題?Apr 30, 2025 am 12:17 AM

調試shebang問題的方法包括:1.檢查shebang行確保是腳本首行且無前置空格;2.驗證解釋器路徑是否正確;3.直接調用解釋器運行腳本以隔離shebang問題;4.使用strace或truss跟踪系統調用;5.檢查環境變量對shebang的影響。

如何從python數組中刪除元素?如何從python數組中刪除元素?Apr 30, 2025 am 12:16 AM

pythonlistscanbemanipulationusseveralmethodstoremovelements:1)theremove()MethodRemovestHefirStocCurrenceOfAstePecificiedValue.2)thepop()thepop()methodRemovesandReturnturnturnturnsanaNelementAgivenIndex.3)

可以在Python列表中存儲哪些數據類型?可以在Python列表中存儲哪些數據類型?Apr 30, 2025 am 12:07 AM

pythonlistscanstoreanydatate型,包括素,弦,浮子,布爾人,其他列表和迪克尼亞式

在Python列表上可以執行哪些常見操作?在Python列表上可以執行哪些常見操作?Apr 30, 2025 am 12:01 AM

pythristssupportnumeroferations:1)addingElementSwithAppend(),Extend(),andInsert()。 2)emovingItemSusingRemove(),pop(),andclear(),and clear()。 3)訪問andModifyingandmodifyingwithIndexingandSlicing.4)

如何使用numpy創建多維數組?如何使用numpy創建多維數組?Apr 29, 2025 am 12:27 AM

使用NumPy創建多維數組可以通過以下步驟實現:1)使用numpy.array()函數創建數組,例如np.array([[1,2,3],[4,5,6]])創建2D數組;2)使用np.zeros(),np.ones(),np.random.random()等函數創建特定值填充的數組;3)理解數組的shape和size屬性,確保子數組長度一致,避免錯誤;4)使用np.reshape()函數改變數組形狀;5)注意內存使用,確保代碼清晰高效。

說明Numpy陣列中'廣播”的概念。說明Numpy陣列中'廣播”的概念。Apr 29, 2025 am 12:23 AM

播放innumpyisamethodtoperformoperationsonArraySofDifferentsHapesbyAutapityallate AligningThem.itSimplifififiesCode,增強可讀性,和Boostsperformance.Shere'shore'showitworks:1)較小的ArraySaraySaraysAraySaraySaraySaraySarePaddedDedWiteWithOnestOmatchDimentions.2)

說明如何在列表,Array.Array和用於數據存儲的Numpy數組之間進行選擇。說明如何在列表,Array.Array和用於數據存儲的Numpy數組之間進行選擇。Apr 29, 2025 am 12:20 AM

forpythondataTastorage,choselistsforflexibilityWithMixedDatatypes,array.ArrayFormeMory-effficityHomogeneousnumericalData,andnumpyArraysForAdvancedNumericalComputing.listsareversareversareversareversArversatilebutlessEbutlesseftlesseftlesseftlessforefforefforefforefforefforefforefforefforefforlargenumerdataSets; arrayoffray.array.array.array.array.array.ersersamiddreddregro

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境