俗話說的好,千里之行始於足下。無論做什麼事情,基礎都是最重要的,當你以為自己「精通」某語言的時候,有沒有問過自己:
「能不能把這些知識,用最簡單的話說出來,讓不懂的人也能聽明白?」
當你真正精通某語言的時候,我相信你一定能做到。如果做不到,那就需要往下看,再學習一下基礎。
為了幫助大家徹底理解Python,七月在線針對各大知識點進行了圖片化和文字化顯示。
涵蓋了大量文字概念和程式碼的邏輯處理思路以及對應案例,可以直接透過文字概念和圖片的邏輯處理流程,來輔助自己對知識的消化和吸收。
一、認識Python
Python 是一種電腦程式設計語言。是一種動態的、物件導向的腳本語言,最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型專案的開發。
Python 的創始人為荷蘭人吉多·範羅蘇姆(Guido van Rossum)。 1989 年聖誕節期間,在阿姆斯特丹,Guido 為了打發聖誕節的無趣,決心發展一個新的腳本解釋程序,作為ABC語言的一種繼承。
ABC 是 Guido 參加設計的教學語言。
就 Guido 本人看來,ABC 這種語言非常優美且強大,是專門為非專業程式設計師設計的。
但是 ABC 語言並沒有成功,究其原因,Guido 認為是其非開放性造成的。
Guido 決心在 Python 中避免此錯誤。同時,他也想實現在 ABC 中閃過但未曾實現的東西。
就這樣,Python 在 Guido 手中誕生了。
可以說,Python 是從 ABC 發展。 Python 已成為最受歡迎的程式設計語言之一。
自從 2004 年以後,python 的使用率則呈現線性成長。 Python2 於 2000 年 10 月 16 日發布,且穩定版本為 Python2.7 。
Python3 於 2008年 12 月 3 日發布,不完全相容於Python2。2011年1月,它被 TIOBE 程式語言排行榜評為 2010 年度語言。
由於 Python 語言的簡潔性、易讀性以及可擴展性,在國外用 Python 做科學計算的研究機構日益增多,一些知名大學已經採用 Python 來教授程式設計課程。
例如卡內基美隆大學的程式設計基礎、麻省理工學院的電腦科學及程式設計導論就使用 Python 語言來講授。
眾多開源的科學計算軟體包都提供了 Python 的調用接口,例如著名的計算機視覺庫OpenCV 、三維可視化庫 VTK 、醫學圖像處理 庫 ITK 。
而 Python 專用的科學計算擴充庫就更多了,如下面3個十分經典的科學計算擴展庫:NumPy、SciPy 和 matplotlib,它們分別為 Python提供了快速數組處理、數值運算以及繪圖功能。
因此 Python 語言及其眾多的擴充庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製作圖表,甚至開發科學計算應用程式。
相關推薦:《Python影片教學》
#二、Python應用場景
1. Web應用開發
Python經常被用於Web開發。例如,透過mod_wsgi模組,Apache可以運行用Python編寫的Web程式。
Python定義了WSGI標準應用介面來協調Http伺服器與基於Python的Web程式之間的通訊。一些Web框架,如Django,TurboGears,web2py,Zope等,可以讓程式設計師輕鬆開發和管理複雜的Web程式。
2. 作業系統管理、伺服器運維的自動化腳本
在很多作業系統裡,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腳本。
3. 網路爬蟲
Python有大量的HTTP請求處理庫和HTML解析庫,並且有成熟且高效的爬蟲框架Scrapy和分散式解決方案scrapy-redis,在爬蟲的應用方面非常廣泛。
4. 科學計算
NumPy、SciPy、Pandas、Matplotlib可以讓Python程式設計師編寫科學計算程式。
5. 桌面軟體
PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程式的利器。
6. 伺服器軟體(網路軟體)
Python對於各種網路協定的支援很完善,因此經常被用於編寫伺服器軟體、網路爬蟲。
第三方程式庫Twisted支援非同步網路程式設計和多數標準的網路協定(包含客戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高效能的伺服器軟體。
7.遊戲
很多遊戲使用C 編寫圖形顯示等高效能模組,而使用Python或Lua編寫遊戲的邏輯、伺服器。
相較於Python,Lua的功能更簡單、體積更小;而Python則支援更多的特性和資料類型。
8. 構思實現,產品早期原型和迭代
Google、NASA、Facebook都在內部大量地使用Python。
三、Python基礎
1.語法基礎:註解
在程式中對某些程式碼進行標註說明,這就是註解的作用,能夠大大增強程式的可讀性。 python 常用單行註解是 # ,常用多行註解是三對單引號 ''' '''
# 这是一个单行注释 # print("七月你好,我是八月.") 此行代码不执行显示. # 快捷键: ctrl + / 快速设置注释 和 快速取消注释 ''' 这是一个多行注释 该范围内的代码不会执行显示 '''
2. 語法基礎:資料型別
#3. 語法基礎:關鍵字和標識符
關鍵字
python 一些具有特殊功能的標識符,這就是所謂的關鍵字。關鍵字,是 python 已經使用的了,所以不允許開發者自己定義和關鍵字相同的名字的標識符
那麼 python 中關鍵字都有哪些呢?
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
那麼咱們如何去查詢 python 中有哪些關鍵字呢?
# 在python中若想查询python中有哪些关键字可以先导入keyword模块 import keyword #导入关键字模块 print(keyword.kwlist) #查询所有关键字
實際操作
溫馨提示:咱們在起變數名稱或檔案名稱時不能使用這些關鍵字名字喲,否則會報錯.拋出異常~請大家注意喲。
標識符
祖國的花朵(開發人員)在程式中自訂的一些符號和名稱。標示符是咱們自己定義的,如變數名、函數名、類別名稱等。
標識符規則
定義這些標識符也有一定的規則:標識符由字母下劃線和數字組成,但是不能以數字開頭,可以使用下劃線或字母開頭,注意在python 中,標識符是嚴格區分大小寫的喲。變數 Andy 不等於 變數 andy 這是兩個變數。
標識符命名規則
命名規則,可以簡單的理解為,咱們在起名字的時候是需要遵守相關規則的.主要是為了讓別人一看就明白是什麼意思,做什麼用的.可以提高程式碼可讀性。例如:名字 就定義為 name , 定義學生用 student。
駝峰命名法
同時呢,在需要多個單字進行組合時,咱們使用駝峰命名法:
小駝峰式命名法: 第一個單字以小寫字母開始;第二個字的首字母大寫,例如:myName、aDog
大駝峰式命名法: 每個單字的首字母都採用大寫字母,例如:FirstName、LastName。不過在程式設計師中還有一種命名法比較流行,就是用底線「_」來連接所有的單字,例如send_buf
名字和物件之間關係
我們可以用= 等號,建立立定義的變數名字和物件之間的引用關係,也可以用使用del 來解除這種引用關係。
# 舉例
name = '天下第一帥' # 我將天下第一帥這個字符串賦值給了name 這個變數名,可以理解為,下次我通過name 名字可以聯絡到天下第一帥這個人.
實際操作
# del 解除引用关系 age = 17 # 永远17岁 del age # del 是 delete 的缩写,此行代码表示删除 age 和 17 之间的引用关系 print(age) # 因为已经删除引用关系,所以访问不到 17 这个数据,则抛出异常
實際操作
名字空間
當我們在定義了一些變數名,函數名,類別名之後,會有一個空間來收納這些名字和它們所對應的資料型別和資料內容。
# 举个例子 height = '190CM' # 小编的理想身高.但是现实很残酷. def func1(): pass class Fun(): pass
實際操作
使用%whos 查看名字空間,我們也可以使用%reset 來清空這個空間,清空之後,我們就需要重新執行一次定義的過程,才能重新儲存在名字空間內。
實際運算
4. 语法基础:输出
普通的输出
python中的输出
用 print() 在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出 '李铁柱',用代码实现如下:
name = '李铁柱' print(name)
运行结果
print()也可以打印整数,或者计算结果
# 举个例子 print(300) print(100 + 200)
实际操作
因此,我们可以把计算100 + 200 的结果打印得更漂亮一点:
print('100 + 200 = ', 100 + 200)
实际操作
注意,对于100 + 200,Python 解释器自动计算出结果 300,但是,'100 + 200 =' 是字符串而非数学公式,Python 把它视为字符串,直接进行打印输出。
5. 语法基础:格式化输出
格式化操作的目的,比如说有下列代码:
print('大家好,我叫 李铁柱,我今年 24 岁') print('大家好,我叫 候德柱,我今年 25 岁') print('大家好,我叫 候不柱,我今年 26 岁')
大家仔细观察一下,能够看到,我在 print 输出自我介绍的时候,用了很多的相同字体,就只有一些不同的字段,那么咱们能否简化一下程序呢?
age = 24 print("我今年%d岁" % age) age += 25 print("我今年%d岁" % age) age += 26 print("我今年%d岁" % age)
实际操作
在程序中,看到了 % 这样的操作符,这就是 Python 中格式化输出。
age = 18 name = "小岳岳" print("我的姓名是%s, 年龄是%d" % (name, age))
运行结果
在这里咱们一次使用了两个格式化符号,分别是:%s 和 %d。
%s:表示格式化输出字符串
%d:表示格式化输出十进制整数
除了这两个格式化输出字符还有很多,往下看。
常用的格式化符号
6. 语法基础:输入
现在,你已经可以用 print() 输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
name = input() # input()
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python 交互式命令行又回到就绪状态了。那我们刚才输入的内容到哪去了?答案是存放到 name 变量里了。可以直接输入 name 查看变量内容:
7. 语法基础:运算符
标准操作符
python 同大多数语言一样,也有自己的操作符,分别用来应对不同的工作内容。今天要讲的是 Python 中最常用的几种标准操作符:算术运算符、赋值运算符、比较运算符、逻辑运算符。
算数运算符
注意:混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
实际操作
a = 10 b = 20 print(a+b) print(a-b) print(a*b) print(a/b)
赋值运算符
实际操作
a = 10 # 单个赋值 b = 20 c,d,e = 30,40,50 # 多个赋值 c = 30 , d = 40 , e = 50 print(a,b,c,d,e)
复合赋值运算符
实际操作
c = 40 a = 20 # print(c += a) # 直接 print() 是无法输出结果的哟 c += a print(c) c -= a print(c) c *= a print(c) c /= a print(c) c %= a print(c)
8. 语法基础:常用的数据类型转换
数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
类型转换
# 给小伙伴们举几个例子 # int(): 将数据转换为 int 类型 str1 = "10" num1 = int(str1) print(int) # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作) num2 = int(3.74) print(num2) # float() 将数据转化为浮点数 str2 = "3.14" f1 = float(str2) print(type(f1)) # str() : 转换为 字符串类型 num1 = 10 f1 = 3.14 print(type(str(num1))) # eval(): 将字符串形式的数据,转换为原本的类型 str1 = "3.14" print(type(eval(str1)))
操作结果
以上是Python中你必須了解的知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!