1. 程式人生 > >python基礎第5篇 python基礎補充內容

python基礎第5篇 python基礎補充內容

兩個 其他 plain pac 3.5 表示 post IT 增強

知識內容:

1.python代碼編寫規範

2.模塊導入與使用

3.python文件名

4.python腳本的"__name__"屬性

5.python之禪

一、python代碼編寫規範

1、縮進

python程序是依靠代碼塊的縮進來體現代碼之間的邏輯的。對於類定義、函數定義、選擇結構、循環結構以及異常處理結構來說,行尾的冒號以及下一行的縮進表示一個代碼塊的開始,而縮進結束則表示一個代碼塊的結束,這些將在後面具體代碼中可以體現出來

示例:

 1 # __author__ = "wyb"
 2 # date: 2018/3/8
 3 
 4 # 以下代碼功能: 找出a, b, c 3者中最大值
5 a, b, c = 1, 2, 3 6 if a > b: 7 if a > c: 8 print(a) 9 else: 10 print(c) 11 12 else: 13 if b > c: 14 print(b) 15 else: 16 print(c) 17 print(OK)

2.註釋

python中常見的註釋有兩種:

(1)以#開頭對一行內容進行註釋

(2)包含在一對三引號中(‘‘‘ 註釋的內容 ‘‘‘或""" 註釋的內容 """)

註: 在pycharm註釋的快捷鍵是ctrl+/,使用方法是先選中所需註釋的內容,然後敲上ctrl+/

 1 # 被註釋的內容
 2 
 3 ‘‘‘
 4         被註釋的內容
 5         多行
 6         多行
 7 ‘‘‘
 8 
 9 """
10 
11         被註釋的內容
12         多行
13         多行
14 
15 """

3.使用必要的空格和空行增強代碼的可讀性

(1)運算符兩側、函數參數之間建議使用空格進行分割

(2)不同功能的代碼塊之間、不同的函數定義之間以及不同的類定義之間建議使用兩個空行

4.異常處理

適當使用異常處理結構增強程序容錯性和健壯性,但是不能過多地依賴異常處理結構,程序需要有適當的顯性判斷邏輯

5.測試

程序需有較強的測試性,測試與開發應該齊頭並進,做完一個功能後程序員自己應該進行相應的單元測試

二、模塊導入與使用

1.import 模塊名 [ as 別名]

使用這種方式導入模塊後如要使用模塊中的對象可以使用以下方法: 模塊名(別名).對象名\

2.from 模塊名 import 對象名[ as 別名]

3. 導入一個模塊中的所有對象: from 模塊名 import *

註: 不推薦使用

4.導入模塊的順序

(1) 導入python標準庫中的模塊(python環境自帶模塊),比如說os\sys\re\math

(2) 導入第三方庫模塊,比如說numpy\scrapy

(3) 導入自己定義或者開發的本地模塊

示例:

 1 # __author__ = "wyb"
 2 # date: 2018/3/9
 3 
 4 import os           # 導入python自帶模塊os
 5 import sys          # 導入python自帶模塊sys
 6 import requests     # 導入python第3方模塊requests
 7 # import package    # 導入自己寫的模塊package
 8 
 9 from bs4 import BeautifulSoup   # 從bs4包中導入BeautifulSoup模塊
10 from math import sqrt           # 從math模塊中導入sqrt函數

三、python文件名

.py:Python源文件,由Python解釋器負責解釋執行

.pyw:Python源文件,常用於圖形界面程序文件

.pyc:Python字節碼文件,無法使用文本編輯器直接查看該類型文件內容,可用於隱藏Python源代碼和提高運行速度。對於Python模塊,第一次被導入時將被編譯成字節碼的形式,並在以後再次導入時優先使用“.pyc”文件,以提高模塊的加載和運行速度。對於非模塊文件,直接執行時並不生成“.pyc”文件,但可以使用py_compile模塊的compile()函數進行編譯以提高加載和運行速度。另外,Python還提供了compileall模塊,其中包含compile_dir()、compile_file()和compile_path()等方法,用來支持批量Python源程序文件的編譯

.pyo:優化的Python字節碼文件,同樣無法使用文本編輯器直接查看其內容。可以使用“python –O -m py_compile file.py”或“python –OO -m py_compile file.py”進行優化編譯。Python 3.5不再支持.pyo文件

.pyd:一般是由其他語言編寫並編譯的二進制文件,常用於實現某些軟件工具的Python編程接口插件或Python動態鏈接庫

四、python腳本的"__name__"屬性

1."__name__"屬性的值

每一個python腳本在運行時都有一個"__name__"屬性。如果腳本被作為模塊被導入,則其"__name__"屬性的值被自動設置為模塊名;如果腳本獨立運行,則其"__name__"屬性值就被自動設置為"__main__"

將以下代碼保存為test_name.py

print(__name__)
# 直接運行該程序會輸出: __main__
# 將該程序作為模塊導入會輸出: test_name

2.利用__name__屬性

利用__name__屬性可以控制python程序,比如在程序作為腳本獨立運行時設置一些參數或者啟動相應函數

 1 # __author__ = "wyb"
 2 # date: 2018/3/9
 3 
 4 
 5 # 定義函數func:
 6 def func():                                             
 7     print("程序作為腳本獨立啟動,不是作為模塊使用")
 8     
 9 if __name__ == __main__:
10     func()      # 運行函數func

五、python之禪

在python交互式環境中輸入import this 並回車便可以看到由Tim Peters總結的python之禪

 1 import this
 2 
 3 # python之禪:
 4 The Zen of Python, by Tim Peters
 5 
 6 Beautiful is better than ugly.
 7 Explicit is better than implicit.
 8 Simple is better than complex.
 9 Complex is better than complicated.
10 Flat is better than nested.
11 Sparse is better than dense.
12 Readability counts.
13 Special cases arent special enough to break the rules.
14 Although practicality beats purity.
15 Errors should never pass silently.
16 Unless explicitly silenced.
17 In the face of ambiguity, refuse the temptation to guess.
18 There should be one-- and preferably only one --obvious way to do it.
19 Although that way may not be obvious at first unless youre Dutch.
20 Now is better than never.
21 Although never is often better than *right* now.
22 If the implementation is hard to explain, its a bad idea.
23 If the implementation is easy to explain, it may be a good idea.
24 Namespaces are one honking great idea -- lets do more of those!

python基礎第5篇 python基礎補充內容