User Tools

Site Tools


python_notes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
python_notes [2023/05/22 05:11] – [os.getenv vs. os.environ.get] rajupython_notes [2023/12/31 19:54] – [List of comparison operators] raju
Line 2: Line 2:
  
 ==== useful links ==== ==== useful links ====
 +  * [[https://tutswiki.com/python/exception-handling/ | exception handling in python]] (tutswiki.com)
 +    * very easy to follow; high information density; well thought out examples
   * [[https://www.programiz.com/python-programming/online-compiler/ | Online python compiler]] (programiz.com)   * [[https://www.programiz.com/python-programming/online-compiler/ | Online python compiler]] (programiz.com)
     * can be useful while doing live coding interviews.     * can be useful while doing live coding interviews.
Line 115: Line 117:
 </code> </code>
  
 +==== check if something is float ====
 +<code>
 +% python
 +Python 3.11.4 (main, Jul  5 2023, 13:45:01) [GCC 11.2.0] on linux
 +Type "help", "copyright", "credits" or "license" for more information.
 +>>> isinstance(12.0, float)
 +True
 +>>> isinstance(12.0, int)
 +False
 +>>> isinstance(12, float)
 +False
 +</code>
 +
 +==== check if something is int ====
 +<code>
 +% python
 +Python 3.11.4 (main, Jul  5 2023, 13:45:01) [GCC 11.2.0] on linux
 +Type "help", "copyright", "credits" or "license" for more information.
 +>>> isinstance(12, int)
 +True
 +>>> isinstance(12, float)
 +False
 +>>> isinstance(12.0, int)
 +False
 +</code>
 +
 +==== Python comparisons ====
 +
 +<code>
 +$ python
 +Python 3.9.17 (main, Jul  5 2023, 20:47:11) [MSC v.1916 64 bit (AMD64)] on win32
 +Type "help", "copyright", "credits" or "license" for more information.
 +>>> 4 == True
 +False
 +>>> 1 == True
 +True
 +</code>
 +
 +==== Chained comparisons ====
 +Q: In Python ''3 < 4 == True'' evaluates to False.
 +
 +<code>
 +$ python
 +Python 3.9.17 (main, Jul  5 2023, 20:47:11) [MSC v.1916 64 bit (AMD64)] on win32
 +Type "help", "copyright", "credits" or "license" for more information.
 +>>> 3 < 4 == True
 +False
 +</code>
 +
 +Why?
 +
 +A: The ''<'' and ''=='' are comparison operators. If a, b, c, …, y, z are expressions and op1, op2, …, opN are comparison operators, then in python, a op1 b op2 c ... y opN z is equivalent to a op1 b and b op2 c and ... y opN z, except that each expression is evaluated at most once.
 +
 +So ''3 < 4 == True'' is equivalent to ''3 < 4 and 4 == True'' which evaluates to ''True and False'' which turns out to be ''False''.
 +
 +Ref:-
 +  * https://docs.python.org/3/reference/expressions.html#comparisons - describes the above rule and also gives a list of comparison operators
 +
 +==== List of comparison operators ====
 +<code>
 +"<" | ">" | "==" | ">=" | "<=" | "!="
 +| "is" ["not"] | ["not"] "in"
 +</code>
  
 +Ref:- https://docs.python.org/3/reference/expressions.html#comparisons
 ===== tasks ===== ===== tasks =====
   * [[get urls in a url]]   * [[get urls in a url]]
Line 126: Line 192:
 None. I prefer to use os.getenv as it is less number of characters to type. None. I prefer to use os.getenv as it is less number of characters to type.
  
-See also: +To experiment, use [[https://github.com/KamarajuKusumanchi/notebooks/blob/master/python/difference%20between%20os.getenv%20vs.%20os.environ.get.ipynb | difference between os.getenv vs. os.environ.get.ipynb]] (github.com/KamarajuKusumanchi).
-  * [[https://github.com/KamarajuKusumanchi/notebooks/blob/master/python/difference%20between%20os.getenv%20vs.%20os.environ.get.ipynb | difference between os.getenv vs. os.environ.get.ipynb]] (github.com/KamarajuKusumanchi) - to experiment+
  
-Sample usage+Sample usage from https://github.com/dpguthrie/yahooquery/blob/master/yahooquery/base.py#LL926C1-L936C1
-from https://github.com/dpguthrie/yahooquery/blob/master/yahooquery/base.py#LL926C1-L936C1+
 <code> <code>
     def __init__(self, **kwargs):     def __init__(self, **kwargs):
Line 271: Line 335:
 print(lines) print(lines)
 ['kamaraju', 'kamaraj ', 'kamara  ', 'kamar   ', 'kama    ', 'kam     ', 'ka      ', '      '] ['kamaraju', 'kamaraj ', 'kamara  ', 'kamar   ', 'kama    ', 'kam     ', 'ka      ', '      ']
 +</code>
 +
 +===== programming notes =====
 +==== which python executable am I running? ====
 +<code>
 +import sys
 +print(sys.executable)
 +</code>
 +
 +For example
 +
 +<code>
 +$ python
 +Python 3.11.5 | packaged by Anaconda, Inc. | (main, Sep 11 2023, 13:26:23) [MSC v.1916 64 bit (AMD64)] on win32
 +Type "help", "copyright", "credits" or "license" for more information.
 +>>> import sys
 +>>> print(sys.executable)
 +C:\Users\kkusuman\AppData\Local\conda\conda\envs\py311\python.exe
 </code> </code>
  
python_notes.txt · Last modified: 2024/01/03 22:15 by raju