Notes on Python


pyCharm

Change Navigate -> Declaration shortcut to Cmd+click by Adding Mouse Shortcut

  • Original Ctrl+Click conflicts Mac’s right click

Assign Cmd+F to Find

Pass command arguments to python

  • Run->Edit configurations->“+” (add new config)->Python -> add Script params

Use requirements.txt to install dependences

  • if failed, run ./venv/bin/pip install -r requirements.txt in Terminal
Use ToolBox to upgrade pyCharm
Inspect long collection
  • Evaluate expression: print(list)

Add folder as source folder

Python

Prefer to use str.format over %

is vs ==

  • == checks equality, is checks identities
sys.argv
  • list of strings representing the arguments
  • sys.argv[0]: name of the script

os.chdir(“../..”)

  • Don’t change current directory
  • Don’t change state, hard to test, bug

Execute external commands

Gotcha

  • Python doesn’t support ++

Tools

python -m SimpleHTTPServer
| python -mjson.tool

Installing a different python 2.7

sudo yum install python27
rpm -ql python2.7-stack-2.7.12-1.9.g680e0d1.x86_64
/opt/python-2.7/bin/python

Pip

PIP Install on Mac: Operation Not Permitted
  • pip install –user
    • install the package into your own home directory
pip install –ignore-installed six

Debugging

pudb

python2.7 -m pip install pudb
python2.7 -m pudb.run s.py

logging

*args and **kwargs

Modules

Unit test

Misc

Labels

adsense (5) Algorithm (69) Algorithm Series (35) Android (7) ANT (6) bat (8) Big Data (7) Blogger (14) Bugs (6) Cache (5) Chrome (19) Code Example (29) Code Quality (7) Coding Skills (5) Database (7) Debug (16) Design (5) Dev Tips (63) Eclipse (32) Git (5) Google (33) Guava (7) How to (9) Http Client (8) IDE (7) Interview (88) J2EE (13) J2SE (49) Java (186) JavaScript (27) JSON (7) Learning code (9) Lesson Learned (6) Linux (26) Lucene-Solr (112) Mac (10) Maven (8) Network (9) Nutch2 (18) Performance (9) PowerShell (11) Problem Solving (11) Programmer Skills (6) regex (5) Scala (6) Security (9) Soft Skills (38) Spring (22) System Design (11) Testing (7) Text Mining (14) Tips (17) Tools (24) Troubleshooting (29) UIMA (9) Web Development (19) Windows (21) xml (5)