3-1.
標識符。為什麼Python中不需要變數名和變數型別宣告?
【答案】這部分答案是網上找到的。
Python語言中對象的類型和記憶體都是運行時確定的。在建立也就是賦值時,解譯器會根據文法和右側的運算元來決定新對象的類型。
因為變數在第一次賦值的時候就被自動聲明了。Python是無類型的語言。
Python既是動態類型語言(因為它不使用顯示資料類型聲明,在運行期間才去確定資料類型),又是強型別語言(因為只要一個變數獲得了一個資料,它就一直就是這個資料的資料類型了)。
3-2.
標識符。為什麼Python中不需要聲明函數類型?
【答案】這部分答案是網上找到的。
函數沒有定義返回的資料類型。 Python不需要提定傳回值的資料類型;甚至不需要指定是否有傳回值。實際上,每個Python函數都返回一個值;如果函數執行過return語句,它將返回指定的值,否則將返回None(Python 的空值)。
3-3.
標識符。為什麼應當避免在變數名的開始和結尾使用雙底線?
【答案】
因為變數名__xxx__對Python來說有特殊含義,對於普通的變數應當避免這種命名風格。
3-4.
語句。在Python中一行可以書寫多個語句嗎?
【答案】
可以。
3-5.
語句。在Python中可以將一個語句分成多行書寫嗎?
【答案】
可以。
3-6.
變數賦值。
(a)指派陳述式x, y, z = 1, 2, 3會在x、y、z中分別賦什麼值?
(b)執行z, x, y = y, z, x後,x、y、z中分別含有什麼值?
【答案】
>>> x, y, z = 1, 2, 3
>>> z, x, y = y, z, x
>>> x, y, z
(3, 1, 2)
>>>
3-7.
標識符。下面哪些是Python合法的標識符?如果不是,請說明理由。在合法的標識符中,哪些是關鍵字?
int32 40XL $aving$ printf print
_print this self __name__ 0X40L
bool true big-daddy 2hot2touch type
thisIsn'tAVar thisIsAVar R_U_Ready Int True
if do counter-1 access -
【答案】
Python標識符字串規則和其他大部分用C編寫的進階語言相似:
第一個字元必須是字母或底線“_”;剩下的字元可以是字母數字或底線;大小寫敏感。
int32、printf、_print、this、self、__name__、bool、true、type、thisIsAVar、R_U_Ready、Int、True、do、access是Python合法的標識符。
print、if、是Python合法的標識符且是關鍵字。
40XL、$aving$、0X40L、big-daddy、2hot2touch、thisIsn'tAVar、counter-1、-不是Python合法的標識符。