日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python面试题总结(2)--编码规范

發布時間:2023/12/20 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python面试题总结(2)--编码规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 什么是 PEP8?

答:PEP8 --《Python Enhancement Proposal #8》(8 號 Python 增強提案),他針對的 Python 代碼格式而編訂的風格指南。

2. 了解 Python 之禪么?

答:通過 import this 語句可以獲取其具體的內容。它告訴大家如何寫出高效整潔的代碼。例如:

避復就簡
Simple is better than complex.

避隱就顯
Explicit is better than implicit.

能不嵌套就不嵌套
Flat is better than nested.

3. 了解 DocStrings 么?

答:

1)DocStrings 文檔字符串是一個重要工具,主要是解釋代碼作用的,幫助你的程序文檔更加簡單易懂。
2)我們可以在函數體的第一行使用一對三個單引號 ‘’’ 或者一對三個雙引號 “”" 來定義文檔字符串。
3)可以使用 doc(注意雙下劃線)調用函數中的文檔字符串屬性。

def function():''' say something here!'''pass print (function.__doc__) # 調用 doc

輸出結果為:

say something here!

4. 了解類型注解么?

答:
Python是動態語言,變量隨時可以被賦值,且能賦值為不同的類型
Python不是靜態編譯型語言,變量類型是在運行器決定的
動態語言很靈活,但是這種特性也是弊端

    def add(x, y):return x + yprint(add(4, 5))print(add('hello', 'world'))add(4, 'hello')   

難發現:由于不做任何類型檢查,直到運行期問題才顯現出來,或者線上運行時才能暴露出問題
難使用:函數的使用者看到函數的時候,并不知道你的函數的設計,并不知道應該傳入什么類型的數據

函數注解

  • Python 3.5 引入
  • 對函數的參數進行類型注解
  • 對函數的返回值進行類型注解
  • 只對函數參數做一個輔助的說明,并不對函數參數進行類型檢查
  • 提供給第三方工具,做代碼分析,發現隱藏的bug
  • 函數注解的信息,保存在__annotations__屬性中
def add(x:int , y:int) -> int:''':param x::param y::return:'''return x + y print(help(add)) print(add.__annotations__)

運行結果

add(x:int, y:int) -> int:param x::param y::return: None {'x': <class 'int'>, 'y': <class 'int'>, 'return': <class 'int'>}

變量注解

Python 3.6引入。它也只是一種對變量的說明,非強制

i:int = 3

5. 例舉你知道 Python 對象的命名規范,例如方法或者類等

答:

:總是使用首字母大寫單詞串,如 MyClass。

內部類:可以使用額外的前導下劃線。

變量:小寫,由下劃線連接各個單詞。方法名類似

常量:常量名所有字母大寫 等

函數&方法:函數名應該為小寫,可以用下劃線風格單詞以增加可讀性,如:myfunction, my_example_function。(混合大小寫僅被允許用于這種風格已經占據優勢的時候,以便保持向后兼容。)

函數和方法的參數:總使用“self”作為實例方法的第一個參數。總使用“cls”作為類方法的第一個參數。
如果一個函數的參數名稱和保留的關鍵字沖突,通常使用一個后綴下劃線好于使用縮寫或奇怪的拼寫。

詳情見:python命名規范

6. Python 中的注釋有幾種?

答:總體來說分為兩種,單行注釋和多行注釋。

單行注釋在行首是 #。
多行注釋可以使用三個單引號或三個雙引號,包括要注釋的內容。

7. 如何優雅的給一個函數加注釋?

答:可以使用 docstring 配合類型注解

8. 如何給變量加注釋?

答:可以通過變量名:類型的方式如下

a: str = "this is string type"

9. Python 代碼縮進中是否支持 Tab 鍵和空格混用。

答:不允許 tab 鍵和空格鍵混用,這種現象在使用 sublime 的時候尤為明顯。

一般推薦使用 4 個空格替代 tab 鍵。

10. 是否可以在一句 import 中導入多個庫?

答:可以是可以,但是不推薦。因為一次導入多個模塊可讀性不是很好,所以一行導入一個模塊會比較好。同樣的盡量少用 from modulename import *,因為判斷某個函數或者屬性的來源有些困難,不方便調試,可讀性也降低了。

11. 在給 Py 文件命名的時候需要注意什么?

答:
給文件命名的時候不要和標準庫中的一些模塊重復,比如 abc。
另外要名字要有意義,不建議數字開頭或者中文命名。

12. 例舉幾個規范 Python 代碼風格的工具

答:

自動檢測工具Pylint:一個檢查違反 PEP8 規范和常見錯誤的庫,它會自動查找不符合代碼風格標準和有潛在問題的代碼,并在控制臺輸出代碼中違反規范和出現問題的相關信息。

自動優化工具Black:在眾多代碼格式化工具中,Black算是比較新的一個,它最大的特點是可配置項比較少,個人認為這對于新手來說是件好事,因為我們不必過多考慮如何設置Black,讓 Black 自己做決定就好。
在使用方面,black默認讀取指定python文件并對其進行代碼規范格式化,然后輸出到原文件。

總結

以上是生活随笔為你收集整理的python面试题总结(2)--编码规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。