自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python變量使用中的細節(jié)講解

開發(fā) 后端
Python變量需要大家不斷的學習和不斷的進行鞏固。下面我們就來先學習下Python變量如何進行編寫。希望對大家有所幫助。

Python變量在使用的時候需要大家詳細的進行學習,因為在很多的地方需要使用到有關(guān)變量。如果你能理解這句話,說明對Python變量與數(shù)據(jù)類型已經(jīng)有了不錯的認識。

看看C#與Python在變量與數(shù)據(jù)類型方面的差異就可以。如果你還有疑惑,那么就請完整的讀一下這一章吧。

Python變量聲明和定義

與C#不同,Python在使用變量之前無須定義它的類型,試著運行下面的例子:

  1. i = 12 print i 

從上邊我們可以看到,變量 i 在使用前并不需要定義,但是必須聲明以及初始化該變量。試著運行下面的例子:

  1. i = 1 
  2. print i + j 

上面的代碼會產(chǎn)生一個異常:“NameError: name 'j' is not defined”,Python提示變量 j 沒有定義。這點和BASIC等弱類型的語言不一樣。在BASIC中,執(zhí)行上述代碼的時候不會產(chǎn)生異常,你可以在EXCEL的VBA開發(fā)環(huán)境里試一下,把print改為MsgBox就可以,結(jié)果會輸出 1 。這說明Python并不是一種類似BASIC的弱類型語言。

另一方面,Python與C#有一個很大的差異就是在程序運行過程中,同一變量名可以(在不同階段)代表不同類型的數(shù)據(jù),看看下邊的例子:

  1. i = 1   
  2. print i,type(i),id(i)  
  3. i = 10000000000 
  4. print i,type(i),id(i)  
  5. i = 1.1  
  6. print i,type(i),id(i) 

變量 i 的類型在程序執(zhí)行過程中分別經(jīng)歷了int、long和float的變化,這和靜態(tài)類型語言(如C等)有很大不同。靜態(tài)語言只要一個變量獲得了一個數(shù)據(jù)類型,它就會一直是這個類型,變量名代表的是用來存放數(shù)據(jù)的內(nèi)存位置。而Python中使用的變量名只是各種數(shù)據(jù)及對象的引用,用id()獲取的才是存放數(shù)據(jù)的內(nèi)存位置,我們輸入的1、10000000000和1.1三個數(shù)據(jù)均會保存在id()所指示的這些內(nèi)存位置中,直到垃圾回收車把它拉走(在系統(tǒng)確定你不再使用它的時候)。這是動態(tài)語言的典型特征,它確定一個變量的類型是在給它賦值的時候。

另一方面,Python又是強類型的,試著運行下邊的例子:

  1. # -*- coding: utf-8 -*-  
  2. i = 10j = 'ss' 
  3. print i+j   
  4. #正確的寫法是print str(i)+j,輸出10ss 

會產(chǎn)生一個異常:“TypeError: unsupported operand type(s) for +: 'int' and 'str'”。在BASIC等弱類型的語言中,上邊的例子會正常運行并返回(雖然有時候是不可預(yù)期的)結(jié)果。

所以,我們說Python既是一種動態(tài)類型語言,同時也是一種強類型的語言,這點是和C#不同的地方。對于Python的這種變量的聲明、定義和使用方式,C#程序員可能要花一段時間去適應(yīng),不過相信你會很快就喜歡上它,因為它讓事情變得更加簡單(而且不會不安全)。而且,C# 4.0 已經(jīng)開始用類似的方式定義和使用變量(通過在變量名前加關(guān)鍵字dynamic),如果你先學了Python變量,將能夠更快的適應(yīng)C# 4.0的動態(tài)編程特征。#t#

Python變量的命名規(guī)則

Python與C#的變量(以及函數(shù)、類等其它標識符)的命名規(guī)則基本一樣,同樣對大小寫敏感。不一樣的地方是,Python中以下劃線開始或者結(jié)束的標識符通常有特殊的意義。例如以一個下劃線開始的標識符(如 _foo)不能用from module import *語句導(dǎo)入。前后均有兩個下劃線的標識符,如__init__,被特殊方法保留。前邊有兩個下劃線的標識符,如__bar,被用來實現(xiàn)類私有屬性,這個將在“類和面向?qū)ο缶幊?rdquo;中再說。

最后,Python的關(guān)鍵字不能作為標識符(這個大家都知道),不過Python的關(guān)鍵字比C#要少得多,可以google一下,這里就不列出了。

 

責任編輯:張浩 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2023-09-17 23:32:03

內(nèi)置函數(shù)編程Python

2023-10-09 22:30:58

Python函數(shù)

2009-10-22 14:46:09

網(wǎng)絡(luò)綜合布線系統(tǒng)

2020-11-26 12:29:17

Namespace容器底層

2021-04-09 06:15:54

開源工具Python編程語言

2015-01-07 14:41:32

Android全局變量局部變量

2010-02-01 14:28:37

Python全局變量

2010-03-15 09:53:16

Python函數(shù)變量

2017-02-08 12:28:37

Android變量總結(jié)

2023-03-28 09:58:56

Python變量

2016-08-31 15:50:50

PythonThreadLocal變量

2010-08-06 14:39:38

2014-11-20 16:02:22

WatchKit

2013-05-15 09:31:52

產(chǎn)品產(chǎn)品體驗產(chǎn)品細節(jié)

2024-05-29 08:49:22

Python全局變量局部變量

2010-03-15 10:24:20

Python函數(shù)變量

2022-03-01 23:31:29

Python編程語言變量

2009-06-30 10:59:38

fckeditorJSP

2021-04-12 16:18:24

CPUFetchLinuxCPU

2010-03-15 10:49:57

Python函數(shù)變量
點贊
收藏

51CTO技術(shù)棧公眾號