天天看點

100 個基本 Python 面試問題第二部分(16-35)

Q-16:Python 中的字元串是什麼?

Python 中的字元串是一系列字母數字字元。它們是不可變的對象。這意味着它們一旦被指派就不允許修改。Python 提供了多種方法,例如 join()、replace() 或 split() 來更改字元串。但是這些都沒有改變原始對象。

Q-17:Python 中的切片是什麼?

切片是一種字元串操作,用于提取字元串的一部分,或清單的某些部分。在 Python 中,一個字元串(比如文本)從索引 0 開始,第 n 個字元存儲在位置 text[n-1]。Python 還可以在負數的幫助下執行反向索引,即反向索引。在 Python 中, slice() 也是一個生成切片對象的構造函數。結果是 range(start, stop, step) 提到的一組索引。slice() 方法允許三個參數。1. start – 切片開始的起始編号。2. stop – 表示切片結束的數字。3. step – 在每個索引後遞增的值(預設值 = 1)。

Q-18:Python 中的 %s 是什麼?

Python 支援将任何值格式化為字元串。它可能包含相當複雜的表達式。

一種常見的用法是将值推送到帶有 %s 格式說明符的字元串中。Python 中的格式化操作與 C 函數 printf() 具有類似的文法。

Q-19:字元串在 Python 中是不可變的還是可變的?

Python 字元串确實是不可變的。

讓我們舉個例子。我們有一個儲存字元串值的“str”變量。我們不能改變容器,即字元串,但可以修改它包含的内容,即變量的值。

Q-20:Python 中的索引是什麼?

索引是一種整數資料類型,表示有序清單或字元串中的位置。

在 Python 中,字元串也是字元清單。我們可以使用從零開始到長度減一的索引來通路它們。

例如,在字元串“Program”中,索引是這樣發生的:

Program 0 1 2 3 4 5

Q-21:Python 中的文檔字元串是什麼?

文檔字元串是一個獨特的文本,它恰好是以下 Python 結構中的第一條語句:

子產品、函數、類或方法定義。

文檔字元串被添加到字元串對象的__doc__屬性中。

Q-22:Python 程式設計中的函數是什麼?

函數是一個對象,它代表一個代碼塊并且是一個可重用的實體。它為程式帶來了子產品化和更高程度的代碼可重用性。

Python 為我們提供了許多内置函數,例如 print() 并提供了建立使用者定義函數的能力。

Q-23:Python 中有多少基本類型的函數?

Python 為我們提供了兩種基本類型的函數。

Built-in, and

User-defined

built-in 函數恰好是 Python 語言的一部分。其中一些是 print()、dir()、len() 和 abs() 等。

Q-24:我們如何用 Python 編寫函數?

我們可以通過以下方式建立一個 Python 函數。

第 1 步:要開始函數,請使用關鍵字 def 開始書寫,然後提及函數名稱。

第 2 步:我們現在可以傳遞參數并使用括号将它們括起來。最後的冒号标志着函數頭的結束。

第 3 步:按Enter鍵後,我們可以添加所需的 Python 語句以供執行。

Q-25:Python 中的函數調用或可調用對象是什麼?

Python 中的函數被視為可調用對象。它可以允許一些參數,也可以以元組的形式傳回一個或多個值。除了函數之外,Python 還具有其他結構,例如類或屬于同一類别的類執行個體。

Q-26:Python 中的 return 關鍵字是做什麼用的?

函數的目的是接收輸入并傳回一些輸出。

return 是一個 Python 語句,我們可以在函數中使用它來将值發送回其調用者。

Q-27:Python 中的“按值調用”是什麼?

在按值調用中,參數是表達式還是值被綁定到函數中的相應變量。

Python 會将該變量視為函數級作用域中的局部變量。對該變量所做的任何更改都将保留在本地,不會反映到函數之外。

Q-28:Python 中的“按引用調用”是什麼?

我們交替使用“調用引用”和“引用傳遞”。當我們通過引用傳遞參數時,它可以作為對函數的隐式引用,而不是簡單的副本。在這種情況下,調用者也可以看到對參數的任何修改。

該方案還具有帶來更多時間和空間效率的優勢,因為它不需要建立本地副本。

相反,缺點可能是在函數調用期間變量可能會被意外更改。是以,程式員需要在代碼中進行處理以避免這種不确定性。

Q-29:trunc() 函數的傳回值是多少?

Python trunc() 函數執行數學運算以從特定表達式中删除十進制值并提供整數值作為其輸出。

Q-30:Python 函數必須傳回一個值嗎?

函數完全沒有必要傳回任何值。但是,如果需要,我們可以使用 None 作為傳回值。

Q-31:Python 中的 continue 有什麼作用?

continue 是 Python 中的跳轉語句,它移動控制以執行循環中的下一次疊代,而塊中的所有剩餘指令均未執行。

continue 語句适用于“while”和“for”循環。

Q-32:Python 中 id() 函數的用途是什麼?

id() 是 Python 中的内置函數之一。

Signature: id(object)

1

它接受一個參數并傳回與輸入對象關聯的唯一辨別符。

Q-33:*args 在 Python 中有什麼作用?

我們在函數頭中使用 *args 作為參數。它使我們能夠傳遞 N(可變)個參數。

請注意,這種類型的參數文法不允許将命名參數傳遞給函數。

使用 *args 的示例:

# Python code to demonstrate 
# *args for dynamic arguments 
def fn(*argList):  
    for argx in argList:  
        print (argx) 
   
fn('I', 'am', 'Learning', 'Python')
輸出:
I
am
Learning
Python      

Q-34:**kwargs 在 Python 中做什麼?

我們還可以在 Python 函數聲明中使用 **kwargs 文法。它讓我們傳遞 N(可變)個可以命名或關鍵字化的參數。

使用 **kwargs 的示例:

# Python code to demonstrate 
# **kwargs for dynamic + named arguments 
def fn(**kwargs):  
    for emp, age in kwargs.items(): 
        print ("%s's age is %s." %(emp, age)) 
   
fn(juejin=8, Haiyong=22, Tom=32)
輸出:
juejin's age is 6.
Haiyong's age is 22.
Tom's age is 32.      

Q-35:Python 有 Main() 方法嗎?

main() 是入口點函數,它恰好在大多數程式設計語言中首先被調用。

由于 Python 是基于解釋器的,是以它會逐行逐行執行代碼。

Python 也有一個 Main() 方法。但是每當我們通過直接單擊它或從指令行啟動它來運作我們的 Python 腳本時,它就會被執行。

我們還可以使用 Python if 語句覆寫 Python 預設的 main() 函數。請看下面的代碼。

print("Welcome") 
print("__name__ contains:", __name__) 
def main(): 
    print("Testing the main function") 
if __name__ == '__main__': 
    main()
輸出:
Welcome
__name__ contains:  __main__
Testing the main function