1. 程式人生 > >Learning Python(1)---Python 基礎篇

Learning Python(1)---Python 基礎篇

Python 基礎

變數

在Python中,等號=是賦值語句,可以把任意資料型別賦值給變數,同一個變數可以反覆賦值,而且可以是不同型別的變數。

這種變數本身型別不固定的語言稱之為動態語言,與之對應的是靜態語言。

常量

但事實上常量仍然是一個變數,Python根本沒有任何機制保證常量不會被改變,所以,用全部大寫的變數名錶示常量只是一個習慣上的用法

List和Tuple

classmates = ['Michael', 'Bob', 'Tracy']
print(classmates) >>> ['Michael', 'Bob', 'Tracy']

List可以獲得倒數元素

Print(classmates[-1]) >>>  'Tracy'

切片:

L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
>>> L[0:3]
['Michael', 'Sarah', 'Tracy']
 

列表生成式

list(range(1, 11)) >>>  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[x * x for x in range(1, 11)]  >>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

生成器

>>> L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
<generator object <genexpr> at 0x1022ef630>

建立L和g的區別僅在於最外層的[]和(),L是一個list,而g是一個generator。

可以通過next(g)得到generator的下一個返回值,直到計算到最後一個元素,沒有更多的元素時,丟擲StopIteration的錯誤。

或者使用for迴圈

g = (x * x for x in range(10))
for n in g:
     print(n)

list和tuple是Python內建的有序集合,一個可變,一個不可變。

因為tuple不可變,所以程式碼更安全。如果可能,能用tuple代替list就儘量用tuple。

條件判斷

If condition_1:
         Dosomething
Else if conditon_2:
Do another thing
Else:
        Do nothig

迴圈

For迴圈

names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
sum = 0
for x in range(101):
   sum = sum + x
print(sum)

以直接作用於for迴圈的資料型別有以下幾種:

一類是集合資料型別,如listtupledictsetstr等;

一類是generator,包括生成器和帶yield的generator function。

這些可以直接作用於for迴圈的物件統稱為可迭代物件:Iterable

enumerate() 

enumerate() 函式用於將一個可遍歷的資料物件(如列表、元組或字串)組合為一個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下標從 1 開始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

while

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

字典

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])>>> 95

函式

Deffunction_name(input_1 , input_2, ….):
         Output_1 = input_1
    Output_2 = input_2
         Return Output_1, output_2

當返回值為多個時,返回值為tuple