基礎python規範

来源:https://www.cnblogs.com/adtx/archive/2019/11/24/11922798.html
-Advertisement-
Play Games

1.註釋 合理的代碼註釋應該占源代碼的 1/3 左右,Python 語言允許在任何地方插入空字元或註釋,但不能插入到標識符和字元串中間。 在 Python 中,通常包括 3 種類型的註釋,分別是單行註釋、多行註釋和中文編碼聲明註釋: 單行註釋: Python 中使用井號( # )作為單行註釋的符號, ...


1.註釋

    合理的代碼註釋應該占源代碼的 1/3 左右,Python 語言允許在任何地方插入空字元或註釋,但不能插入到標識符和字元串中間。     在 Python 中,通常包括 3 種類型的註釋,分別是單行註釋、多行註釋和中文編碼聲明註釋:
  • 單行註釋:

            Python 中使用井號( # )作為單行註釋的符號,語法格式為:# 註釋內容
1 print('hello world')  # 這是一條註釋
  •  多行註釋:

            多行註釋通常用來為 Python 文件、模塊、類或者函數等添加功能描述等信息,使用三單引號或三雙引號作為多行註釋符號,同時,也是長字元串符號。
1 st = '''
2     日照香爐生紫煙,
3     遙看瀑布掛前川。
4     飛流直下三千尺,
5     疑是銀河落九天。
6 '''
  • 中文編碼聲明註釋:

            主要用來解決 Python 2.x 中不支持直接寫中文的問題,中文編碼聲明註釋的語法有如下 2 種:               # -*- coding:編碼 -*-               或者               # coding=編碼
1 # -*- coding: UTF-8 -*-

 

2.縮進規則

    Python 採用代碼縮進和冒號( : )來區分代碼塊之間的層次。     對於類定義、函數定義、流程式控制制語句、異常處理語句等,行尾的冒號和下一行的縮進,表示下一個代碼塊的開始,而縮進的結束則表示此代碼塊的結束。     Python 中實現對代碼的縮進,可以使用空格或者 Tab 鍵實現。但無論是手動敲空格,還是使用 Tab 鍵,通常情況下都是採用 4 個空格長度作為一個縮進量(預設情況下,一個 Tab 鍵就表示 4 個空格)。  

3.編碼規範

    Python 採用 PEP 8 作為編碼規範,下麵列出一些常見的編碼規則:         每個 import 語句只導入一個模塊,儘量避免一次導入多個模塊;         不要在行尾添加分號,也不要用分號將兩條命令放在同一行;         建議每行不超過 80 個字元,如果超過,建議使用小括弧將多行內容隱式的連接起來,而不推薦使用反斜杠進行連接;         使用必要的空行可以增加代碼的可讀性,通常在頂級定義(如函數或類的定義)之間空兩行,而方法定義之間空一行,另外在用於分隔某些功能的位置也可以空一行;         通常情況下,在運算符兩側、函數參數之間以及逗號兩側,都建議使用空格進行分隔。  

4.標識符命名規範

    標識符主要作用就是作為變數、函數、類、模塊以及其他對象的名稱,命名規則如下:
  • 標識符是由字元(A~Z 和 a~z)、下劃線和數字組成,但第一個字元不能是數字;
  • 標識符不能和 Python 中的保留字相同;
  • Python中的標識符中,不能包含空格、@、% 以及 $ 等特殊字元;
  • 標識符中的字母是嚴格區分大小寫的;
  • 以下劃線開頭的標識符有特殊含義:
            以單下劃線開頭的標識符(如 _width),表示不能直接訪問的類屬性,其無法通過 from...import* 的方式導入;             以雙下劃線開頭的標識符(如__add)表示類的私有成員;             以雙下劃線作為開頭和結尾的標識符(如 __init__),是專用標識符;
  • Python允許漢字作為標識符,但應避免使用漢字作為標識符;
  • 當標識符用作模塊名時,應儘量短小,並且全部使用小寫字母,可以使用下劃線分割多個字母,例如 game_mian;
  • 當標識符用作包的名稱時,應儘量短小,也全部使用小寫字母,不推薦使用下劃線,例如 com.mr;
  • 當標識符用作類名時,應採用單詞首字母大寫的形式。例如,定義一個圖書類,可以命名為 Book;
  • 模塊內部的類名,可以採用 "下劃線+首字母大寫" 的形式,如 _Book;
  •  函數名、類中的屬性名和方法名,應全部使用小寫字母,多個單詞之間可以用下劃線分割;
  •  常量命名應全部使用大寫字母,單詞之間可以用下劃線分割;
 

5.python關鍵字

    關鍵字是 Python 語言中一些已經被賦予特定意義的單詞,不能用這些保留字作為標識符給變數、函數、類、模板以及其他對象命名。     使用以下命令查看關鍵字:
1 import keyword
2 keyword.kwlist

 

6.python內置函數

    使用內置函數作為標識符不會報錯,但會導致同名函數被覆蓋,無法使用。  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • FBV 基於函數的視圖 (function base views) CBV 基於類的視圖 (class base views) 也就是說我們是用函數編寫視圖~還是類編寫視圖~~我們來看下兩個的簡單實現~~ urlpatterns = [ path(‘admin/‘, admin.site.urls) ...
  • 一.hashlib(md5) 1 import hashlib 2 obj = hashlib.md5('dsfd'.encode('utf-8')) 3 obj.update('123'.encode('utf-8')) 4 print(obj.hexdigest()) 二.random 1.ra ...
  • verilog語言簡介 verilog語言是一種語法類似於c的語言,但是與c語言也有不同之處,比如: 1.verilog語言是並行的,每個always塊都是同時執行,而c語言是順序執行的 2.verilog又被稱作硬體描述語言,在用verilog語言編程的時候,不如說是在用verilog描述一段電路 ...
  • [TOC] 靜態文件 預設情況下所有的html文件都是放在templates文件夾內 什麼是靜態文件 網站所使用的提前寫的css、js 第三方的前端模塊、圖片都叫做靜態資源 預設情況下網站使用的靜態資源全部會放到static文件夾下 通常情況下 在static文件夾內部還會再建其他文件夾 這是為了更 ...
  • 目前主流的三種web服務交互方案: REST (Representational State Transfer) 表徵性狀態轉移 SOAP (Simple Object Access Protocol)簡單的對象訪問協議 XML RPC (XML Remote Procedure Call)基於XM ...
  • 一、背景 書接手寫MQ框架(二)-服務端實現 ,前面介紹了服務端的實現。但是具體使用框架過程中,用戶肯定是以客戶端的形式跟服務端打交道的。客戶端的好壞直接影響了框架使用的便利性。 雖然框架目前是通過web的形式提供功能的,但是某的目標其實是通過socket實現,所以不僅需要有客戶端,還要包裝一下,讓 ...
  • 一、起航 本著從無到有,從有到優的原則,所以計劃先通過web實現功能,然後再優化改寫為socket的形式。 1、關於技術選型 web框架使用了之前寫的gmvc框架(手寫MVC框架(一)-再出發),消息存儲採用存在資料庫的方式,使用的框架也是前段時間寫的gdao(手寫DAO框架(一)-從“1”開始 ) ...
  • golang中連接mysql資料庫,需要使用一個第三方類庫github.com/go-sql-driver/mysql,在這個類庫中就實現了mysql的連接池,並且只需要設置兩個參數就可以實現 一般連接mysql首先需要調用sql.Open函數,但是此時並沒有真正的去連接mysql,而是只創建了一個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...