學習一門新的計算機語言對于新開發者來說很難,因為畢竟要掌握很多技術和術語,學習第一門計算機語言需要4-6個月才能真正理解如何使用,但對于開發成手來說,撈干貨比較快,因此本文主要面向3年以上作業經驗的程式員,速度會有點快,屬于Python語言區別于其他語言特性的會被重點標紅,
廢話不多說,跟著楊老師的步伐,我們馬上開始:
1、安裝:
下載略,環境變數設定:PATH 加上 python.exe所在路徑 、PYTHONPATH = Python安裝路徑
HelloWorld,擴展名.py:
#!/usr/bin/python3
print(‘Hello World’)
運行命令:python 檔案名
如中文無法決議,則加注釋:
# -*- coding: UTF-8 -*-
開發工具可以選用PyCharm的社區版,老手剛上手一般比較喜歡直接用Shell/Cmd
2、語法
識別符號:下劃線慎用(詳見面向物件),其余老樣子;
斷句符(似;):回車(換行不斷句,行末加\);
保留字:語法用的都不能用;代碼層級(似{}):縮進代替;
引號:單雙引號('或")不必說,三引號("""或''')內可寫多行文本,
注釋:#開頭
宣告變數:無賦值關鍵字,出現即宣告
賦值:a=1;連續賦值:a=b=1;映射賦值:a,b=1,2
接受輸入:raw_input(提示文字)
輸出:print(運算式)
3、資料型別
數字:樣例略
字串:略,轉義和C一樣
元組(圓括號):('a','b','c')
串列(似JSON Array):['a','b','c']
字典(似JSON Object):{鍵1:值1,鍵2:值2}
可變物件:串列(List)、字典(Dictionary);不可變物件:數字(Numbers)、字串(String)、元組(Tuple)
串列、字典、字串、元組可視為序列,參與序列運算
轉換函式:int整,long長整,float浮點,str字串,tuple元組,list串列,dict字典
4、二目運算子
序列運算:
拼接:+ 重復:* 判斷在序列中:in 判斷不在序列中:not in
數學運算:加減乘除取余:+-*/% 乘方:** 向下取整://
比較運算:==、!=、>、<、>=、<=
賦值:數學運算子加等號,如+=
位運算:與& 或| 異或^ 取反~ 左移<< 右移>>
邏輯運算:and、or、not
5、IF
# 單行
if 運算式:單行代碼
# 多行
if 運算式:
代碼段1
# 否則
if 運算式:
代碼段1
else:
代碼段2
# 連續判斷
if 運算式1:
代碼段1
elif 運算式2:
代碼段2
else:
代碼段3
6、WHILE
# 單行
while 運算式:陳述句
# 多行
while 運算式:
代碼段
# While-Else
while 運算式:
代碼段
else:
回圈結束時陳述句
continue、break:略
跳出多層回圈辦法:自定義例外、封裝函式回傳、內層else:continue,外層執行完成后break
7、FOR
對于字串、串列、元組,遍歷的是元素;對于字典,遍歷的是鍵,
for 迭代變數 in 序列:
回圈體
for-else回圈,語法同上的while
常用序列函式:len(序列) :取長度,range(整數):生成0到小于該整數的序列
8、函式
# 引數是默認值(可選引數)
def 函式名(引數1,引數2=默認值):
函式體
# 可變引數
def 函式名(引數1,*引數2):
函式體
# λ運算式
函式變數 = lambda 引數串列:運算式
# 指定引數呼叫
函式名(引數1='test')
# 呼叫λ運算式
函式變數(引數)
pass陳述句
Python2空函式體的定義必須要有個pass填充
Python3可以不寫
9、例外處理
攔截例外
try:
代碼段
except 例外類 as 例外資料:
例外處理階段
else:
無例外發生代碼段
finally:
最終執行
觸發例外
# Python2觸發例外:
raise 例外型別,例外引數
# Python3觸發例外:
raise 例外型別(例外構造引數)
10、第三方模塊
import陳述句:
import 模塊名
from…import陳述句:
from 模塊名 import 函式1,函式2……
模塊常用函式:
| dir(模塊名) | 查看模塊內容 |
| globals() | 回傳全域命名 |
| locals() | 回傳區域命名 |
| reload(模塊名) | 重新加載模塊 |
11、面向物件(類)
宣告:
class 類名(父類):
成員變數
def __init__(self,建構式引數串列):
建構式體
def 其他函式名(self,引數串列……):
函式體
self含義:代表當前物件,每個類函式第一個引數,可以改名,類似于其他語言的this
self.__class__:當前類
創建物件:類名(引數1,引數2……)
類內置屬性:
__dict__:類屬性
__doc__:類的檔案字串
__name__:類名
__module__:類所在模塊
__bases__:類的所有父類
類可重寫方法:
__init__(self):建構式
__del__(self):解構式,被銷毀時呼叫
__repr__(self):轉化為供解釋器讀取的形式
__str__(self):轉化為字串
__cmp__(self,x):物件比較
物件銷毀:
del 變數,會觸發__del__事件
12、常用內置模塊
以上是Python語法,具體實作都是靠函式,現用現查即可,
| math | 數學 |
| random | 隨機 |
| time | 日期與時間 |
| datetime | 日期與時間(基于time封裝) |
| calendar | 日歷 |
| os | 檔案及目錄操作 |
| re | 正則運算式 |
| socket | Socket通信 |
| smtplib | SMTP發信 |
| threading | 多執行緒 |
| xml.sax | XML處理 |
| tkinter | 圖形化界面 |
| functools | 函式式編程 |
| json | JSON處理 |
| glob | 檔案通配搜索 |
| sys | 控制臺相關 |
| urllib.request | URL訪問 |
| zlib | 資料壓縮 |
原版幫助檔案哪里找:


13、常用第三方框架
PIP – Python包管理器(Python自帶),類似于Java的Maven、NodeJs的Npm、.Net的Nuget,
只要是外國包管理器,使用之前先要找國內鏡像,切記
以下是常用框架,如果Python自帶的模塊不滿足需求,可以直接上套路:
Django – MTV結構Web框架
Flask – 輕量級Web框架,類似于SpringMVC
Cubes – OLAP框架
Tornado – 非阻塞式Web框架
Scrapy – 爬蟲框架
Antlr4 – 強大的語法分析器
14、總結
如果你認真閱讀的話,現在你已經入門Python了,不信可以找找其他人寫的python文章,是不是有了一些熟悉感呢?
接下來花1-2個小時時間做以下練習,手(fu)撕(zhi)一下代碼,你就徹底掌握Python了:
1) Hello World(約1分鐘)
2) 斐波那契數列(約5分鐘)
3) 用內置open、write函式和time模塊,保存當前%Y-%m-%d %H:%M:%S格式日期到檔案(約5分鐘)
4) 用Flask做一個簡單頁面和一個RESTful介面,實作表單提交的資料輸出到控制臺、上傳檔案,(約30分鐘)
5) 試試連接一下mysql資料庫,做套增刪改查(約30分鐘)
通過以上介紹,相信你已經了解了Python的語法了,不要懷疑,就是這么簡單,
至于為什么Python強大,主要是因為語法簡單、上手快、開源框架眾多,因此接下來就是根據你的實際作業場景來選擇要用的框架了(比如運維、DevOps、資料分析、人工智能……),很多都是pip下載下來,寫幾行直接用就OK,
最后如果想在Python領域做到全球領先的技術水平,上某hub上搜"python awesome",一定有你喜歡的!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/135150.html
標籤:其他
上一篇:邏輯回歸預測癌癥分類
下一篇:Python之猜單詞游戲
