剛畢業去面試Python工程師,這幾道題太難了,Python面試題No11

寫在前面

本想停一段時間這個系列,可是好多朋友給我發信息說讓我繼續整理下去,so,繼續吧~python

第1題: docstring是什麼?

docstring是一種文檔字符串,用於解釋構造的做用。咱們在函數、類或方法中將它放在首位來描述其做用。咱們用三個單引號或雙引號來聲明docstring。c++

>>> def say():
    """
這是docstring
"""
    print("docstring")

    
>>> say()
docstring
>>>

要想獲取一個函數的docstring,咱們使用它的_doc_屬性git

第2題:PYTHONPATH變量是什麼?

PYTHONPATH是Python中一個重要的環境變量,用於在導入模塊的時候搜索路徑.能夠經過以下方式訪問:
在這裏插入圖片描述程序員

  • 路徑列表的第一個元素爲空字符串,表明的是相對路徑下的當前目錄
  • 因爲在導入模塊的時候,解釋器會按照列表的順序搜索,直到找到第一個模塊,因此優先導入的模塊爲同一目錄下的模塊.
  • 導入模塊時搜索路徑的順序也能夠改變.這裏分兩種狀況:
  1. 經過sys.path.append(),sys.path.insert()等方法來改變,這種方法當從新啓動解釋器的時候,原來的設置會失效.
  2. 改變PYTHONPATH,這種設置方法永久有效

第3題: Python中的不可變集合(frozenset)是什麼?

集合分爲兩種類型:shell

  • set —— 可變集合。集合中的元素能夠動態的增長或刪除。
  • frozenset —— 不可變集合。集合中的元素不可改變。

首先,咱們討論一下什麼是集合。集合就是一系列數據項的合集,不存在任何副本。另外,集合是無序的。編程

>>> myset={1,3,2,2}
>>> myset
{1, 2, 3}

這就意味着咱們沒法索引它瀏覽器

>>> myset={1,3,2,2}
>>> myset
{1, 2, 3}
>>> myset[0]
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    myset[0]
TypeError: 'set' object does not support indexing
>>>

TypeError:‘set’不支持索引。
集合是可變的。而不可變集合卻不可變,這意味着咱們沒法改變它的值,從而也使其沒法做爲字典的鍵值。app

>>> myset=frozenset([1,3,2,2])
>>> myset
frozenset({1, 2, 3})
>>> type(myset)
<class 'frozenset'>
>>>

第4題:如何檢查字符串中全部的字符都爲字母數字?

對於這個問題,咱們可使用isalnum()方法。編程語言

  • isalnum()必須是數字和字母的混合

其餘內容函數

  • str.isalnum() 全部字符都是數字或者字母
  • str.isalpha() 全部字符都是字母
  • str.isdigit() 全部字符都是數字
  • str.isspace() 全部字符都是空白字符、t、n、r

第5題:什麼是Python中的鏈接(concatenation)?

Python中的鏈接就是將兩個序列連在一塊兒,咱們使用+運算符完成

第6題:Python的不足之處

Python有如下缺陷:

  • Python的可解釋特徵會拖累其運行速度。
  • 雖然Python在不少方面都性能良好,但在移動計算和瀏覽器方面表現不夠好。
  • 因爲是動態語言,Python使用鴨子類型,即duck-typing,這會增長運行時錯誤。

她專科學歷
27歲從零開始學習c,c++,python編程語言
29歲編寫百例教程
30歲掌握10種編程語言,
用自學的經歷告訴你,學編程就找夢想橡皮擦

歡迎關注她的公衆號,非本科程序員

相關文章
相關標籤/搜索