此系列更新《Python Real World Data Science》的閱讀摘記,每周六更新瓶佳。
全書介紹Python在數(shù)據(jù)科學領域中的應用返十,分為四模塊:
- Python 基礎
- 數(shù)據(jù)分析
- 數(shù)據(jù)挖掘
- 機器學習
本文為系列第一篇荣回,介紹python基礎察迟。
Module 1 Python Fundamentals
Chapter 1 Introduction and First Steps
簡單來說立砸,編程就是使用計算機可以理解的語言讓它做某件事情掖疮。類似我們日常生活中做事情的流程:估計是否滿足條件,決定采取哪些動作颗祝,執(zhí)行任務浊闪,重復某些動作,在某個點停止(完成或意外)螺戳,清理現(xiàn)場搁宾。
編程時,需要將真實世界中的對象使用計算機世界中的對象Object
表達,Object
的兩個特征
- 屬性Properties
- 方法Methods
Python 將數(shù)據(jù)抽象為對象Objects
倔幼,Python程序中的數(shù)據(jù)均由Objects
或Objects
之間的聯(lián)系表達盖腿。Objects
分為mutable
和immutable
,Objects
有自己的名字损同。
Python優(yōu)點
- 可移植性
- 一致性
- 開發(fā)效率
- 擴展庫
- 軟件質量
- 軟件集成
Python缺點
- 慢翩腐,python編譯生成pyc,再由解釋器運行pyc膏燃;而不是直接編譯成機器級別
Python環(huán)境安裝
- Google is your friend
Python代碼運行方式
- 腳本
- 交互式Shell
- 服務
- GUI應用
Python代碼組織方式
- 非腳本類的代碼需要分成多個文件
-
Package
= 文件夾 +__init__.py
Modules
Functions
Library
原則:不在不同地方重復一個邏輯茂卦,Do not repeat yourself !
- 如果邏輯存在漏洞,需要在各個地方都修改
- 如果需要修正组哩,也要在各個地方修改
- 代碼太長疙筹!
Python's Execution Model
-
names
:用于代碼中提取數(shù)據(jù)(Binding機制) -
namespace
:names和objects之間的映射 -
scope
:直接可訪問namespace的文本區(qū)域(縮進控制),按照以下次序搜索name禁炒,如果都沒找到則報告NameError
local scope
enclosing scope
global scope
built-in scope
如何寫出漂亮代碼
- PEP8 Guideline
Zen of Python