====== Python ====== Useful Python code, with no particular order ===== All asserts methods ===== More info https://www.mattcrampton.com/blog/a_list_of_all_python_assert_methods/ ^ Method ^ Checks ^ Version ^ | assertEqual | a == b | | | assertNotEqual | a != b | | | assertTrue | bool(x) is True | | | assertFalse | bool(x) is False | | | assertIs | a is b | 2.7 | | assertIsNot | a is not b | 2.7 | | assertIsNone | x is None | 2.7 | | assertIsNotNone | x is not None | 2.7 | | assertIn | a in b | 2.7 | | assertNotIn | a not in b | 2.7 | | assertIsInstance | is instance(a,b) | 2.7 | | assertNotIsInstance | not is instance(a,b) | 2.7 | | assertRaises | fun(*args,**kwds) raises exc | | | assertRaisesRegexp | fun(*args,**kwds) raises exc(regex) | 2.7 | | assertAlmostEqual | round(a-b,7) == 0 | | | assertNotAlmostEqual | round(a-b,7) != 0 | | | assertGreater | a > b | 2.7 | | assertGreaterEqual | a >= b | 2.7 | | assertLess | a < b | 2.7 | | assertLessEqual | a <= b | 2.7 | | assertRegexpMatches | r.search(s) | 2.7 | | assertNotRegexpMatches | not r.search(s) | 2.7 | | assertItemsEqual | sorted(a) == sorted(b) | 2.7 | | assertDictContainsSubset | all the key/value pairs in a exist in b | 2.7 | | assertMultiLineEqual | strings | 2.7 | | assertSequenceEqual | sequences | 2.7 | | assertListEqual | lists | 2.7 | | assertTupleEqual | tuples | 2.7 | | assertSetEqual | sets or frozensets | 2.7 | | assertDictEqual | dicts | 2.7 | ===== Dates ===== ==== strftime() and strptime() Format Codes ==== More info https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes | Directive | Meaning | Example | Notes | | %a | Weekday as locale’s abbreviated name. | Sun, Mon, …, Sat (en_US);So, Mo, …, Sa (de_DE) | (1) | | %A | Weekday as locale’s full name. | Sunday, Monday, …, Saturday (en_US);Sonntag, Montag, …, Samstag (de_DE) | (1) | | %w | Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. | 0, 1, …, 6 | | | %d | Day of the month as a zero-padded decimal number. | 01, 02, …, 31 | (9) | | %b | Month as locale’s abbreviated name. | Jan, Feb, …, Dec (en_US);Jan, Feb, …, Dez (de_DE) | (1) | | %B | Month as locale’s full name. | January, February, …, December (en_US);Januar, Februar, …, Dezember (de_DE) | (1) | | %m | Month as a zero-padded decimal number. | 01, 02, …, 12 | (9) | | %y | Year without century as a zero-padded decimal number. | 00, 01, …, 99 | (9) | | %Y | Year with century as a decimal number. | 0001, 0002, …, 2013, 2014, …, 9998, 9999 | (2) | | %H | Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 | (9) | | %I | Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 | (9) | | %p | Locale’s equivalent of either AM or PM. | AM, PM (en_US);am, pm (de_DE) | (1), (3) | | %M | Minute as a zero-padded decimal number. | 00, 01, …, 59 | (9) | | %S | Second as a zero-padded decimal number. | 00, 01, …, 59 | (4), (9) | | %f | Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 | (5) | | %z | UTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is naive). | (empty), +0000, -0400, +1030, +063415, -030712.345216 | (6) | | %Z | Time zone name (empty string if the object is naive). | (empty), UTC, GMT | (6) | | %j | Day of the year as a zero-padded decimal number. | 001, 002, …, 366 | (9) | | %U | Week number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0. | 00, 01, …, 53 | (7), (9) | | %W | Week number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0. | 00, 01, …, 53 | (7), (9) | | %c | Locale’s appropriate date and time representation. | Tue Aug 16 21:30:00 1988 (en_US);Di 16 Aug 21:30:00 1988 (de_DE) | (1) | | %x | Locale’s appropriate date representation. | 08/16/88 (None);08/16/1988 (en_US);16.08.1988 (de_DE) | (1) | | %X | Locale’s appropriate time representation. | 21:30:00 (en_US);21:30:00 (de_DE) | (1) | | %% | A literal '%' character. | % | | ==== Convert strings to datetime ==== More info https://stackabuse.com/converting-strings-to-datetime-in-python/ import datetime date_time_str = 'Jun 28 2018 7:40AM' date_time_obj = datetime.datetime.strptime(date_time_str, '%b %d %Y %I:%M%p') print('Date:', date_time_obj.date()) print('Time:', date_time_obj.time()) print('Date-time:', date_time_obj) ===== Inline ===== ==== For loops ==== [print(day) for day in ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']] >>> monday tuesday wednesday thursday friday [None, None, None, None, None] ==== If statements ==== today = 'friday' print('yay!') if today == 'friday' else print('boo') >>> yay! ==== Unpack extras on a tuple or list ==== t = (0, 1, 2, 3, 4) a, b, *c = t print(a) print(b) print(c) # 0 # 1 # [2, 3, 4] print(type(c)) # a, *b, c = t print(a) print(b) print(c) # 0 # [1, 2, 3] # 4 *a, b, c = t print(a) print(b) print(c) # [0, 1, 2] # 3 # 4