你想入門Python,還是得看這篇文章
Python簡介
Python語言介紹
python的創始人:Guido Van Rossum
Python是一門什麼樣的語言
編程語言主要從以下幾個角度進行分類:編譯型,靜態型,動態性,強類型定義語言和弱類型定義語言
(1)編譯型:有一個負責翻譯的程序來對我們的源代碼進行轉換,生成對應的可執行代碼,這個過程就是編譯(Compile),而負責編譯的程序就被稱為編譯器(Compiler)
(2)通常我們所說的動態語言,靜態語言是指動態類型語言和靜態類型語言
(3)動態類型語言:是指在運行期間採取做數據類型檢查的語言。即在用動態類型的語言編程時,永遠也不用給任何變數指定數據類型,該語言會在你第一次賦值給變數時,在內部將數據類型記錄下來。典型的是python和Ruby
(4)靜態類型語言:數據類型是在編譯期間檢查的,也就是說在寫程序的時候要聲明所有變數的數據類型。C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#,JAVA
Python能做什麼
Web應用開發 Python經常被用於Web開發。比如,通過mod_wsgi模塊,Apache可以運行用Python編寫的Web程序。Python定義了WSGI標準應用介面來協調Http伺服器與基於Python的Web程序之間的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以讓程序員輕鬆地開發和管理複雜的Web程序。 操作系統管理、伺服器運維的自動化腳本 在很多操作系統里,Python是標準的系統組件。 大多數Linux發行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在終端下直接運行Python。有一些Linux發行版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用操作系統功能的庫。通過pywin32這個第三方軟體 包,Python能夠訪問Windows的COM服務及其它Windows API。使用IronPython,Python程序能夠直接調用.Net Framework。一般說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。 科學計算 NumPy,SciPy,Matplotlib可以讓Python程序員編寫科學計算程序。 桌面軟體 PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程序的利器。 伺服器軟體(網路軟體) Python對於各種網路協議的支持很完善,因此經常被用於編寫伺服器軟體、網路爬蟲。第三方庫Twisted支持非同步網路編程和多數標準的網路協議(包含客戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高性能的伺服器軟體。 遊戲 很多遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、伺服器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。 構思實現,產品早期原型和迭代 YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。
Python的優缺點
優點:簡單、開發效率高、高級語言、可移植性、可擴展性、可嵌入性
缺點:速度慢,但是相對的、代碼不能加密、線程不能利用多CPU問題
Python解釋器
Cpython、IPython、PyPy、Jython、IronPython
Python的安裝
Linux下的安裝
#安裝sqlite-devel
yum -y install sqlite-devel
#安裝依賴
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
#下載安裝
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
mkdir -p /usr/local/python3
tar -zxvf Python-3.6.1.tgz
cd Python-3.6.1
./configure --prefix=/usr/local/python3
make
make install
#軟連接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
#環境
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH
source ~/.bash_profile
Windows下的安裝
1、下載安裝包
https://www.python.org/downloads/
2、安裝
默認安裝路徑:C:python35
3、配置環境變數
【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:python35,切記前面有分號
Python入門
字元編碼
python解釋器在載入 .py 文件中的代碼時,會對內容進行編碼(默認ascill)
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個位元組),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號。
顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字元和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。Unicode 是為了解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,規定雖有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536,
註:此處說的的是最少2個位元組,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組保存、歐洲的字元用2個位元組保存,東亞的字元用3個位元組保存...
python2.x版本,默認支持的字元編碼為ASCll python3.x版本,默認支持的是Unicode,不用聲明字元編碼可以直接顯示中文
注釋
單行注視:# 被注釋內容
多行注釋:""" 被注釋內容 """
注釋快捷鍵:選中被注釋的內容,ctrl+?注釋選中的內容,再次ctrl+?取消注釋
關鍵字
python一些具有特殊功能的標示符,這就是所謂的關鍵字
關鍵字,是python已經使用的了,所以不允許開發者自己定義和關鍵字相同的名字的標示符
and as assert break class continue def del
elif else except exec finally for from global
if in import is lambda not or pass
print raise return try while with yield
可以通過下面的方式查看關鍵字
importkeyword
print(keyword.kwlist)
格式化輸出
變數
變數定義的規則: 變數名只能是 字母、數字或下劃線的任意組合 變數名的第一個字元不能是數字 關鍵字不能聲明為變數名
運算符
常用數據類型轉換
判斷語句
if-else
if 條件: 滿足條件時要做的事情1 滿足條件時要做的事情2 滿足條件時要做的事情3 ...(省略)... else: 不滿足條件時要做的事情1 不滿足條件時要做的事情2 不滿足條件時要做的事情3 ...(省略)...
實例:
name = input("請輸入用戶名字:")
password = input("請輸入密碼:")
if name == "root" and password == "123":
print("root login success")
else:
print("用戶名或密碼錯誤")
elif
if xxx1: 事情1elif xxx2: 事情2elif xxx3: 事情3
當xxx1滿足時,執行事情1,然後整個if結束
當xxx1不滿足時,那麼判斷xxx2,如果xxx2滿足,則執行事情2,然後整個if結束
當xxx1不滿足時,xxx2也不滿足,如果xxx3滿足,則執行事情3,然後整個if結束
實例:
if嵌套
if 條件1: 滿足條件1 做的事情1 滿足條件1 做的事情2 ...(省略)... if 條件2: 滿足條件2 做的事情1 滿足條件2 做的事情2 ...(省略)...
循環語句
while循環
while 條件: 條件滿足時,做的事情1 條件滿足時,做的事情2 條件滿足時,做的事情3 ...(省略)...
實例:求1到100的總和
while循環嵌套
while 條件1: 條件1滿足時,做的事情1 條件1滿足時,做的事情2 條件1滿足時,做的事情3 ...(省略)... while 條件2: 條件2滿足時,做的事情1 條件2滿足時,做的事情2 條件2滿足時,做的事情3 ...(省略)...
實例: 九九乘法表
結果:
for循環
在Python中 for循環可以遍歷任何序列的項目,如一個列表或者一個字元串等。
for臨時變數in 列表或者字元串等: 循環滿足條件時執行的代碼else: 循環不滿足條件時執行的代碼
實例:
name ="derek"
foriinname:
print(i)
break和continue
break的作用:用來結束整個循環continue的作用:用來結束本次循環,緊接著執行下一次的循環
深淺拷貝
要理解深淺拷貝,需先弄懂下面的概念
變數-引用-對象(可變對象,不可變對象)-切片-拷貝(淺拷貝,深拷貝)
變數是一個系統表的元素,擁有指向對象的連接的空間
對象是被分配的一塊內存,存儲其所代表的值
引用是自動形成的從變數到對象的指針
在Python中不可變對象指:一旦創建就不可修改的對象,包括字元串,元祖,數字
在Python中可變對象是指:可以修改的對象,包括:列表、字典
不可變對象賦值
a的值發生改變,b不會跟著改變
可變對象賦值
a的值發生改變,b也跟著改變
要想b的值不會改變,就要用到copy模塊了
深淺拷貝
淺拷貝:只拷貝頂級的對象,或者說:父級對象
深拷貝:拷貝所有對象,頂級對象及其嵌套對象。或者說:父級對象及其子對象
結論
深淺拷貝都是對源對象的複製,佔用不同的內存空間
如果源對象只有一級目錄的話,源做任何改動,不影響深淺拷貝對象
如果源對象不止一級目錄的話,源做任何改動,都要影響淺拷貝,但不影響深拷貝
序列對象的切片其實是淺拷貝,即只拷貝頂級的對象
作者:zhang_derek
源自:http://www.cnblogs.com/derek1184405959/p/8041517.html
聲明:文章著作權歸作者所有,如有侵權,請聯繫小編刪除
※Python實現顏值預測
※推薦幾款好用的Python IDE
TAG:python |