- Built-in Functions
- Dev
- docs
- Python Duck Typing, LBYL, EAFP
- Python Number
- Python unpacking
- Python List
- Python String
- Python Tuple
- Python Set
- Python Dictionary
- Python if-elif-else
- Python Loops
- Python for loop
- Python while loop
- Python Errors and Exceptions
- Python Class
- Python Decorator
- Python function
- Python Module
- Python Operators
- Python regular expression
- Library
- Modules
- Python debugging
- Python OOP
- Python Tutorials
Popularity of Python:
Python is general purpose programming language.
Python is adopted in scientific computing and machine learning areas.
The Zen of Python
Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! ~ Tim Peters
Python Standard Types
- Numeric type: int - no decimal points; int_var = 5
- Numeric type: float - real numbers with decimal points; flt_var = 7.4
- String - sequence of characters; str_var = 'str'
- List - mutable, stores multiple members; list_vaar = [1, 2.5, 'str']
- Tuple - immutable, stores multiple members; tpl_var = (2, 4.7, 'abc')
- Dictionary - key-value pairs; dict_var = {'planet': 'Mars', 'population': 0}
SUFFIXES = {1000: ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], 1024: ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']} def approximate_size(size, kilobyte_is_1024_bytes=True): '''Convert a file size to human-readable form. Keyword arguments: size -- file size in bytes kilobyte_is_1024_bytes -- if True (default), use multiples of 1024 if False, use multiples of 1000 Returns: string ''' if size < 0: raise ValueError('number must be non-negative') multiple = 1024 if kilobyte_is_1024_bytes else 1000 for suffix in SUFFIXES[multiple]: size /= multiple if size < multiple: return '{0:.1f} {1}'.format(size, suffix) raise ValueError('number too large') approximate_size(1000000000000, False) # 1.0 TB approximate_size(1000000000000) # 931.3 GiB approximate_size(size=4000, kilobyte_is_1024_bytes=False) # 4.0 KB approximate_size(kilobyte_is_1024_bytes=False, size=4000) # 4.0 KB
Working with string
Convert to string (Casting to string)
str(77)
Convert to integer
int('77')
Convert to float
float('7.7')
Check types
isinstance([], list) # True isinstance({}, dict) # True isinstance('', str) # True type(requested_page) type([]) is list # True type({}) is dict # True type('') is str # True type(0) is int # True type({}) # <type 'dict'> type([]) # <type 'list'>
Logging
import logging logging.warn('warning')
if-elif-else-endif in Jinja templates
{% if kenny.sick %} Kenny is sick. {% elif kenny.dead %} You killed Kenny! You bastard!!! {% else %} Kenny looks okay. So far. {% endif %}
While:
while True: print('Username:') username = raw_input() if username != 'jack': continue print('Hello, Jack. What is the password?') password = raw_input() if password == 'aloha': break print('Access granted.')
Clear session:
self.session.pop('session_data', None)
Safe conversion to int (safe int casting):
card_amount = self.request.POST.get('card_amount', 0) try: card_amount = int(card_amount) except(ValueError, TypeError): card_amount = 0
Delete all text files
import os for filename in os.listdir(): if filename.endswith('.txt'): os.unlink(filename)
Pythonic way
# Looping over a range of numbers for i in [0, 1, 2, 3, 4, 5]: print i**2 # Looping over a range of numbers in a pythonic way for i in range(6): print i**2 # Looping over a collection colors = ['red', 'green', 'blue'] for i in range(len(colors)): print colors[i] # Looping over a collection in a pythonic way colors = ['red', 'green', 'blue'] for color in colors: print color # Looping backwards colors = ['red', 'green', 'blue'] for i in range(len(colors)-1, -1, -1): print colors[i] # Looping backwards in a pythonic way colors = ['red', 'green', 'blue'] for color in reversed(colors): print color # Looping over a collection and indicies colors = ['red', 'green', 'blue'] for i in range(len(colors)): print i, '-->', colors[i] # Looping over a collection and indicies in a pythonic way colors = ['red', 'green', 'blue'] for i, color in enumerate(colors): print i, '-->', color # Looping in sorted order in a pythonic way colors = ['red', 'green', 'blue'] for color in sorted(colors): print color # Looping in sorted reversed order in a pythonic way colors = ['red', 'green', 'blue'] for color in sorted(colors, reverse=True): print color # Function calls with keyword arguments twitter_search('@tesla', False, 20, True) # Function calls with keyword arguments in a pythonic way twitter_search('@tesla', retweets=False, numtweets=20, popular=True) # Concatenating strings colors = ['red', 'green', 'blue'] s = colors[0] for color in colors[1:]: s += ', ' + color print s # Concatenating strings in a pythonic way colors = ['red', 'green', 'blue'] print ', '.join(colors)
import antigravity # opens browser with custom URL
================
pip install virtualenvwrapper-win mkvirtualenv myproject workon myproject cd /_django-dev/ django-admin startproject devsite cd devsite python manage.py runserver python manage.py migrate
- Built-in Functions
- Dev
- docs
- Python Duck Typing, LBYL, EAFP
- Python Number
- Python unpacking
- Python List
- Python String
- Python Tuple
- Python Set
- Python Dictionary
- Python if-elif-else
- Python Loops
- Python for loop
- Python while loop
- Python Errors and Exceptions
- Python Class
- Python Decorator
- Python function
- Python Module
- Python Operators
- Python regular expression
- Library
- Modules
- Python debugging
- Python OOP
- Python Tutorials