Python 0基礎學習之Python編碼規則

原本只是學習下Abaqus有限元軟件,原本只是想找找

Abaqus有沒有一種語言跟Ansys裡APDL一樣可以進行參數化建模,然後就開始了Python的學習,然後就想在學習的過程中分享下學習筆記。

Python 0基礎學習之Python編碼規則

1 編碼規則

每種編程語言都有獨特的編碼規則,合理使用註釋、合理使用空行、語句的分隔、模塊的導入方式、命名規則和代碼縮進,能夠提高程序的可讀性和易移植性。

1.1 合理使用註釋

  • 使用(#)號後面跟註釋內容
a = 10 #變量

此外,如果要在代碼中使用中文註釋,則必須在Python代碼的開始位置加上註釋說明:

#-*-coding:UTF-8-*-

如果Python代碼可能在Windows操作系統以外的平臺下運行,則在開始位置加上註釋說明:

#!/usr/bin/python
  • 使用(''')或(""")號註釋整段內容
'''this is a simple exampleprint hello world'''print('hello world')

1.2 合理使用空行

空行的作用在於分隔兩段不同功能或者不同含義的代碼,便於以後代碼的維護或者重構。一般情況下,編寫程序代碼時應該在函數與函數之間、類的方法之間、類和函數之間設置空行,用來表示一段新代碼的開始。

class B: def funX(self): print('funX()') def funY(self): print('funY()')if __name__=='__main__': a = B() a.funX a.funY

1.3 語句的分隔

對於Python語言主要通過換行來識別語句的結束,也支持分號作為一條語句的標識。如果要在一個物理行中使用多個邏輯行,應使用(;)號進行分割:

x = 1; y = 2; z = 3

如果邏輯行太長,則可以在多個物理行編寫一個邏輯行,Python語言可以使用反斜線(\):

str = 'This is a string.\This line continues the first string'print(str)

輸出為

This is a string.This line continues the first string

1.4 模塊導入方式

  • 使用import語句導入模塊
import sysprint(sys.path) print(sys.argv)
  • 使用from…import…語句
from sys import pathfrom sys import argvprint(path)print(argv)

推薦使用第一種方法導入,如果導入的模塊比較多,且很多模塊中包含的函數和方法具有相同的名稱,使用第二種方法,閱讀程序時就很難弄清楚究竟屬於哪種函數和方法,因此在編寫程序時應儘量避免使用這種方法。

1.5 命名規則

  • 變量名首字母一般為小寫字母或下劃線,其他字符可由字母、下劃線或數字組成
  • 模塊名首字符一般為小寫字母,其他可由字母、下劃線和數字組成,.py格式的文件本身就是一個模塊,因此文件名就是模塊名
  • 類名首字母為大寫,其他字母採用小寫
  • 對象名使用小寫字母,類的私有變量和私有方法則以兩個下劃線作為前綴
  • 函數名首字母通常為小寫字母,之後的單詞通過下劃線或單詞首字母增加函數名的可讀性
#變量名_salary = 5000#類名class Teacher: #類名首字母必須大寫 __name = "" #類的私有變量,兩個下劃線前綴 def __init__(self,name): #類的私有方法,兩個下劃線前綴 self.__name = name def getName(self): #方法名首字母小寫,其後單詞首字母大寫 return self.__name#對象名 if __name__ == '__main__': teacher = Teacher('Mary') #對象名使用小寫字母 print (teacher.getName())

1.6 代碼縮進

代碼縮進指的是在每行代碼前鍵入空格或製表符來表示代碼之間的層次關係,Python語言採用代碼縮進和冒號(:)來區分代碼塊之間的層次關係。

def factorial(n): if n == 0: return 1 else: return n*factorial(n-1)

寫在最後

Python 0基礎學習之Python編碼規則


分享到:


相關文章: