- http://www.python.org/
- https://github.com/vinta/awesome-python
- Scientific Python Cheatsheet
- Python vs. R
- Python in Science
A nice, practical programming language. This talk -- Python as C++'s limiting case -- may provide a good insight into how Python was designed, in the context of C/C++. It is used a lot in Scientific computing. IPython provides nice functionalities such as IPython notebook.
There are several implementations of Python. CPython is currently the official implementation, but PyPy (written in Python, see also RPython) is catching up very fast and it is now the fastest implementation of Python.
You may want to install pre-packaged scientific python distribution such as Anaconda (Python) or enthought python because it is a pain to install all scientific packages.
Table of Contents
Package management and virtual environment #
Modules & Libraries #
Performance #
Topics and tips #
-
general:
- Python3
- Google style guide
- Code Like a Pythonista: Idiomatic Python by David Goodger
- 30 Python Language Features and Tricks You May Not Know About
- hidden features: http://stackoverflow.com/questions/101268/hidden-features-of-python/143636
- perky:구글코리아 테크토크: 파이썬 - 상상력에 날개 달기
- perky:구글에서는 파이썬을 어디에 쓰나요
- python idioms
- "setup.py develop 하시면 pip 인스톨한 것처럼 스크립트랑 라이브러리들을 site-packages에 심링크해줍니다. 이거 virtualenv 안에서도 되는지는 모르겠네요"
- How to Python Like a Boss
- Advanced Design Patterns in Python
- not so obvious Python stuff
-
datetime: http://stackoverflow.com/questions/1060279/iterating-through-a-range-of-dates-in-python
-
defaultdict: http://docs.python.org/library/collections.html#defaultdict-examples Large defaultdict is slow. Using defaultdict is sometimes dangerous.
-
flatten:
from Tkinter import _flatten
or http://rightfootin.blogspot.com/2006/09/more-on-python-flatten.html -
generator:
-
- vpython - 3d drawing
-
IO:
-
JSON: If JSON string is simple and contains only ascii characters, you can simply do following:
a = eval(somejson)
If your JSON contains unicode characters, you should use json module.json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
-
logging:
-
low-level:
-
main(): Python main() functions
-
Optimization:
- 혀나미:Python과 C
-
파이썬 속도에 절망감을 느끼면서 > 보여주신 코드는 대량의 계산이 발생하는 부분인데 그런 것은 numpy같은 것으로 행렬연산으로 처리하지 않는 한은 C 속도의 500분의 1정도 밖에 나오지 않습니다. 행렬연산으로 처리하면 거의 같은 속도가 나오니까 별 걱정하실 필요는 없습니다. 행렬로 처리가 안 되는 경우에는 보통 pyrex, cython 같은 것으로 C 자료형으로 확장하거나, C로 일부분을 짠 다음에 SWIG, ctypes 등으로 불러다가 쓰는 방법이 많이 쓰입니다. 파이썬은 모든것을 다 최적으로 할 수 있는 언어가 아니라 특정 일부 작업을 빨리 처리할 수 있는 언어입니다. 파이썬 초창기에 모든 작업을 파이썬으로 해야한다는 순혈주의(?)가 종종 일부 극단적인 분들에게 있었지만, 파이썬은 종교가 아닙니다. 적재적소에 필요한 만큼 쓰는게 중요합니다. 특히 수치연산은 numpy나 scipy같은 수치처리 모듈이나 C와 파이썬을 같이 쓰는 방법을 알아두시면 매우 도움이 됩니다. --perky
-
psyco: "Psyco is a Python extension module which can greatly speed up the execution of any Python code."
-
Packaging & distribution: Python/Packaging
-
Parallel programming and GlL (Global Interpreter Lock):
-
type: 변수가 정수인지 리스트인지 알고 싶습니다.
-
Universal newline support: the newline character differs in Windows/Unix. Regardless of newline character type, you can open files with 'U' or 'rU'.
sample = open(filename, 'rU')
-
Vim:
-
Web server
python -m SimpleHTTPServer
Links #
Python guides #
- python by example
- guido's 파이썬 자습서
- alan gould:파이썬 프로그래밍 연습
- 컴퓨터 과학자 같이 생각하는 법
- 파이썬에 뛰어들기
- Learn Python The Hard Way
- http://www.pythontutor.com - LEARN programming by visualizing code execution
- http://www.pythonforbeginners.com
- Python Scientific Lecture Notes
- Google's Python Class
- Python Programming in one video
Articles #
- 10 Reasons Python Rocks for Research
- Writing forwards compatible python code
- PEP 20 (The Zen of Python) by example
- Python is Cool (and Perl is not), Especially for C/C++ Programmers
- reddit:What would someone have to know to be classified as a 'python expert'?
- Python Iteration
Incoming Links #
Related Articles (Article 0) #
- Beautiful soup (Python)
- Geocoding
- Graph visualization
- JSON
- Network analysis libraries
- Programming language
- Progress bar
- PyPrind
- Python/Beautiful soup
- Python/Black
- Python/Blaze
- Python/Bokeh
- Python/CLI
- Python/Dask
- Python/Debugging
- Python/Flask
- Python/Modules
- Python/Packaging
- Python/Pandas
- Python/Ray
- Python/Sphinx
- Python/Style
- Python/Test
- Python/Vincent
- Python/Visualization
- Python/doit
- Python/pandas
- Python/patsy
- Python/statsmodels
- Slopegraph
- Vim
- Web mining
- d3py
- scikit-learn
Suggested Pages #
- 0.155 Pajek
- 0.087 GNU Make
- 0.076 Choropleth
- 0.074 Pandas (Python)
- 0.067 Slope
- 0.061 Machine learning
- 0.056 Geovisualization
- 0.055 skorch
- 0.049 Data frame
- 0.049 Cartogram
- More suggestions...