Python基礎知識匯總
1.Anaconda的安裝
百度Anaconda的官網,下載左邊的Python3.X版本
然後是設置路徑,最後給出Jupyter notebook。具體參考:
猴子:初學python者自學anaconda的正確姿勢是什麼??
不過平時練習的時候我個人習慣用Enthought Canopy,但比起Anaconda有些中文字元的編寫不兼容。下載鏈接如下:Canopy | Scientific Python Packages & Analysis Environment | Enthought
2.Python的四個關鍵點
2.1數據
python常用數據類型有5類:
(1) 字元串(String)
在python中字元串用「」或者『』分隔
(2) 數字類型:整數 ,浮點數
(3) 容器 :列表、集合、字典、元祖
① 列表(List):列表是可變的,方便增加、修改和刪減數據。列表有許多方便的函數,例如:
在函數中使用列表時為防止循環的同時使列表發生改變,可以使用
L1=L[:]
從而複製列表,保持原列表L不變。
② 元組(Tuple):元祖是不可變的,使用(),只有一個元素的元祖要加逗號:
(9,)
③ 集合(Sets):中學的知識里我們知道,集合的三個特性是:無序性,互異性,確定性。即集合中不會存在重複元素,在python中用{}表示集合。集合也有很多相關函數:
創建空集:
交集並集與做差:
判斷子集:
清空:
刪除元素:
替換:
增加元素:
④ 字典(Dictionary):字典最大的特徵是鍵值對應。鍵值對用冒號(:)分割,整個字典用{}隔開。字典是一個很好用的工具,我們可以通過字典利用增加內存來降低演算法的複雜度。
(4) 布爾值 :True、False(注意大小寫)
(5) None
2.2條件判斷
if語句可以通過判斷條件是否成立來決定是否執行某個語句
if-else語句就是在原有的if成立執行操作的基礎上,當不成立的時候,也執行另一種操作
if-elif-else語句例子:
2.3循環
循環有for循環while循環兩種,我們常用的是for循環
while True:
可以用來開啟循環。
來看一個用循環輸出字典中存儲的數據的例子:
continue用於跳出當前循環(繼續執行接下來的循環),break用於退出整個循環(接下來的循環不再執行)
2.4函數
函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段。我們使用def語句來定義函數。
這個函數是使用遞歸計算x的n次方。
Python的作用域一共有2種:全局作用域,局部作用域。定義在函數內部的變數擁有一個局部作用域,定義在函數外的擁有全局作用域。 局部變數只能在其被聲明的函數內部訪問,而全局變數可以在整個程序範圍內訪問。
3.模塊和包
模塊是擴展名為.py的文件,包含所有你定義的函數和變數的文件。模塊可以被別的程序引入,以使用該模塊中的函數等功能。
導入模塊常用的導入方法是寫一條import語句並在其中指定模塊名,或者使用from...import...as...就可以程序中使用該模塊中的所有函數。
下面是一些最常用的模塊:
import osimport collections import Iterable #可迭代對象from PIL import Image #圖像處理import numpy as np #Numpy庫import math #math模塊import pandas as pd #pandas庫
4.數據結構
4.1棧
棧是先入後出,後入先出的。新來的數據加在棧的最前面。
4.2隊列
不同於棧,隊列是先入先出的,新來的數據加到隊列最後。
4.3計數器
計數器用於追蹤值的出現次數
4.4排序字典
排序字典能夠按照字典中插入key的順序,對字典進行排序。對字典里的數據進行迭代,按插入的順序訪問key值,利用collections中的OrderedDict
5.一些需要注意的地方
學習代碼最重要的是多加練習,這裡給出幾個非常不錯的學習網站。
菜鳥教程python基礎訓練100題:http://www.runoob.com/python/python-100-examples.html
廖雪峰python入門:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
MIT計算機科學和Python編程導論:http://www.xuetangx.com/courses/course-v1:MITx+6_00_1x+sp/about
推薦閱讀:
※Windows 下安裝python版本xgboost
※python
※記一次調試python內存泄露的問題
※【小林的OpenCV基礎課 2】Hello World!