Bring Your Logic using Python
341 subscribers
109 photos
1 video
4 files
544 links
Logic building using Python : Materials, links, e-books and Code snippets
Download Telegram
timeit runs your snippet of code millions of time (default value is 1000000) so that you get the statistically most relevant measurement of code execution time!
The module function timeit.timeit(stmt, setup, timer, number) accepts four arguments:
• stmt which is the statement you want to measure; it defaults to ‘pass’.
• setup which is the code that you run before running the stmt; it defaults to ‘pass’. We generally use this to import the required modules for our code.
• timer which is a timeit.Timer object; it usually has a sensible default value so you don’t have to worry about it.
• number which is the number of executions you’d like to run the stmt.
Python '!=' Is Not 'is not': Comparing Objects in Python

In this tutorial, you’ll learn:
• What the difference is between object equality and identity
• When to use equality and identity operators to compare objects
• What these Python operators do under the hood
• Why using is and is not to compare values leads to unexpected behavior
• How to write a custom __eq__() class method to define equality operator behavior

https://realpython.com/python-is-identity-vs-equality/
This media is not supported in your browser
VIEW IN TELEGRAM
None is evaluated as False so you can write

>>> results = None
>>> print(results or "No results")
============24th April 2020=======
# "is" vs "=="

>>> a = [1, 2, 3]
>>> b = a

>>> a is b

True
>>> a == b
True

>>> c = list(a)

>>> a == c

True
>>> a is c
False

# • "is" expressions evaluate to True if two
# variables point to the same object

# • "==" evaluates to True if the objects
# referred to by the variables are equal
———First class Functions—————
# Functions are first-class citizens in Python:

# They can be passed as arguments to other functions,
# returned as values from other functions, and
# assigned to variables and stored in data structures.

>>> def myfunc(a, b):
... return a + b
...
>>> funcs = [myfunc]
>>> funcs[0]

<function myfunc at 0x107012230>

>>> funcs[0](2, 3)
5
No switch case in Python. However, we can emulate it with the help of first class function feature of Python.
# Because Python has first-class functions they can
# be used to emulate switch/case statements

def dispatch_if(operator, x, y):
if operator == 'add':
return x + y
elif operator == 'sub':
return x - y
elif operator == 'mul':
return x * y
elif operator == 'div':
return x / y
else:
return None


def dispatch_dict(operator, x, y):
return {
'add': lambda: x + y,
'sub': lambda: x - y,
'mul': lambda: x * y,
'div': lambda: x / y,
}.get(operator, lambda: None)()


>>> dispatch_if('mul', 2, 8)

16

>>> dispatch_dict('mul', 2, 8)
16

>>> dispatch_if('unknown', 2, 8)
None

>>> dispatch_dict('unknown', 2, 8)
None
——————List Operations—————
# Python's list slice syntax can be used without indices
# for a few fun and useful things:

# You can clear all elements from a list:
>>> lst = [1, 2, 3, 4, 5]
>>> del lst[:]
>>> lst

[]

# You can replace all elements of a list
# without creating a new list object:
>>> a = lst
>>> lst[:] = [7, 8, 9]
>>> lst

[7, 8, 9]
>>> a
[7, 8, 9]
>>> a is lst
True

# You can also create a (shallow) copy of a list:
>>> b = lst[:]
>>> b

[7, 8, 9]
>>> b is lst
False
# Python's list comprehensions are awesome.

vals = [expression
for value in collection
if condition]


# This is equivalent to:

vals = []
for value in collection:
if condition:
vals.append(expression)

# Example:

>>> even_squares = [x * x for x in range(10) if not x % 2]
>>> even_squares

[0, 4, 16, 36, 64]
———Sorting is easy in Python———
This media is not supported in your browser
VIEW IN TELEGRAM
# Python has a HTTP server built into the
# standard library. This is super handy for
# previewing websites.

# Python 3.x
$ python3 -m http.server

# Python 2.x
$ python -m SimpleHTTPServer 8000

# (This will serve the current directory at
# http://localhost:8000)