之所以學習 Python ,本意是想寫一些腳本之類的程序,用來在瀏覽器爬一些自己想要的文字,圖片等資料,這些程序其實 GitHub 蠻多的,但奈何我對後端的語言一竅不通,直接拿過來給我用我都不會。
因此就萌生了先學習 Python 基礎知識的想法,一直聽說廖雪峰的 Python 教程寫得不錯,這次趁著這個機會要好好研讀一番。也沒想說用得多牛逼,至少希望能為自己淺薄的技術棧再增加一點光彩,畢竟我也曾夢想成為一個全棧開發。
下載安裝完 Python 環境,就開始學習吧!
運行我的第一個 python 程序#
print('hello,world')
數據類型#
在 Python 中,能直接處理的數據類型有幾種,整數、浮點數、字符串、布爾值、空值、變量。
這與其他語言其實差別並不大,數據類型基本都是相似的,大概只有變量有自己的特性,所以我單獨拿出來記錄一下。
變量#
python 是一門動態語言,在賦值時可以不斷改變,比如:
a = 123
print(a) # 終端輸出數值 123
a = 'abc'
print(a) # 終端輸出字符串 abc
這是允許的,而在 Java 中則不行,它是一門靜態語言,如果多次賦值會報錯。相對來說,動態語言更靈活,當然,各有利弊罷了。
並且在賦值上面有一個邏輯順序,比如定義一個 a = 'a'
的變量。在 Python 中其實走了兩步,先創造了一個字符串 a
,然後將這個字符串賦值給變量 a 。
其實這在數學上是有些反邏輯的,x = x + 2
這個計算是行不通的在數學上,但是在計算機中,先計算 x + 2
,然後將其賦值給左側的 x
,這是計算機的邏輯。
x = 1
x = x + 2
print(x) # 3
其實很多計算機語言都是如此,比如我們所熟知的 js 等等。
如果有多個變量相互賦值的話,都是一行一行執行
a = 1
b = a
a = 2
print(a)
print(b)
最後輸出的結果分別是 2
, 1
Python 支持多種數據類型,在計算機內部,可以把任何數據都看成一個 “對象”,而變量就是在程序中用來指向這些數據對象的,對變量賦值就是把數據和變量給關聯起來。
對變量賦值 x = y 是把變量 x 指向真正的對象,該對象是變量 y 所指向的。隨後對變量 y 的賦值不影響變量 x 的指向。
注意:Python 的整數沒有大小限制,而某些語言的整數根據其存儲長度是有大小限制的,例如 Java 對 32 位整數的範圍限制在 - 2147483648-2147483647。
Python 的浮點數也沒有大小限制,但是超出一定範圍就直接表示為 inf(無限大)。---《廖雪峰的官方網站》
字符串和編碼#
Python 提供了兩個處理編碼的屬性,ord
和 chr
ord('舒')
# 33298
# 將字符串轉換為整數表示
chr(33298)
# '舒'
# 將整數表示的內容轉換為字符串
list#
list
類似於 js 中的 Array
,是多個數據的列表,寫法如下
>>> classmates = ['a', 'b', 'c']
>>> classmates
['a', 'b', 'c']
這時候我們就可以說變量 classmates
是一個 list。
有一個 len()
可以輸出 list 元素的個數
>>> len(classmates)
>>> 3
同時 list 也有索引,從 0 開始,最後一個索引是 len(classmates)-1
,同時如果想直接輸出最後一個元素,可以使用 classmates[-1]
.
>>> classmates[-1]
>>> 'c'
既然都可以用 -1
表示最後一個元素,能不能用 -2
表示倒數第二個呢?答案是可以的。
>>> classmates[-2]
>>> 'b'
另外需要注意的是,在使用索引時不可超出範圍,否則會報出下面的錯誤。
>>> classmates[4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
list 是一個可變的有序列表,可以往裡面添加或者刪除元素。
- append 在末尾添加元素
>>> classmates.append('d')
>>> classmates
['a', 'b', 'c', 'd']
- insert 在指定位置添加元素
其中 1
是索引,表示在索引為 1 的地方插入元素,後面的元素自然往後順延。
>>> classmates.insert(1, 'd')
>>> classmates
['a', 'd', 'b', 'c']
- pop 刪除末尾的元素
>>> classmates.pop()
'c' # 輸出的時候被刪除的元素
>>> classmates
['a', 'b']
- pop (i) 刪除指定位置的元素
>>> classmates.pop(1)
'b' # 輸出被刪除的元素
>>> classmates
['a', 'c']
>>>