Learning Python(1)---Python 基礎篇
阿新 • • 發佈:2019-02-19
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
迴圈的資料型別有以下幾種:
一類是集合資料型別,如list
、tuple
、dict
、set
、str
等;
一類是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