SlideShare a Scribd company logo

Pythonic

1 of 24
Download to read offline
Pythonic,[object Object],2010-08-02,[object Object],smallfish,[object Object],推特: @nnfish,[object Object],博客: http://chenxiaoyu.org,[object Object]
KISS,[object Object],很久很久以前… UNIX,诞生了,[object Object],很久很久以前… UNIX程序员,越来越多了,[object Object],许多年过去了…,[object Object],很久很久以前… 有一个叫Eric S. Raymond大师,写了一本书,[object Object],《The Art of UNIX Programming》,[object Object],这本书有啥?,[object Object],它不是教会你如何写程序,如何干活,[object Object],它描述的是一种思想,一种文化,一种哲学!,[object Object],诞生了一个新名词:KISS(请不要有邪恶的想法),[object Object],KISS == Keep It Simple and Stupid,[object Object]
Zen of Python,[object Object],>>> import this,[object Object],The Zen of Python, by Tim Peters,[object Object],Beautiful is better than ugly.,[object Object],Explicit is better than implicit.,[object Object],Simple is better than complex.,[object Object],…,[object Object],优美胜于丑陋,[object Object],明了胜于晦涩,[object Object],简洁胜于复杂,[object Object],…,[object Object]
简单、简洁、优美,[object Object],程序,必须是可读的,[object Object],因为代码是写给人看的,[object Object],而机器,只是负责来执行的…,[object Object],代码,必须是简单的,[object Object],简单的后果必然臭虫会更少,[object Object],所以,为了你我的健康,[object Object],请多写可读和简单,可维护的代码,[object Object],Style Guide for Python Code,[object Object],http://www.python.org/dv/peps/pep-0008/,[object Object]
步入正题,[object Object],新名词:Pythonic,[object Object],这个名词的解释好长好长…,[object Object],无视把,[object Object],其实,Python设计的哲学如同UNIX艺术,KISS原则一样,[object Object],Pythonic代表的也是一种文化,一种哲学!,[object Object],下面会来一些实例,当然你可以不采取不Pythonic的写法,[object Object],这一切,亲爱的Guido蜀黍不会介意滴,:_),[object Object],当然你看到别人的写法,你会深深自责…,[object Object],OK,Let’s Go!,[object Object]
万恶的缩进,[object Object],Python和其他语言最大的不同:,[object Object],缩进!!!,[object Object],成也缩进,不成也缩进!,[object Object],成:,[object Object],代码更易读,[object Object],代码风格更一致,[object Object],不成:,[object Object],一不小心就抛个可爱的异常:IndentationError,[object Object],怎么样缩进?,[object Object],用空格代替tab,[object Object],不要混合空格和tab,[object Object],选择一个好的编辑器,比如神器vim,emacs…,[object Object]

More Related Content

What's hot

Python 入門
Python 入門 Python 入門
Python 入門 Andy Yao
 
Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18Derek Lee
 
Python入門:5大概念初心者必備
Python入門:5大概念初心者必備Python入門:5大概念初心者必備
Python入門:5大概念初心者必備Derek Lee
 
Python basic - v01
Python   basic - v01Python   basic - v01
Python basic - v01ssuser5e7722
 
Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿jiannrong
 
Trie树分享
Trie树分享Trie树分享
Trie树分享Wu Liang
 
3 Python开发风格与建议
3 Python开发风格与建议3 Python开发风格与建议
3 Python开发风格与建议March Liu
 

What's hot (19)

Ch9 教學
Ch9 教學Ch9 教學
Ch9 教學
 
Ppt 120-126
Ppt 120-126Ppt 120-126
Ppt 120-126
 
Python 入門
Python 入門 Python 入門
Python 入門
 
Python story
Python storyPython story
Python story
 
Appendix B 範例
Appendix B 範例Appendix B 範例
Appendix B 範例
 
Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18
 
Ch6 函式
Ch6 函式Ch6 函式
Ch6 函式
 
Ch8 範例
Ch8 範例Ch8 範例
Ch8 範例
 
Ch8 教學
Ch8 教學Ch8 教學
Ch8 教學
 
Python入門:5大概念初心者必備
Python入門:5大概念初心者必備Python入門:5大概念初心者必備
Python入門:5大概念初心者必備
 
Python basic - v01
Python   basic - v01Python   basic - v01
Python basic - v01
 
Ch8
Ch8Ch8
Ch8
 
Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿
 
Ch7 教學
Ch7 教學Ch7 教學
Ch7 教學
 
Ch 6
Ch 6Ch 6
Ch 6
 
Appendix B
Appendix BAppendix B
Appendix B
 
Ch12 教學
Ch12 教學Ch12 教學
Ch12 教學
 
Trie树分享
Trie树分享Trie树分享
Trie树分享
 
3 Python开发风格与建议
3 Python开发风格与建议3 Python开发风格与建议
3 Python开发风格与建议
 

Viewers also liked

10 Tips for Writing Pythonic Code by Michael Kennedy
10 Tips for Writing Pythonic Code by Michael Kennedy10 Tips for Writing Pythonic Code by Michael Kennedy
10 Tips for Writing Pythonic Code by Michael KennedyMichael Kennedy
 
Python高级编程(二)
Python高级编程(二)Python高级编程(二)
Python高级编程(二)Qiangning Hong
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构XiaoJun Hong
 
PyCon Poland 2016: Maintaining a high load Python project: typical mistakes
PyCon Poland 2016: Maintaining a high load Python project: typical mistakesPyCon Poland 2016: Maintaining a high load Python project: typical mistakes
PyCon Poland 2016: Maintaining a high load Python project: typical mistakesViach Kakovskyi
 

Viewers also liked (6)

10 Tips for Writing Pythonic Code by Michael Kennedy
10 Tips for Writing Pythonic Code by Michael Kennedy10 Tips for Writing Pythonic Code by Michael Kennedy
10 Tips for Writing Pythonic Code by Michael Kennedy
 
Django
DjangoDjango
Django
 
第一讲
第一讲第一讲
第一讲
 
Python高级编程(二)
Python高级编程(二)Python高级编程(二)
Python高级编程(二)
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 
PyCon Poland 2016: Maintaining a high load Python project: typical mistakes
PyCon Poland 2016: Maintaining a high load Python project: typical mistakesPyCon Poland 2016: Maintaining a high load Python project: typical mistakes
PyCon Poland 2016: Maintaining a high load Python project: typical mistakes
 

Similar to Pythonic

Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍dennis zhuang
 
ajax_onlinemad
ajax_onlinemadajax_onlinemad
ajax_onlinemadKitor23
 
R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探Sean Yu
 
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社pingjiang
 
Python 入门
Python 入门Python 入门
Python 入门kuco945
 
Python 脚本入门基础
Python 脚本入门基础Python 脚本入门基础
Python 脚本入门基础wklken
 
Python速成指南
Python速成指南Python速成指南
Python速成指南March Liu
 
trace code tool 以及人月神話
trace code tool 以及人月神話trace code tool 以及人月神話
trace code tool 以及人月神話Yi-Hsiang Huang
 
数据处理算法设计要点
数据处理算法设计要点数据处理算法设计要点
数据处理算法设计要点thinkinlamp
 
Learning python in the motion picture industry by will zhou
Learning python in the motion picture industry   by will zhouLearning python in the motion picture industry   by will zhou
Learning python in the motion picture industry by will zhouWill Zhou
 
數位出版2.0 it
數位出版2.0 it數位出版2.0 it
數位出版2.0 it志賢 黃
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928Yen_CY
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享Chong-Kuan Chen
 

Similar to Pythonic (20)

getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 
getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 
Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍
 
Scala+RDD
Scala+RDDScala+RDD
Scala+RDD
 
ajax_onlinemad
ajax_onlinemadajax_onlinemad
ajax_onlinemad
 
R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探
 
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
 
Python 入门
Python 入门Python 入门
Python 入门
 
Python 脚本入门基础
Python 脚本入门基础Python 脚本入门基础
Python 脚本入门基础
 
Python速成指南
Python速成指南Python速成指南
Python速成指南
 
trace code tool 以及人月神話
trace code tool 以及人月神話trace code tool 以及人月神話
trace code tool 以及人月神話
 
数据处理算法设计要点
数据处理算法设计要点数据处理算法设计要点
数据处理算法设计要点
 
Fp
FpFp
Fp
 
Learning python in the motion picture industry by will zhou
Learning python in the motion picture industry   by will zhouLearning python in the motion picture industry   by will zhou
Learning python in the motion picture industry by will zhou
 
數位出版2.0 it
數位出版2.0 it數位出版2.0 it
數位出版2.0 it
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928
 
Scala+spark 2nd
Scala+spark 2ndScala+spark 2nd
Scala+spark 2nd
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享
 
Hi Haskell
Hi HaskellHi Haskell
Hi Haskell
 

Pythonic

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.