Python核心編程

註釋

和大部分腳本語言一樣,Python也是用#標示註釋。

變量與賦值

Python是動態類型語言,也就是說不需要預先聲明變量的類型。

變量的聲明也沒有相應的關鍵字,

例如

conter = 0  #整數賦值

miles = 1000.0   #浮點數賦值

name = ‘liwei’   #字符串賦值

counter = counter + 1   #對整數加1

n = n*10

數字

Python 支持五種基本數據類型,其中有三種是整數類型。

int (有符號整型)

long (長整型)

bool(布爾型)

float(浮點型)

complex(複數)

字符串

Python支持使用成對的單引號或者雙引號。

三引號(連續的三個單引號或者雙引號)可以用來包含特殊字符。

使用索引運算符([ ])和切片運算符([ : ])可以得到子字符串。

字符串有其特有的索引規則:第一個字符的索引是0,最後一個字符的索引是 –1.

(+)加號用於字符串連接;星號(*)則用於字符串重複。

pystr = ‘python’

iscool = ‘is cool!’

>>>print pystr[0]

'p’

>>>pystr[2:5]

'tho’

>>> pystr + iscool

'pythonis cool'

>>> pystr*5

'pythonpythonpythonpythonpython'


列表和元組

可以將列表和元組當成普通的數組,他們能夠保存任意數量任意類型的Python對象。

列表和元組的幾點重要區別:

列表元素用[ ]包裹,元素的個數以及元素的值可以改變。

元組元素用小括號(())包裹,不可以更改。(儘管他們的內容可以)。

元組可以看成是隻讀的列表。

通過切片運算([ ]和[ : ])可以得到子集,這一點與字符串的使用方法一樣。

列表:

>>> alist = [1,2,3,4]

>>> alist

[1, 2, 3, 4]

>>> alist[0]

1

>>> alist[2:]

[3, 4]

>>>


元組:

>>> aTuple = ('robots',77,93,'try')

>>> aTuple

('robots', 77, 93, 'try')

>>> aTuple[:3]

('robots', 77, 93)

>>> aTuple[1]=5

Traceback (most recent call last):

File "", line 1, in

TypeError: 'tuple' object does not support item assignment

字典

字典是Python中的映射數據類型,工作原理類似perl中的關聯數組或者哈希表,由鍵-值(key-value)對組成。

幾乎所有類型的Python對象都可以用作鍵。

值可以是任意類型的Python對象,字典元素用大括號({})包裹。

>>> aDict = {'host':'earth'}

>>> aDict['port'] = 80

>>> aDict

{'host': 'earth', 'port': 80}

>>> aDict.keys()

['host', 'port']

>>> aDict['host']

'earth'


>>> for key in aDict:

...          print key,aDict[key]

...

host earth

port 80

>>>

代碼塊&&流程控制語句

代碼塊通過縮進對齊表達代碼邏輯而不是使用大括號,因爲沒有了額外的字符,程序的可讀性更高。

if 語句

if expression:

if_suite

if…else

if expression:

if_suite

else:

else_suite


if expression1:

if_suite

elif expression2:

elif_suite

else:

else_suite

while 循環

while expression:

while_suite

for 循環

Python中的for接受可迭代對象(例如序列或者迭代器)作爲其參數,每次迭代其中一個元素。

>>> for item in ['e-mail','net-surfing','homework','chat']:

...     print item

...

e-mail

net-surfing

homework

chat

在print item 後面增加一個,改變輸出方式

>>> for item in ['e-mail','net-surfing','homework','chat']:

...     print item,

...

e-mail net-surfing homework chat


>>> foo = 'abc'

>>> for c in foo:

...     print c

...

a

b

c

>>> foo =['abc',123,999,010]

>>> for c in foo:

...     print c

...

abc

123

999

8

>>>

列表解析

這是一個讓人欣喜的術語,表示你可以在一行中使用一個for循環將所有值放到一個列表當中

>>> squared =[x**2 for x in range(4)]   #x **2 x的平方

>>> for i in squared:

...     print i

...

0

1

4

9

>>>

列表解析可以做更復雜的事,比如挑選符合要求的值填入列表

>>> sqdEvents =[x **2 for x in range(8) if not x % 2]

>>> for i in sqdEvents:

...     print i

...

0

4

16

36

>>>

函數

類似其他的語言,Python中的函數使用小括號()調用。函數在調用之前必須先定義。

如果函數中沒有return語句,就會自動返回None對象。

Python是通過應用調用的。這意味着函數內對參數的改變會影響到原始對象。不過事實上只有可變對象會受此影響,對不可變對象來說,他的行爲類似按值調用。

定義函數:

def function_name([arguments]):

"optional documentation string”

function_suite

定義一個函數的語法由def 關鍵字以及緊隨其後的函數名再加上該函數的需要的幾個參數組成。

>>> def addme2me(x):

...     'apply + operation to argument'

...     return (x+x)

...

>>> addme2me(3)

6


類是面向對象編程的核心,它扮演相關數據及邏輯的容器角色。他們提供了創建“真實”對象(也就是實例)的藍圖。因爲Python並不強求你以面向對象的方式編程(與java不同),

類的定義:

class ClassName(base_class[es]):

“optional documentation string”

static_member_declarations

method_declarations

使用class 關鍵字定義類。可以提供一個可選的父類或者說基類;如果沒有合適的基類,那就使用object作爲基類。class行之後是可選的文檔字符串,靜態成員定義,以及方法定義。

如何創建實例

fool = FooClass()

Created a class instance for John Doe

模塊

模塊是一種組織形式,他將彼此有關係的Python代碼組織到一個個獨立文件當中。

模塊可以包含可執行代碼,函數和類或者這些東西的組合。

當你創建了一個Python源文件,模塊的名字就是不帶.py後綴的文件名。一個模塊創建之後,你可以從另一個模塊是重用import語句導入這個模塊來使用。

如何導入模塊

import module_name

如何訪問一個模塊函數或者訪問一個模塊變量

module.function()

module.variable


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章