第二講:Python 基礎知識學習
根據猴子老師的要求,已看完菜鳥教程里的Python3教程,雖然後面的網路編程看不太懂,但前面的基本內容都已熟悉,並將裡面的實例代碼一一實踐。菜鳥教程對於零基礎的小白來說有些還是有點難懂,然後又看了廖雪峰老師的Python教程,並在網易課堂找了視頻來學習。多管齊下,理解會更透徹。
猴子老師這一關課程的主要內容也是針對Python的基礎知識學習,務必讓我們為後面更深層次的學習打好基礎。
以下是我學習猴子老師的課程後結合菜鳥教程等做的總結和實踐。
一、人生苦短,我用Python
Python的意義之於數據分析,就是當下越來越流行的分析工具,學會它可以緊跟時代的步伐,提高工作效率等。大家按需學習,不多贅述。
二、安裝Python
首先下載並安裝Anaconda,Anaconda是包管理器和環境管理器,裡面附帶了一大批常用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。安裝步驟猴子老師已經寫的非常詳細,但我還是安裝了三遍才完全弄明白(勤能補拙?)。請見初學python者自學anaconda的正確姿勢是什麼??
其次在Anaconda中安裝Jupyter notebook,猴子老師說它是數據分析的草稿本,可以能將代碼、文檔等這一切集中到一處,讓用戶一目了然。具體步驟猴子老師也詳細寫出,不贅述,請見jupyter notebook 可以做哪些事情?
安裝好後輸入人生中第一行Python代碼:
三、Python的四個基本關鍵點:數據、條件判斷、循環、函數
(一)數據:是數據分析的原材料,有五個類型:字元串,數字,容器,布爾,None
- 在 Python 中,變數沒有類型,我們所說的"類型"是變數所指的內存中對象的類型。等號(=)用來給變數賦值。等號運算符左邊是一個變數名,等號運算符右邊是存儲在變數中的值。
- Python中單行注釋以 # 開頭,多行注釋可以用多個 # 號,還有 和 """
1、字元串(String)
- Python中的字元串用單引號()或雙引號(")括起來,同時使用反斜杠()轉義特殊字元。
- 索引值以 0 為開始值,-1 為從末尾的開始位置;
- 注意:print (str[2:5])表示輸出從索引為2到索引為5,但不包括索引為5的字元;
- Python中的字元串不能改變;
示例:
2、數字(Number)
- 整型:即整數,包括負數
- 浮點型:即小數
示例:
3、容器:包括列表、元祖、集合、字典
1)列表(List)
- 列表是寫在方括弧[ ]之間、用逗號分隔開的元素列表;
- 列表中元素的類型可以不相同,它支持數字,字元串甚至可以包含列表(所謂嵌套);
- List中的元素是可以改變的。
示例:
2)元祖(Tuple)
- 元組寫在小括弧( )里,元素之間用逗號隔開;
- 元組(tuple)與列表類似,但元組的元素不能修改;
- 雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表;
- 構造包含 0 個或 1 個元素的元組比較特殊,有一些額外的語法規則
tup1 = ( ) # 空元組
tup2 = (2,) # 一個元素,需要在元素後添加逗號
示例:
3)集合(Set)
- 集合是一個無序不重複元素的序列。基本功能是進行成員關係測試和刪除重複元素。
- 可以使用大括弧 { } 或者 set() 函數創建集合;注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
示例:
4)字典(Dictionary)
- 字典是一種映射類型,用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合;
- 不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住;
- 鍵必須不可變,所以可以用數字、字元串或元組充當,而不能用列表。
- 列表是有序的對象結合,字典是無序的對象集合。兩者間的區別:字典當中的元素是通過鍵來存取,而不是通過偏移存取。
示例:
4、布爾值(Bool)
- 布爾值和布爾代數的表示完全一致,一個布爾值只有
True
、False
兩種值; - 布爾值可以用
and
、or
和not
運算; - 布爾值經常用在條件判斷中。
示例:
5、空值(None)
- None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
示例:
(二)、條件判斷
- 主要有if ,if···else , if···elif(else if)三種
- 一般單(多)個條件判斷的格式為:
if <條件判斷1>: <執行1>
elif <條件判斷2>:
<執行2>else: <執行3>- 邊界條件有:值比較和邏輯比較
示例:
(三)、循環
- 把容器中的每一個數據都按照特定的規則進行重複處理;
- 有for和while循環,python中使用較多的是for循環;
- for循環語句的基本格式為:
- break語句可以提前退出循環;
- continue語句,跳過當前的這次循環,直接開始下一次循環。
示例:
(四)、函數
- 函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段;
- 在Python中有許多內置函數可直接調用,也可自定義函數;
- 自定義函數的一般格式為:
- 參數傳遞:如果函數參數是字元串、元祖和數字這三種不可更改的對象,參數傳遞時,相當於傳遞的是複製出來的數據,對於數據本身沒有影響;
- 變數作用域:定義在函數內部的變數擁有一個局部作用域,定義在函數外的擁有全局作用域。局部變數只能在其被聲明的函數內部訪問,而全局變數可以在整個程序範圍內訪問。調用函數時,所有在函數內聲明的變數名稱都將被加入到作用域中。
示例:
四、模塊和包
- 模塊是一個包含所有你定義的函數和變數的文件,其後綴名是.py。模塊可以被別的程序引入,以使用該模塊中的函數等功能;
- 模塊有內置模塊和第三方的包;
- 引入模塊方法:import+包名稱/ import+包名稱+as+別名/ from+包名稱+import+函數名。
示例:
五、數據結構(collections)
1、雙向列表:隊列和棧
- 使用List 存儲數據時,按索引訪問元素很快,但是插入和刪除元素就很慢,因為List是線性存儲,信息量大時,插入和刪除效率很低。
- deque函數可用於隊列和棧中, 高效實現插入和刪除操作的雙向列表。
- 可用append()、pop()、appendleft()、popleft()實現插入和刪除操作。
示例:
2、排序字典
- 一般字典生成元素是無序的,可用Ordered()函數排序
示例:
3、計數器
- 可用Counter()函數自動計算元素出現的次數
示例:
六、總結
- 學習Python理論要結合實踐才能真正理解。
- 儘管教程或課程上有些示例看起來簡單,可當自己照著來敲代碼,還是會出現很多問題,而這些問題就是自己不理解的地方,解決了,也就進步了。
- 群內小夥伴們都太給力,我也要加油!
推薦閱讀:
※5大招式,提升數據增長必備的「數據思維」
※一鍵製作同環比,從此業務分析不必愁~
※大數據時代的入門書單(一)
TAG:数据分析 |