變數儲存在記憶體中的值。這就意味著在創建變數時會在記憶體中開闢一個空間。
基於變數的資料類型,解釋器會分配指定內存,並決定什麼資料可以儲存在記憶體中。
因此,變數可以指定不同的資料類型,這些變數可以儲存整數,小數或字元。
變數賦值
Python中的變數不需要聲明,變數的賦值運算既是變數宣告與定義的過程。
每個變數在記憶體中創建,都包括變數的標識,名稱和資料這些資訊。
每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。
等號(=)用來賦值變數。
等號(=)運算子左邊是一個變數名,等號(=)運算子右邊是儲存在變數中的值。例如:
#!/usr/bin/python counter = 100 # An integer assignment miles = 1000.0 # A floating point name = "John" # A string print counter print miles print name
以上實例中,100,1000.0和"John"分別賦值給counter,miles,name變數。
執行以上程序會輸出以下結果:
100
1000.0
John
同時為多個變數賦值。例如:a = b = c = 1 以上實例,並建立一個整數物件,值為1,記憶體上分配到相同記憶體的相同記憶體。 您也可以為多個物件指定多個變數。例如:a, b, c = 1, 2, "john" 實例,並分配整數和2 john"分配給變數c。 標準資料型別在記憶體中儲存的資料可以有多種型別。 例如,person.s年齡作為一個數值存儲和他或她的地址是字母數字字元存儲。 Python有一些標準類型用於定義操作上,他們和為他們每個人的存儲方法可能。 Python有五個標準的資料型別:Numbers(數字)String(字串)List(列表)Tuple(元組)DictionTuple(字典)Diction
數字資料類型用於儲存數值。 他們是不可改變的資料類型,這意味著改變數位資料類型會分配一個新的物件。 當你指定一個值時,Number物件就會被建立:var1 = 1var2 = 10 del語句的語法是:del var1[,var2[,var3[....,varN]]] 語
語
對象。例如:del vardel var_a, var_b Python(H代表八進位與十六進位])float(浮點型)complex(複數)實例一些數值類型的實例: 10 51924361L 0.0 3.14j 100 -0x19323L100 -0x19323L 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAN 29843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 3e+26J
0x69 -7j
長整型也可以使用小寫"L",但還是建議您使用大寫"L",避免與數字" 1"混淆。 Python使用"L"來顯示長整型。
Python也支持複數,複數由實數部分和虛數部分構成,可以用a + bj,或complex(a,b)表示, 複數的實部a和虛部b都是浮點型
Python字串
字串或字串(String)是由數字、字母、底線組成的一串字元。
一般記為 :
s="a1a2a3···"
它是程式語言中表示文字的資料類型。
python的字串列表有2種取值順序:
從左到右索引預設0開始的,最大範圍是字串長度少1
從右到左索引預設-1開始的,最大範圍是字串開頭
如果你的實要取得一段子字串的話,可以用到變數[頭下標:尾下標],就可以截取對應的字串,其中下標是從0開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。
例如:
s = "ilovepython"
s[1:5]的结果是love。
当使用以冒号分隔的字符串,python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。
上面的结果包含了s[1]的值l,而取到的最大范围不包括上边界,就是s[5]的值p。
加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:
#!/usr/bin/python str = "Hello World!" print str # 输出完整字符串 print str[0] # 输出字符串中的第一个字符 print str[2:5] # 输出字符串中第三个至第五个之间的字符串 print str[2:] # 输出从第三个字符开始的字符串 print str * 2 # 输出字符串两次 print str + "TEST" # 输出连接的字符串
以上实例输出结果:
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
Python列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
列表用[ ]标识。是python最通用的复合数据类型。看这段代码就明白。
列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:
#!/usr/bin/python List = [ "abcd", 786 , 2.23, "john", 70.2 ] tinylist = [123, "john"] print List # 输出完整列表 print List[0] # 输出列表的第一个元素 print List[1:3] # 输出第二个至第三个的元素 print List[2:] # 输出从第三个开始至列表末尾的所有元素 print tinylist * 2 # 输出列表两次 print List + tinylist # 打印组合的列表
以上实例输出结果:
["abcd", 786, 2.23, "john", 70.200000000000003]
abcd
[786, 2.23]
[2.23, "john", 70.200000000000003]
[123, "john", 123, "john"]
["abcd", 786, 2.23, "john", 70.200000000000003, 123, "john"]
Python元组
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。
#!/usr/bin/python Tuple = ( "abcd", 786 , 2.23, "john", 70.2 ) tinytuple = (123, "john") print Tuple # 输出完整元组 print Tuple[0] # 输出列表的第一个元素 print Tuple[1:3] # 输出第二个至第三个的元素 print Tuple[2:] # 输出从第三个开始至列表末尾的所有元素 print tinytuple * 2 # 输出元组两次 print Tuple + tinytuple # 打印组合的元组
以上实例输出结果:
("abcd", 786, 2.23, "john", 70.2)
abcd
(786, 2.23)
(2.23, "john", 70.2)
(123, "john", 123, "john")
("abcd", 786, 2.23, "john", 70.2, 123, "john")
以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:
#!/usr/bin/python Tuple = ( "abcd", 786 , 2.23, "john", 70.2 ) List = [ "abcd", 786 , 2.23, "john", 70.2 ] Tuple[2] = 1000 # 错误!元组中是非法应用 List[2] = 1000 # 正确!列表中是合法应用
Python元字典
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
#!/usr/bin/python dict = {} dict["one"] = "This is one" dict[2] = "This is two" tinydict = {"name": "john","code":6734, "dept": "sales"} print dict["one"] # 输出键为"one" 的值 print dict[2] # 输出键为 2 的值 print tinydict # 输出完整的字典 print tinydict.keys() # 输出所有键 print tinydict.values() # 输出所有值
输出结果为:
This is one This is two {"dept": "sales", "code": 6734, "name": "john"} ["dept", "code", "name"] ["sales", 6734, "john"]
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数
描述
int(x [,base])
将x转换为一个整数
long(x [,base] )
将x转换为一个长整数
float(x)
将x转换到一个浮点数
complex(real [,imag])
创建一个复数
str(x)
将对象 x 转换为字符串
repr(x)
将对象 x 转换为表达式字符串
eval(str)
用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)
将序列 s 转换为一个元组
list(s)
将序列 s 转换为一个列表
set(s)
转换为可变集合
dict(d)
創建一個字典。 d 必須是一個序列 (key,value)元組。
frozenset(s)
轉換為不可變集合
轉換為不可變集合
將一個整數轉換成一個字元 unichr(x) 將一個整數轉換為Unicode字符
hex(x)
將整數轉換為一個十六進位字串