隨着人工智能領域的翻起,Python語言越來越流行。所以當下不得不學習Python語言。在學習Python的過程中整理了一些筆記,希望能夠幫助到大家。
人生苦短,我用Python
不得不說,Python代碼真的很簡短,有的時候,Java程序的代碼量是Python代碼量的5倍。下面就來認識一下Python。
1. Python的優缺點
優點:
- 簡單、易學
- 免費、開源
- 面向對象
- 豐富的庫
- 可擴展性
- 如果需要一段關鍵代碼運行的更快或者希望某些算法不公開,可以把這部分程序用c或者C++編寫,然後在Python程序中使用它們。
缺點:
- 運行速度慢
- 國內市場較小
- 中文資料匱乏
2. Python的特點
- Python是完全面向對象的語言
- 函數、模塊、數字、字符串都是對象、在Python中一切皆對象。
- 完全支持繼承、重載、多重繼承。
- 支持重載運算符、也支持泛型設計。
- Python擁有一個強大的標準庫、Python語言的核心只包含數字、字符串、列表、字典、文件等常見類型和函數,而由Python標準庫提供了系統管理、網絡通信、文本處理、數據庫接口、圖形系統、XML處理等額外的功能。
- Python社區提供了大量的第三方模塊,使用方式與標準庫類似。它們的功能覆蓋科學計算、人工智能、機器學習、web開發、數據庫接口、圖形系統多個領域。
在此補充一下:面向對象的思維方式
- 面向對象是一種思維方式,也是一門程序設計技術。
- 要解決一個問題前,首先考慮由誰來做,怎麼做是誰的職責,最後把事情做好就行。(對象就是誰)
-要解決複雜的問題,就可以找多個不同的對象,各司其職,共同實現,最終完成需求。
3. 編譯型和解釋型
1.編譯型語言:統一執行,程序執行效率高,跨平臺性差,如C、C++,Java
2.解釋型語言:會將代碼一句一句執行。速度慢,但跨平臺性好。Python
4. Python的主流版本——Python2.X , python3.X
python2.X不支持中文
建議:使用Python3.x
5.執行Python程序的三種方式
-
通過解釋器運行Python文件
Python xxx.py ----使用的是Python2
python3 xxx.py------使用的是Python3 -
.交互式運行Python程序
直接在終端中運行解釋器,而不輸入要執行的文件名,在Python的shell中直接輸入Python的代碼,會立即看到程序執行結果。優點:
適合於學習/驗證Python語法或者局部代碼
缺點:
代碼不能保存
不適合運行太大的程序。退出解釋器:直接輸入 exit(),或者Ctrl+d
**給大家推薦一款交互式解釋器-----ipython** i代表交互interaction 支持自動補全 自動縮進 支持bash shell命令 (意思是可以直接寫Linux命令) 內置了許多很有用的功能和函數 ipython是基於BSD開源的 版本: Python 2.x使用的解釋器是ipython python 3.x使用的解釋器是ipython3 要退出解釋器可以有一下兩種方式: 直接輸入exit或者使用Ctrl+d,ipython會詢問是否退出解釋器。
-
Python的IDE————PyCharm
- 集成開發環境(IDE):集成了開發軟件需要的所有工具,一般包括以下工具:
圖形用戶界面
代碼編輯器(支持代碼補全,自動縮進)
編譯器/解釋器
調試器(斷點,單步執行)(設置斷點:點擊代碼左側會出現一個圓點,則爲斷點) - pycharm
適合開發大型項目
一個項目通常會包含很多源文件,每個源文件各司其職,共同完成複雜的業務功能 - PyCharm的使用
- 在新建一個項目時,即創建一個目錄,會在目錄下新建一個.idea的目錄,用於保存項目相關的信息,例如:解釋器版本、項目包含的文件等。第一個運行Python文件時要右鍵文件-點擊run xxx.py - 設置項目使用的解釋器版本:
File-settings…-Project:當前項目名-Project Interpreter - 設置字體
編輯區:File-settings…-Editor-Font(字體和大小)
控制檯:File-settings…-Editor-Console Font
6. 模塊
模塊是Python程序架構的一個核心概念
模塊就像是工具包,要想使用,就需要import導入這個模塊,
每一個以擴展名.py結尾的Python源代碼文件都是一個模塊。
在模塊中定義的全局變量,函數都是模塊能夠提供給外界直接使用的工具。
使用格式:
import 模塊名
from 模塊名 import 函數名
import 模塊名 as 新模塊名(縮寫)
7. Python註釋
-
使用 # 單行註釋
爲了保證代碼的可讀性,# 後面建議先添加一個空格,然後再編寫相應的說明文字 -
多行註釋
使用一對連續三個引號(單引號,雙引號都可以)'''......''' """......"""
*注意???什麼時候需要使用註釋???
- .註釋不是越多越好,對於一目瞭然的代碼,不需要添加註釋。
- .對於複雜的操作,應該在操作開始前寫上若干行註釋。
- .對於不是一目瞭然的代碼,應在其行尾添加註釋(爲了提高可讀性,註釋應該至少離開代碼2個空格)
- 絕不要描述代碼,假設閱讀代碼的人比你更懂Python,他只是不知道你的代碼
要做什麼。
8. 代碼規範
代碼的縮進爲一個tab鍵或者4個空格,建議使用空格
在Python開發中,Tab和空格不要混用。
Python官方提供有一系列PEP(python Enhancement Proposals)文檔
其中第8篇文檔專門針對Python的代碼格式給出了建議,也就是PEP8
中文文檔鏈接
https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/
9. Python中的標識符
就是程序員定義的變量名、函數名
標識符可以由字母,下劃線,數字組成
不能以數字開頭
不能與關鍵字重名
標識符對大小寫敏感
關鍵字即保留字
關鍵字就是在Python內部已經使用的標識符
關鍵字具有特殊的功能和含義
開發者不允許定義和關鍵字相同的名字的標識符
查看Python中的關鍵字:
>>> import keyword
>>> keyword.kwlist
Python中的關鍵字
10. 變量——用來存儲數據
每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。
= 表示用來給變量賦值
a = 10:等號左邊a表示變量名,等號右邊表示存儲在變量中的值。
即:變量名 = 值
**變量的命名**
一般情況下在 = 等號的左右保留一個空格
每個單詞都是使用小寫字母
單詞與單詞之間使用_下劃線連接
例如:first_name
駝峯命名法:
小駝峯式命名:
第一個單詞小寫,後續單詞的首字母大寫
firstName
大駝峯式命名:
每一個單詞的首字母都應該採用大寫字母
FirstName
11. Python中常用的算術運算符
12. Python常用的比較運算符
牛刀小試:
a = 21
b = 10
c = 0
if ( a == b ):
print ("1 - a 等於 b")
else:
print ("1 - a 不等於 b")
if ( a != b ):
print ("2 - a 不等於 b")
else:
print ("2 - a 等於 b")
if ( a < b ):
print ("3 - a 小於 b")
else:
print ("3 - a 大於等於 b")
if ( a > b ):
print ("4 - a 大於 b")
else:
print ("4 - a 小於等於 b")
13. 數據類型
兩大類:
- 數字類型
- bool----布爾(真假)(True 1,False 0)
- int-----整數
- float—浮點數(小數) - 非數字類型
- 字符串—str
- 列表—list
- 元組—tuple
- 字典
注意:
在Python中定義變量時不需要指定類型,Python可以根據 = 等號右側的值,自動推導出變量中存儲數據的類型。
14. 簡單的函數——input() , print() , type()
input : 從控制檯輸入,返回的是str類型
print() : 打印到控制檯
type() : 函數是用來查看變量的類型。
牛刀小試
#1.輸入蘋果的單價
price_str = input("蘋果的單價")
#2.輸入蘋果的重量
weight_str = input("蘋果的重量")
#3.轉換數據類型
price = float(price_str)
weight = float(weight_str)
#4.計算總價
money = price * weight
print(money)
注意:input返回的是字符串,所以需要數據類型轉換
15. 變量的格式化輸出
如果希望輸出文字信息的同時,一起輸出數據,就需要使用到格式化操作符——%
牛刀小試
#格式化示例:
name = "小曾"
print("我的名字叫%s,請多多關照!" %name)
id = 1 #輸出000001
print("我的學號是%06d"%id)#如果不滿6位則前面使用0補全
price = 8.5
weight = 7.5
money = price * weight
print("單價%.2f元/斤,購買了%.3f斤,需要支付%.4f元"%(price,weight,money))
%.2f表示小數點後面保留兩位
定義一個小數,輸出數據比例是20.00%,保留兩位
scale = 0.20
print("數據比例是%.2f%%"%(scale * 100))