Python/CheatSheet: Difference between revisions
Appearance
< Python
Line 65: | Line 65: | ||
<blockquote> | <blockquote> | ||
<pre> | <pre> | ||
d[0] | d[0] -> 'this' | ||
-> this | |||
</pre> | </pre> | ||
</blockquote> | </blockquote> |
Revision as of 14:45, 11 July 2020
Other articles |
Python Shebang
#!/usr/bin/env python3
Comments
# This is a comment print("Hello, World!")
Variables
Tuples
- not changeable
a = (1,2,3) b = ("test", "with", "strings")
b[0] -> test
Lists
- changeable
c = [4,5,6] d = ["this", "is", "a", "list"]
d[0] -> 'this'
d[0] = 'new' d[0:1] = ['new', 'stuff'] d.index(x) # Return index of the first item whose value is x len(d) # length 'term' in d # find d.count('new') # count number of 'new' d.append('dude') # add item to list d.extend(['more', 'elements'] # Extend the list by appending all the items from the iterable d.insert(i,x) # Insert an item at a given position del d[0:1] # remove item at given index d.remove(x) # Remove the first item from the list whose value is x d.pop() # Remove the item at the given position in the list d.clear() # remove all items d.reverse() # reverse elements in place d.sort(key=None, reverse=False) # sort the items of the list
- list comprehension
[expression for item in list (if condition)] [x*5 for x in range(5)] -> [0, 5, 10, 15, 20] [x for x in range(5) if x%2 == 0] -> [0, 2, 4] [i*i for i in range(5)] -> [0, 1, 4, 9, 16]
Dictionaries
- mapping
e = {'size':5, 'color':'red', 'weight':100}
e['size'] -> 5
keys = ['a', 'b', 'c'] values = [1, 2, 3] dictionary = dict(zip(keys, values))
for k, v in e.items(): print (k, v)
e[k] e[k] = x e.clear() e.copy() del e[k] e.get(k,x) k in e k not in e e.items() e.keys() e.popitem() e.setdefault() e1.update(e2) e.values()
import copy
new_dict = copy.deepcopy(old_dict)
Assigning values
x = 1 first, second, third = sequence x, y = 0, 1 x, y = y, x+y x, _, y = (1, 2, 3) y += 1
Operators
+ - * / // % ** & | < <= > >= != == is is not in not in and or
Flow Control
If Then Else
if x < 0: print('Negative') elif x == 0: print('Zero') else: print('More')
For loops
for x in ['cat', 'dog', 'bird']: print (x)
for i in [1,2,3,4,5]: print (i+10)
for item in container: if search_something(item): print(item) # Found it! break else: not_found_in_container() # Didn't find anything..
for index, element in enumerate(newarticles): print(index, element)
While loops
while test: print (answer)
while True: print (answer) if answer == '2': break
x = 0 while x < 50: x = x+1
try ... except
try: result = x / y except ZeroDivisionError: print("division by zero!") else: print("result is", result) finally: print("executing finally clause")
Statements
assert break continue del exec global import nonlocal pass raise return yield
Strings
string = "Hello World" string = 'Hello World' string string[4] # = 'o' string[-1] # = 'd' string[:-7] # = 'Hell' string.split(' ') # ['Hello', 'World']
String functions
capitalize() center(width) count(sub,start,end) decode() encode() endswith(sub) expandtabs() find(sub,start,end) index(sub,start,end) isalnum() isalpha() isdigit() islower() isspace() istitle() isupper() join() ljust(width) lower() lstrip() partition(sep) replace(old,new) rfind(sub,start,end) rindex(sub,start,end) rjust(width) rpartition(sep) rsplit(sep) rstrip() split(sep) splitlines() startswith(sub) strip() swapcase() title() translate(table) upper() zfill(width)
Input & Output
x = input("input:")
print(x+12) print("Hello world") print("Integer: %i, Float: %6.2f" % (123, 12.043)) print("Integer: {intvar:i}, Float: {floatvar:.2f}") print("value of x: {0:05d}".format(x)) print("%3i%6s" % (i, chr(i)))
import sys sys.argv[1]
Files
file = open (ordersfile, 'rb') file.read() file.readline() file.close()
import pickle with open(ordersfile, 'wb') as fp: pickle.dump(orders, fp) with open (ordersfile, 'rb') as fp: orders = pickle.load(fp)
import os.path os.path.exists(file_path)
Escape sequences
ES Note \\ backslash \' ' \" " \b backspace \f form feed \n line feed \t horizontal tab \v vertical tab \N{Name} Unicode by name \uxxxx 16bit unicode \uxxxxxxxx 32bit unicode \123 ASCII code \xhh Extended ASCII code (hex)
Double underscore variables
- __file__
- path of script
import os os.path.split(__file__)[0] + '/'
- __name__
- name of submodule or "__main__", if script is directly started
Functions
user defined functions
def userfunction(): print("Hello") userfunction()
def userfunction(variable): print("Hello", variable) userfunction('Peter')
def userfunction(variable): print("Hello", variable) test = 2 return test print(userfunction('Peter')) # prints "2"
def userfunction(variable1, variable2 = "John"): print("Hello", variable1, variable2) userfunction("dear")
def userfunction(*variables): for var in variables: print(var) userfunction(1,2,3,4)
import datetime
today() now(timezoneinfo) utcnow() fromordinal(ordinal) combine(date,time) strptime(date,format) fromtimestamp(timestamp) utcfromtimestamp(timestamp)
import time
replace() utcoffset() isoformat() __str__() dst() tzname() strftime(format) sleep()
timeit
from timeit import default_timer as timer start = timer() do_something() end = timer() print(end-start)
strftime & strptime format
import os
with ignored(OSError): os.remove('somefile.tmp')
other
iter range xrange sorted() sorted,x, reverse=True) reversed()