Python/CheatSheet: Difference between revisions

From Wiki
Line 136: Line 136:
for x in ['cat', 'dog', 'bird']:
for x in ['cat', 'dog', 'bird']:
     print (x)
     print (x)


for i in [1,2,3,4,5]:
for i in [1,2,3,4,5]:
     print (i+10)
     print (i+10)


for item in container:
for item in container:
Line 148: Line 150:
     # Didn't find anything..
     # Didn't find anything..
     not_found_in_container()
     not_found_in_container()
for index, element in enumerate(newarticles):
    print(index, element)
</pre>
</pre>
</blockquote>
</blockquote>

Revision as of 08:19, 21 October 2017

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.append('dude')
d.count('new')
del d[0:1]
d.extend(['more', 'elements']
d.index(x)
d.insert(i,x)
d.pop()
d.remove(x)
d.reverse()
d.sort()

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)

Assigning values

x = 1
first, second, third = sequence
x, y = 0, 1
x, y = y, x+y

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):
        # Found it!
        process(item)
        break
else:
    # Didn't find anything..
    not_found_in_container()


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[4]                             # = 'o'
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)

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)

Functions

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()

strftime & strptime format






import os

with ignored(OSError):
    os.remove('somefile.tmp')

other

iter
zip
izip
enumerate
range
xrange
sorted()
sorted,x, reverse=True)
reversed()