機器學習基礎環境—Python基礎
阿新 • • 發佈:2018-11-25
Python介紹
- 特點
- 面向物件
- 解析性語言
- 解析器:CPython、JPython、IronPython(net)、PYPY
- 用途
- 網頁開發、機器學習、網路爬蟲、科學計算
- Python應用例項
- 雅虎地圖、Youtube、豆瓣網
Python版本
- Python版本:Python2.X和Python3.X
- Python2和Python3的差異
- print
- python2:print是語句:
- python3:print是函式
- 編碼方式
- 檢視方式:print (“python:”,sys.getdefaultencoding())
- 設定編碼:
# -*- coding: utf-8 -*-或#coding=utf-8
- python2:ascii碼
- python3:utf-8(Unicode 碼)
- 在Python3下面使用encode和decode來進行編碼和解碼
- 在python2中使用python3的函式
- from future
- from future
- 輸入方式
- python2:input可識別輸入型別;raw_input輸入型別為string
- python3:input 輸入型別為string
- 輸出方式
- python2:迴圈中橫向列印:print i,
- python3:迴圈中橫向列印:print (i,end=" ")
- 輸出樣式:
- print (“name:”,name,“age;”,age)
- print (“name:”+name+",age:"+str(age))
- print (“name:{},age:{}”.format(name,age))
- print (“name:{0},age:{1}”.format(name,age))
- print (“name:%s,age:%d”%(name,age)) # %s 字串 %d 整型 %f 浮點型
- print
Python和Anaconda
- Python的原生版本
- 沒有整合資料科學開發庫
- Anaconda資料科學開發環境
- Anaconda(水蟒)是資料科學環境
- 內部已經集成了Python環境,並且在整合環境的基礎上,已經安裝好了很多的資料科學包
- 只要安裝了Anaconda之後,可以使用其中Python環境和眾多資料科學包
- 版本
- Anaconda2-4.1.1-py27-Windows-x86_64
- ·Anaconda2-4.1.1是Anaconda版本,py27是Python的版本
- Anaconda3-5.2.0-py36-Windows-x86_64
- Anaconda2-4.1.1-py27-Windows-x86_64
- Jupyter Notebook
- Anaconda 自帶,資料科學開發環境
- 通過一個web伺服器啟動提供一個書寫Python程式的互動環境—底層使用ipython
- 簡單使用:建立資料夾、python檔案
- eg:
# Alt+Enter 執行 \n import matplotlib.pyplot as plt \n plt.plot([1,2,3],[3,2,1]) \n plt.show()
- eg:
- 修改jupyter的檔案路勁
- 預設:C:\Users\使用者\Documents
- 修改其中檔案jupyter_notebook_config.py的202行為計算機本地存在的路勁。 若該配置檔案不存在:cd C:\Users\使用者.jupyter和jupyter notebook --generate-config即可建立
- IPython
- Anaconda 自帶,Python 的互動式命令列 Shell
- Spyder
- Anaconda 自帶,使用簡單的圖形介面開發環境(IDE)
- Python包管理——whl包(輪子檔案)
- Python安裝第三方庫的網站叫PYPI(Python Package Index)
- 管理命令:
- pip list 顯示所有包
- pip install -U 以更新方式安裝
- pip uninstall 解除安裝
- conda管理資料科學環境 —— 安裝一個類似沙箱環境
- conda和pip類似均為安裝、解除安裝或管理python第三方包
- Anaconda(水蟒)是資料科學環境
Python基礎語法
- 常見方法
- 獲取當前路勁:import os
- os.getcwd()
- os.chdir(str):修改路勁
- 獲取網站內容:import requests
- text1=requests.get(“https://www.baidu.com”)
- text1.encoding、text1.url、text1.text
- 導包方式
- way1:
import math \n print (math.sin(0))
- way2:
from math import sin \n print (sin(0))
- way3:
from math import sin as f \n print(f(0))
- way4:
import numpy as np \n print(np.random.random())
- way1:
- 獲取當前路勁:import os
- Python基礎資料型別
- 檢視變數型別:type()
- 檢視變數在記憶體中的地址:id()
- 引號
- 單引號/雙引號:字串
- 三個單引號/雙引號:原樣輸出—— 去掉前後的換行:\
- 數值運算
# 隨機數——用於產生測試資料、點名
import random
print (random.random()) # [0, 1)
print (random.randint(1,10)) # [a, b]
print (random.randrange(1,10,2)) # 1-10的奇數
x=[1,2,3,4]
random.shuffle(x)
print (x)
# 科學計數法
print (3.14e2)
print (3.14e-2)
# 複數型別 1+2j j**2=-1
# 形如z=a+bi的數稱為複數(complex number),其中規定i為虛數單位,a,b是任意實數
# (1+2j)(1+2j)=1+4j+4j**2=1+4j-4=-3+4j
print (complex(1,2)) # (1+2j)
print (complex(1,2)**2) # (-3+4j)
# 運算子:+ - * 乘法 / 除法 // 整除 ** 冪 % 取模
print (3**2) # 9
print (6//4) # 1
# += -= *= /= %= **= //=
a=3
b=3
a**=b
print (a) # 27
# & 按位與 | 按位或 ^ 按位異或 << 左移 >> 右移
# 8421
a=5 # 0101
b=3 # 0011
print (a|b) # 0111 7
print (a&b) # 0001 1
print (a^b) # 0110 6 相同為0,不同為1
print (a<<2) # 左移 20
IDE工具——pycharm
- 地址:https://www.jetbrains.com/pycharm/download
- 新建模板: Editor–Color Style–File and Templates–Python-Script
# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author : Xxx
# @File : ${NAME}.py
- 常用快捷鍵
Ctrl+/ 註釋
Ctrl+Shift+F10 執行程式碼(當前檔案)
Shift+F10 執行程式碼(上次執行的)
Ctrl+Alt+F10 執行程式碼(選擇執行)
Ctrl+Alt+V 抽取變數
Ctrl+Alt+M 抽取方法
Ctrl+Alt+L 格式化程式碼