在python里,標識符有字母、數字、下劃線組成。
在python中,所有標識符可以包括英文、數字和下劃線(_),但不能以數字開頭。
python中的標識符是辨別大小寫的。
以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用”from xxx import *”而導入;
以雙下劃線開頭的(foo)代表類的私有成員;以雙下劃線開頭和結尾的(__foo)代表python里特殊方法專用的標識,如init()代表類的構造函數。
下面的列表顯示了在Python中的保存字。這些保存字不能用作常數或變數,或任何其他標識符名稱。
所有Python的關鍵字只包括小寫字母。
學習Python與其他語言最大的區分就是,Python的代碼塊不使用大括號({})來控制類,函數和其他邏輯判斷。python最具特點的就是用縮進來寫模塊。
縮進的空白數量是可變的,但是所有代碼塊語句必須包括相同的縮進空白數量,這個必須嚴格履行。以下所示:
if True:
print "True"
else:
print "False"
以下代碼將會履行毛病:
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
# 文件名:test.py
if True:
print "Answer"
print "True"
else:
print "Answer"
# 沒有嚴格縮進,在履行時保持
print "False"
履行以上代碼,會出現以下毛病提示:
$ python test.py
File “test.py”, line 5
if True:
^
IndentationError: unexpected indent
IndentationError: unexpected indent 毛病是python編譯器是在告知你”Hi,老兄,你的文件里格式不對了,多是tab和空格沒對齊的問題”,所有python對格式要求非常嚴格。
如果是 IndentationError: unindent does not match any outer indentation level毛病表明,你使用的縮進方式不1致,有的是 tab 鍵縮進,有的是空格縮進,改成1致便可。
因此,在Python的代碼塊中必須使用相同數目的行首縮進空格數。
建議你在每一個縮進層次使用 單個制表符 或 兩個空格 或 4個空格 , 切記不能混用
Python語句中1般以新行作為為語句的結束符。
但是我們可使用斜杠( \)將1行的語句分為多行顯示,以下所示:
total = item_one + \
item_two + \
item_three
語句中包括[], {} 或 () 括號就不需要使用多行連接符。以下實例:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Python 接收單引號(’ ),雙引號(” ),3引號(”’ “”“) 來表示字符串,引號的開始與結束必須的相同類型的。
其中3引號可以由多行組成,編寫多行文本的快捷語法,經常使用語文檔字符串,在文件的特定地點,被當作注釋。
word = 'word'
sentence = "這是1個句子。"
paragraph = """這是1個段落。
包括了多個語句"""
python中單行注釋采取 # 開頭。
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
# 文件名:test.py
# 第1個注釋
print "Hello, Python!"; # 第2個注釋
輸出結果:
Hello, Python!
注釋可以在語句或表達式行末:
name = "Madisetti" # 這是1個注釋
python 中多行注釋使用3個單引號(''')或3個雙引號(""")。
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
# 文件名:test.py
'''
這是多行注釋,使用單引號。
這是多行注釋,使用單引號。
這是多行注釋,使用單引號。
'''
"""
這是多行注釋,使用雙引號。
這是多行注釋,使用雙引號。
這是多行注釋,使用雙引號。
"""
函數之間或類的方法之間用空行分隔,表示1段新的代碼的開始。類和函數入口之間也用1行空行分隔,以突出函數入口的開始。
空行與代碼縮進不同,空行其實不是Python語法的1部份。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于往后代碼的保護或重構。
記住:空行也是程序代碼的1部份。
下面的程序在按回車鍵后就會等待用戶輸入:
#!/usr/bin/python
raw_input("\n\nPress the enter key to exit.")
以上代碼中 ,”\n\n”在結果輸出前會輸出兩個新的空行。1旦用戶按下鍵時,程序將退出。
Python可以在同1行中使用多條語句,語句之間使用分號(;)分割,以下是1個簡單的實例:
#!/usr/bin/python
import sys; x = 'runoob'; sys.stdout.write(x + '\n')
履行以上代碼,輸入結果為:
$ python test.py
runoob
縮進相同的1組語句構成1個代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束,該行以后的1行或多行代碼構成代碼組。
我們將首行及后面的代碼組稱為1個子句(clause)。
以下實例:
if expression :
suite
elif expression :
suite
else :
suite
很多程序可以履行1些操作來查看1些基本信,Python可使用-h參數查看各參數幫助信息:
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
在內存中存儲的數據可以有多種類型。
例如,person.s年齡作為1個數值存儲和他或她的地址是字母數字字符存儲。
Python有1些標準類型用于定義操作上,他們和為他們每一個人的存儲方法可能。
Python有5個標準的數據類型:
數字數據類型用于存儲數值。
他們是不可改變的數據類型,這意味著改變數字數據類型會分配1個新的對象。
當你指定1個值時,Number對象就會被創建:
var1 = 1
var2 = 10
您也能夠使用del語句刪除1些對象援用。
del語句的語法是:
del var1[,var2[,var3[....,varN]]]]
您可以通過使用del語句刪除單個或多個對象。例如:
del var
del var_a, var_b
Python支持4種不同的數字類型:
實例
1些數值類型的實例:
字符串或串(String)是由數字、字母、下劃線組成的1串字符。
1般記為 :
s="a1a2···an"(n>=0)
它是編程語言中表示文本的數據類型。
python的字串列表有2種取值順序:
如果你的實要獲得1段子串的話,可以用到變量[頭下標:尾下標],就能夠截取相應的字符串,其中下標是從0開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。
比如:
s = 'ilovepython'
s[1:5]的結果是love。
當使用以冒號分隔的字符串,python返回1個新的對象,結果包括了以這對偏移標識的連續的內容,左側的開始是包括了下邊界。
上面的結果包括了s[1]的值l,而取到的最大范圍不包括上邊界,就是s[5]的值p。
加號(+)是字符串聯接運算符,星號(*)是重復操作。以下實例:
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
str = 'Hello World!'
print str # 輸出完全字符串
print str[0] # 輸出字符串中的第1個字符
print str[2:5] # 輸出字符串中第3個至第5個之間的字符串
print str[2:] # 輸出從第3個字符開始的字符串
print str * 2 # 輸出字符串兩次
print str + "TEST" # 輸出連接的字符串
以上實例輸出結果:
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
List(列表) 是 Python 中使用最頻繁的數據類型。
列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串乃至可以包括列表(所謂嵌套)。
列表用[ ]標識。是python最通用的復合數據類型。看這段代碼就明白。
列表中的值得分割也能夠用到變量[頭下標:尾下標],就能夠截取相應的列表,從左到右索引默許0開始的,從右到左索引默許⑴開始,下標可以為空表示取到頭或尾。
加號(+)是列表連接運算符,星號(*)是重復操作。以下實例:
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 輸出完全列表
print list[0] # 輸出列表的第1個元素
print list[1:3] # 輸出第2個至第3個的元素
print list[2:] # 輸出從第3個開始至列表末尾的所有元素
print tinylist * 2 # 輸出列表兩次
print list + tinylist # 打印組合的列表
以上實例輸出結果:
['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']
元組是另外一個數據類型,類似于List(列表)。
元組用”()”標識。內部元素用逗號隔開。但是元組不能2次賦值,相當于只讀列表。
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 輸出完全元組
print tuple[0] # 輸出元組的第1個元素
print tuple[1:3] # 輸出第2個至第3個的元素
print tuple[2:] # 輸出從第3個開始至列表末尾的所有元素
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
# -*- coding: UTF⑻ -*-
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # 元組中是非法利用
list[2] = 1000 # 列表中是合法利用
字典(dictionary)是除列表之外python當中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。
二者之間的區分在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用”{ }”標識。字典由索引(key)和它對應的值value組成。
#!/usr/bin/python
# -*- coding: UTF⑻ -*-
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']
有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你只需要將數據類型作為函數名便可。
以下幾個內置的函數可以履行數據類型之間的轉換。這些函數返回1個新的對象,表示轉換的值。