1对供、Python編碼
Python中默認的編碼格式是 ASCII 格式逾苫,在沒修改編碼格式時無法正確打印漢字铺纽,所以在讀取中文時會報錯柬帕。
解決方法為只要在文件開頭加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了
File "test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
注意:#coding=utf-8 的 = 號兩邊不要空格。
2狡门、Python基礎(chǔ)語法
-
第一行Python代碼
print ("Hello, Python!")
注意:Python2.7可以不加括號陷寝,但Python3.x都需要在print后加括號。
假設(shè)你已經(jīng)設(shè)置了 Python 解釋器 PATH 變量其馏。使用以下命令運行程序:
python test.py
-
Python標(biāo)識符
在 Python 里凤跑,標(biāo)識符由字母、數(shù)字叛复、下劃線組成仔引。
在 Python 中,所有標(biāo)識符可以包括英文褐奥、數(shù)字以及下劃線(_)咖耘,但不能以數(shù)字開頭。
Python 中的標(biāo)識符是區(qū)分大小寫的撬码。
以下劃線開頭的標(biāo)識符是有特殊意義的儿倒。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問耍群,不能用 from xxx import *
而導(dǎo)入义桂;
以雙下劃線開頭的 __foo 代表類的私有成員;以雙下劃線開頭和結(jié)尾的 foo 代表 Python 里特殊方法專用的標(biāo)識蹈垢,如 init() 代表類的構(gòu)造函數(shù)慷吊。
Python 可以同一行顯示多條語句,方法是用分號 ; 分開曹抬,如:
>>> print 'hello';print 'runoob';
hello
runoob
-
Python保留字符
下面的列表顯示了在Python中的保留字溉瓶。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識符名稱谤民。
所有 Python 的關(guān)鍵字只包含小寫字母堰酿。
and | exec | not |
---|---|---|
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
-
Python注釋
python中單行注釋采用 # 開頭;多行注釋使用三個單引號(''')或三個雙引號(""")张足。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py
# 單行注釋
print ("Hello World!!!")
'''
這是多行注釋触创,使用單引號。
這是多行注釋为牍,使用單引號哼绑。
這是多行注釋岩馍,使用單引號。
'''
"""
這是多行注釋抖韩,使用雙引號蛀恩。
這是多行注釋,使用雙引號茂浮。
這是多行注釋双谆,使用雙引號。
"""
-
print輸出
print 默認輸出是換行的席揽,如果要實現(xiàn)不換行需要在變量末尾加上逗號 ,
#!/usr/bin/python
# -*- coding: UTF-8 -*-
x="a"
y="b"
# 換行輸出
print x
print y
print '---------'
# 不換行輸出
print x,
print y,
# 不換行輸出
print x,y
3顽馋、Python變量類型
-
Python標(biāo)準(zhǔn)數(shù)據(jù)類型
在內(nèi)存中存儲的數(shù)據(jù)可以有多種類型。
例如驹尼,一個人的年齡可以用數(shù)字來存儲趣避,他的名字可以用字符來存儲。
Python 定義了一些標(biāo)準(zhǔn)類型新翎,用于存儲各種類型的數(shù)據(jù)程帕。
Python有五個標(biāo)準(zhǔn)的數(shù)據(jù)類型:
- Numbers(數(shù)字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
-
Python數(shù)字
Python支持四種不同的數(shù)字類型:
- int(符號整型)
- long(長整型[也可以代表八進制和十六進制])
- float(浮點型)
- complex(復(fù)數(shù))
長整型也可以使用小寫 l,但是還是建議您使用大寫 L地啰,避免與數(shù)字 1 混淆愁拭。Python使用 L 來顯示長整型。
Python 還支持復(fù)數(shù)亏吝,復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成岭埠,可以用 a + bj,或者 complex(a,b) 表示, 復(fù)數(shù)的實部 a 和虛部 b 都是浮點型蔚鸥。
-
Python字符串
字符串或串(String)是由數(shù)字惜论、字母、下劃線組成的一串字符止喷。
python的字串列表有2種取值順序:
- 從左到右索引默認0開始的馆类,最大范圍是字符串長度少1
- 從右到左索引默認-1開始的,最大范圍是字符串開頭
>>> a="helloworld"
>>> a[-1:0]
''
>>> a[-1]
'd'
>>> a[ : ]
'helloworld'
>>> a[len(a)-1]
'd'
>>> a[-1:3:-1] # 有疑惑
'dlrowo'
如果你要實現(xiàn)從字符串中獲取一段子字符串的話弹谁,可以使用變量 [頭下標(biāo):尾下標(biāo)]乾巧,就可以截取相應(yīng)的字符串,其中下標(biāo)是從 0 開始算起预愤,可以是正數(shù)或負數(shù)沟于,下標(biāo)可以為空表示取到頭或尾。
加號(+)是字符串連接運算符植康,星號(*)是重復(fù)操作
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = 'Hello World!'
print str # 輸出完整字符串
print str[0] # 輸出字符串中的第一個字符
print str[2:5] # 輸出字符串中第三個至第五個之間的字符串
print str[2:] # 輸出從第三個字符開始的字符串
print str * 2 # 輸出字符串兩次
print str + "TEST" # 輸出連接的字符串
-
Python列表
List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型旷太。
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。它支持字符销睁,數(shù)字泳秀,字符串甚至可以包含列表(即嵌套)标沪。
列表用 [ ] 標(biāo)識,是 python 最通用的復(fù)合數(shù)據(jù)類型嗜傅。
列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] ,就可以截取相應(yīng)的列表檩赢,從左到右索引默認 0 開始吕嘀,從右到左索引默認 -1 開始,下標(biāo)可以為空表示取到頭或尾贞瞒。
加號 + 是列表連接運算符偶房,星號 * 是重復(fù)操作。
# -*- coding: UTF-8 -*-
list = [ 'runoob', 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 # 打印組合的列表
-
Python元組
元組是另一個數(shù)據(jù)類型军浆,類似于List(列表)棕洋。
元組用"()"標(biāo)識。內(nèi)部元素用逗號隔開乒融。但是元組不能二次賦值掰盘,相當(dāng)于只讀列表。
# -*- coding: UTF-8 -*-
tuple = ( 'runoob', 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 # 打印組合的元組
元組是不允許更新的赞季。而列表是允許更新的
-
Python字典
字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型愧捕。列表是有序的對象集合,字典是無序的對象集合申钩。
兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的次绘,而不是通過偏移存取。
字典用"{ }"標(biāo)識撒遣。字典由索引(key)和它對應(yīng)的值value組成
# -*- coding: UTF-8 -*-
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() # 輸出所有值
-
Python數(shù)據(jù)類型轉(zhuǎn)換
有時候邮偎,我們需要對數(shù)據(jù)內(nèi)置的類型進行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換义黎,你只需要將數(shù)據(jù)類型作為函數(shù)名即可禾进。
以下幾個內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換。這些函數(shù)返回一個新的對象轩缤,表示轉(zhuǎn)換的值命迈。
函數(shù) | 描述 |
---|---|
int(x [,base]) | 將x轉(zhuǎn)換為一個整數(shù) |
long(x [,base] ) | 將x轉(zhuǎn)換為一個長整數(shù) |
float(x) | 將x轉(zhuǎn)換到一個浮點數(shù) |
complex(real [,imag]) | 創(chuàng)建一個復(fù)數(shù) |
str(x) | 將對象 x 轉(zhuǎn)換為字符串 |
repr(x) | 將對象 x 轉(zhuǎn)換為表達式字符串 |
eval(str) | 用來計算在字符串中的有效Python表達式,并返回一個對象 |
tuple(s) | 將序列 s 轉(zhuǎn)換為一個元組 |
list(s) | 將序列 s 轉(zhuǎn)換為一個列表 |
set(s) | 轉(zhuǎn)換為可變集合 |
dict(d) | 創(chuàng)建一個字典。d 必須是一個序列 (key,value)元組火的。 |
frozenset(s) | 轉(zhuǎn)換為不可變集合 |
chr(x) | 將一個整數(shù)轉(zhuǎn)換為一個字符 |
unichr(x) | 將一個整數(shù)轉(zhuǎn)換為Unicode字符 |
ord(x) | 將一個字符轉(zhuǎn)換為它的整數(shù)值 |
hex(x) | 將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串 |
oct(x) | 將一個整數(shù)轉(zhuǎn)換為一個八進制字符串 |