泰迪學院-python基礎
在python中,變數不需要提前宣告,建立時直接對其賦值即可,變數型別由賦給變數的值決定。值得注意的是,一旦要建立乙個變數時,就需要給該變數賦值。
有一種「平民」的說法是,變數好比乙個標籤,指向記憶體空間的一塊特定的位址。建立乙個變數時,在機器的記憶體中,系統會自動給該變數分配一塊記憶體,用於存放變數值。如圖1所示。
通過id函式具體檢視建立變數和變數重新賦值時記憶體空間的變化過程,如**1所示。
**1 記憶體空間的變化
>>>x = 4>>>id(x) # 檢視變數x指向的記憶體位址30834096l>>>y = x # 將變數x重新賦給另乙個新變數y>>>id(y)30834096l>>>x = 2 # 對變數x重新賦值》x,y # 同時輸出變數x和變數y的值(2,4)>>>id(x)30834144l>>>id(y)30834096l
從**1中可以直觀地看出,乙個變數在初次賦值時,就會獲得一塊記憶體空間用於存放變數值。當令變數y等於變數x時,其實是一種記憶體位址傳遞,變數y獲得的是儲存變數x值的記憶體位址,所以當變數x改變時,變數y並不會發生改變。此外,還可以看出,變數x的值改變時,系統已經重新分配了另一塊記憶體空間供新的變數值存放。
建立乙個變數,首先需要乙個變數名和變數值(資料),然後通過賦值將值賦給變數。
1. 變數名
變數的命名嚴格遵守識別符號的規則,這在前文(2.1.6命名識別符號與儲存字元)已經作了詳細的介紹,讀者可以返回前文重新查閱和鞏固。
python中還有一類非保留字的特殊字串(如內建函式名),這些字串具有某種特殊功能,雖然用於變數名時不會出錯,但會造成相應的功能喪失。如len函式可以用來返回字串長度,但是一旦用來定義變數時,其就失去了返回字串長度的功能。因此,在取變數名時,不僅要避免python中的保留字,還要避開具有特殊作用的字串,以確保發生一些不必要的錯誤,如**2所示。
**2 變數名注意事項
>>>import keyword # 載入keyword庫》keyword.iskeyword(「and」) # 判斷「and」是否為保留字 true>>>and = 「我是保留字」 # 以保留字作為變數名 file "", line 1 and = '我是保留字' ^syntaxerror: invalid syntax>>>strexample = 「我是乙個字串」 # 建立乙個字串變數》len(strexample) # 使用len函式檢視字串長度7>>>len = 「特殊字串命名」 # 使用len作為變數名》len特殊字串命名》len(strexample) # len函式檢視字串長度出錯traceback (most recent call last): file "", line 1, in typeerror: 'str' object is not callable
如果在一段**中有大量變數名,而這些變數沒有錯,只是取名都很隨意,風格不一,這樣在在解讀**時會出現一些混淆。接下來介紹幾種命名法。
(1) 大駝峰(upper camel case)
所有單詞的首字母都是大寫,例如「myname,youfamily」……
大駝峰一般用於類的命名。
(2) 小駝峰(lower camel case)
第乙個單詞的首字母為小寫字母,其餘單詞的首字母都採用大寫字母,例如「myname」,「youfamily」……
小駝峰用在函式名和變數名中的情況比較多。
(3) 下劃線(_)分隔
所有單詞都採用小寫字母,中間用下劃線(_)分隔開,例如「my_name,you_family」……
關於要使用哪種方法去對變數命名,並沒有乙個統一的說法,重要的是一旦選擇好了一種命名方式,在後續的程式編寫過程保持一致的風格即可。
2. 變數值
變數值就是要賦給變數的資料,在python中有六個標準的資料型別:數字(number)、字串(string)、列表(list)、元組(tuple)、字典(dictionary)、集合(sets),其中列表、元組、字典、集合屬於復合資料型別。
3. 變數賦值
最簡單的變數賦值就是把乙個變數值賦給乙個變數名,只需要用等號(=)就可以實現。
同時python還可以將乙個值同時賦給多個變數,如**3所示。
**3 變數賦值
>>>a = b = c = 1 # 乙個值賦給多給變數》a1>>>b1>>>c1
**3展示了將數字1同時付給了變數a、b、c。如果要將數字1,2和字串「abc」分別賦值給變數a、b、c就是使用逗號(,),具體可以如**4所示。
**4 多個變數同時賦值
>>>a,b,c =1,2,」abc」 # 多個變數同時賦值》a1>>>b2>>>c『abc』
泰迪智慧型工作室出品
dos下將命令的執行結果賦給變數
在使用spark時,需要在spark env.cmd中,為環境變數spark dist classpath賦值,賦的值是執行命令 hadoop classpath 的返回結果。如果是在linux環境下,比較簡單,直接 export spark dist classpath hadoop classp...
將命令結果賦給變數 C語言 統計選票結果的程式
例38 有三個候選人,每個選民只能投給乙個人,要求用c語言編乙個統計選票的程式,先後輸入備選人的的名字,最後輸出各人的得票結果。解題思路 需要設計乙個結構陣列,陣列中包含3個元素,每個元素中的資訊應包括候選人的姓名和得票數。源 演示 include 標頭檔案 include 引入strcmp str...
linux c語言將系統呼叫的執行結果賦給變數
c語言中一說呼叫系統命令,都會想起system,這是system的用法 int system char command 因此可見system返回的是乙個int型的變數,並不是該命令的執行結果,因此需要另外的函式popen來實現 include file popen const char comman...