1. Multiple variable assignment
You can assign values to multiple variables on one line. You can also assign different data type in single line. A simple use case is shown below:
>>> a,b,c = 4, ‘Sonika’, {‘name’:’Sonika’,’lastname’:’Baniya’}
>>> print(a,b,c)
#output
4 Sonika {‘name’: ‘Sonika’, ‘lastname’: ‘Baniya’}
2. For/while else loop
Yes, for else loop. In so many programming language, else statement is restricted to use only with if statement. In python (only for python version 3.X) , the else block just after for/while is executed only when the loop is NOT terminated by a break statement.
def contains_even_number(l):
for num in l:
if num % 2 == 0:
print ("True,list contains an even number")
break
else:
print ("False, list does not contain an even number")
print ("For List 1:")
contains_even_number([1, 3, 6])
print ("For List 2:")
contains_even_number([1, 7, 3])
#output
For List 1:
True, list contains an even number
For List 2:
False, list does not contain an even number
Similarly, we can use it for while loop.
3. Chain comparison
Chain comparison returns boolean value. Most importantly, it can be chained arbitrarily. Its more self explanatory this way:
5 < 8 < 9 #returns true
6 > 8 < 10 < 15 #returns false
4. floor() and ceil() functions
The floor() method takes a numeric number as an argument and returns the largest integer not greater than the input value. The ceil() method takes a numeric number as an argument and returns the smallest integer not smaller than the input value. A simple example would be
#floor method
import math
print ("math.floor(-23.11) : ", math.floor(-2.22))
print ("math.floor(300.16) : ", math.floor(40.17))
print ("math.floor(300.72) : ", math.floor(40.72))
#output
math.floor(-2.22) : -3.0
math.floor(40.17) : 40.0
math.floor(40.72) : 40.0
#ceil method
import math
# prints the ceil using floor() method
print ("math.ceil(-23.11) : ", math.ceil(-2.22))
print ("math.ceil(300.16) : ", math.ceil(40.17))
print ("math.ceil(300.72) : ", math.ceil(40.72))
#output
math.ceil(-2.22) : -2.0
math.ceil(40.17) : 41.0
math.ceil(40.72) : 41.0
5. Inspect object by dir()
We can inspect the object by simply calling dir() method. Here is the very simple example of using inspect object with dir() method. This saves a lot of time and we don't have to google everytime when we need it.
>>> test = "Sonika"
>>> print(dir(test))
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> test = [1,2]
>>> print(dir(test))
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
6. Reverse string with slice:
There are multiple ways to reverse string but this method has to be the best one. There are so many use case of slice as you can see here. To reverse string we do "someString"[::-1] . A simple use case is:
>>>print("Sonika"[::-1])
#output
akinoS
7. N times strings:
Printing n strings is easier than we thought it would be. Its quite self explanatory as following:
print("S" + "o"*2 + "n"*3 + "i"*4 +"k"*5 +"a"*6)
#output
Soonnniiiikkkkkaaaaaa
Hope this helps!
Top comments (16)
Operation done in 1st point isn't technically multiple variable assignment but tuple unpacking. What you have on the right side is an implicit tuple created due to the commas and then you unpack its values to the variables on the left side of the assignment.
Tuple unpacking is technically what it is, but it's not wrong to call multiple variable assignment the effect that you achieve. It's more didactic and, in fact, more accurate, because there is more to tuple unpacking than said here.
Yeah but this method is named as ' multiple variable assignment ', no?
Tuple unpacking is more specific. 'multiple variable assignment' would be also `a = b = c = None', wouldn't it?
Here, a comma on the right side of the assignment represents implicit tuple creation, which is first executed and then unpacked.
floor, ceil but no trunc?!
seemed to have missed it out, will be mindful about this from now onwards :))
That
dir()
tip is super useful! Thank you for this :)Very happy to know it helped :))
Nice!!! Really helpful tips!
thank you Anish
Your prints don't have parenthesis in the 4th tip
Thank you for pointing this out, i fixed it now :))
For/while else loop tip is cool
thank you
Good one Sonika
thank you