將命令結果賦給變數 了解Python基礎變數型別

2021-10-16 02:19:50 字數 2900 閱讀 6428

泰迪學院-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...