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
python_notes [2023/11/17 19:12] – [programming related] rajupython_notes [2024/01/03 22:15] (current) – [useful links] raju
Line 8: Line 8:
   * [[https://nedbatchelder.com/text/names.html | Facts and myths about Python names and values]] (nedbatchelder.com) - well explained.   * [[https://nedbatchelder.com/text/names.html | Facts and myths about Python names and values]] (nedbatchelder.com) - well explained.
  
 +==== links to documentation ====
 +
 +  * os.path.basename - https://docs.python.org/3/library/os.path.html#os.path.basename
 +  * continue statement - https://docs.python.org/3/reference/simple_stmts.html#the-continue-statement
 ==== validate inputs ==== ==== validate inputs ====
 Sample snippet: Sample snippet:
Line 143: Line 147:
 </code> </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 299: Line 342:
  
 ===== programming notes ===== ===== 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>
 +
 ===== programming related ===== ===== programming related =====
 ==== get the home directory ==== ==== get the home directory ====
python_notes.1700248358.txt.gz · Last modified: 2023/11/17 19:12 by raju