PEP8
PEP8是Python的官方文檔中提供的代碼規範,https://legacy.python.org/dev/peps/pep-0008/
代碼層次結構
Python使用一個冒号和縮進,來分割代碼塊,代碼塊指的是類的定義、函數的定義、流程控制中if、for、while子產品。縮進表示一個代碼塊的開始,非縮進表示一個代碼的結束,相同的縮進表示在代碼塊中處于相同的級别。
每一級縮進使用一個tab鍵或者四個空格。而PEP8中說:”Spaces are the preferred indentation method."
i = 9
if i < 10:
print('The value of i is less then ten.')
else:
print('The value of i is more then ten.')
代碼注釋
單行注釋 #
多行注釋,采用三個單引号或者三個雙引号實作。 ’‘’ ‘’‘
注釋重要意義:增加代碼可讀性,有利于協作開發,以及後期的維護。
源代碼檔案開頭的注釋:
一般格式如下:
"""
copyright:****
File name:****
version:
Author:
Date:
function desc:
"""
函數開頭注釋:
def add(a,b):
'''
desc:
@param:a .....
@param:b .....
'''
類開頭注釋:
class Student():
'''
desc:
method:
method1: ......
'''
單語句注釋:
根據閱讀習慣,注釋最好在代碼塊的上方。
#讓程式按随機時間睡一會
time.sleep(random.random())
注意:不要濫用,太多注釋也會顯得整個代碼很亂,注釋要有意義。
換行和并行
代碼換行:
- 在該行代碼末尾加上續行符“\”
- 語句中包含(){}[]時分行不需要加換行符
- 采用三個單引号,或者三個雙引号
print('2022年,\
Python \
排行第一')
print('2022年,'
'Python '
'排行第一')
l = [
1,
2,
3,
]
print('''2022年,'''
'''Python'''
'''排行第一''')
代碼并行:
語句結尾用分号
print('''2022年,'''
'''Python'''
'''排行第一''');print("hi")
獨立的語句可以在:後面并行
i = 0
if i == 0:print('''2022年,''''''Python''''''排行第一''')
下面這樣就不行了,因為第一個:後面是一個if語句快,不是一個獨立的一條語句。
if i == 0:if j = 1:print('''2022年,''''''Python''''''排行第一''')
變量和保留字
變量命名規則:變量名可以是字母、數字、下劃線的組合,不能以數字開頭,也不可以用保留字來命名
['False', 'None', 'True', 'and', 'as', 'assert', 'break', \
'class', 'continue', 'def', 'del', 'elif', 'else', 'except',\
'finally', 'for', 'from', 'global', 'if', 'import', 'in', \
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',\
'return', 'try', 'while', 'with', 'yield']
字元串
可以用雙引号或者單引号标注來識别字元串。
比如下面就是一個字元串:
'hello world!'
"hello world!"
程式分支結構
if i == 1:
print("a")
elif i == 2:
print("b")
elif i == 3:
print("c")
else:
print("e")
指派語句
指派符号“=”,意思是将右邊指派給左邊的變量。
其實左邊變量是可以支援多個的。
a,b = 1+2,2+3
i,j=j,i #一個語句實作變量值交換
輸入輸出
input()
n = input("請輸入一個數字")
input語句可以讓程式暫停,等待使用者輸入資料。
使用者将輸入的資料存儲在變量中,比如上面的n。
input接受一個參數,即向使用者提示或說明,讓使用者知道該做什麼。
input擷取到使用者的輸入是以字元串儲存的。
print()
print() 函數向使用者或者螢幕上輸出制定的字元資訊。
print() 函數支援多個字元串,每個用逗号隔開,就可以連成一串輸出,遇到都好會輸出一個空格。
print() 函數文法:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
将 "objects" 列印輸出至 "file參數" 指定的文本流,
以 "sep 參數"分隔開并在末尾加上 "end參數"。
"sep" 、 "end "、 "file" 和"flush" 必須以關鍵字參數的形式給出。
flush 關鍵字參數是在 phthon3.3 版後增加的。
print(i,j,sep="%",end="&",file=open('file.txt','a'))