# Python Basics How to install python3 ```bash sudo apt-get install python3 ``` How to check version ```bash devasc@labvm:~$ python3 -V Python 3.8.2 ``` How to start python3 ```bash devasc@labvm~$ python3 Python 3.8.2 (default, Mar 13 2020, 10:14:16) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> ``` Calculation ```bash devasc@labvm~$ python3 Python 3.8.2 (default, Mar 13 2020, 10:14:16) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 2+3 5 >>> 10-4 6 >>> 2*4 8 >>> 20/5 4.0 >>> 3**2 ``` How to print string? ```bash devasc@labvm~$ python3 Python 3.8.2 (default, Mar 13 2020, 10:14:16) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> "Hello World!" 'Hello World!' >>> 'Hello World!' 'Hello World!' >>> print("Hello World!") Hello World! ``` Quit python ```bash devasc@labvm~$ python3 Python 3.8.2 (default, Mar 13 2020, 10:14:16) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> quit() devasc@labvm:~$ ``` # Script 0. Turn on VSCode 1. Create a file with extension `.py` 2. Execute :) > Executed directly on VSCode using Run > Run Without Debugging ```bash devasc@labvm:~/labs/devnet-src/python$ env DEBUGPY_LAUNCHER_PORT=36095 /usr/bin/python3 /home/devasc/.vscode/extensions/ms-python.python-2020.4.76186/pythonFiles/lib/python/debugpy/no_wheels/debugpy/launcher /home/devasc/labs/devnet-src/python/hello-world.py Hello World! ``` > Executed manually on command prompt (same directory/folder) ```bash devasc@labvm:~/labs/devnet-src/python$ python3 hello-world.py Hello World! devasc@labvm:~/labs/devnet-src/python$ ``` > Executed manually on command prompt (different dir) ```bash devasc@labvm:~$ python3 ~/labs/devnet-src/python/hello-world.py Hello World! devasc@labvm:~$ ``` # Data Type ```bash Python 3.12.6 (tags/v3.12.6:a4a2d2b, Sep 6 2024, 20:11:23) [MSC v.1940 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> type("DevNet") <class 'str'> >>> type(False) # important depan caps <class 'bool'> >>> type(22) <class 'int'> >>> type(22.11) <class 'float'> >>> ``` # Boolean ```bash >>> 1<2 True >>> 1<1 False >>> 1==1 True >>> 1>=1 True >>> 1<=1 True ``` # String Concatenation ```bash >>> str1 = "Aan" >>> str2 = "Was" >>> str3 = "Here" >>> print(str1 + " " + str2 + " " + str3) Aan Was Here >>> print(str1, str2, str3) Aan Was Here ``` # Type casting (change data type) Cannot directly + int to a string ```bash >>> x=5 >>> print("The value of x is " + x) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate str (not "int") to str ``` So change the data type of x into string first ```bash >>> print("The value of x is " + str(x)) The value of x is 5 ``` Careful wit the location it is assigned ```bash >>> x=5 # initially it is int, therefore output pon int >>> print("The value of x is " + x) >>> type(x) <class 'int'> ``` Reassigned again, but as a str ```bash >>> x = str(5) >>> type(x) <class 'str'> ``` Formatting output ```bash >>> num = 39/7 >>> print(f"The value of num is {num}") The value of num is 5.571428571428571 >>> shortnum = "{:.2f}".format(num) >>> f"The value of 39/7 is {shortnum}." 5.57 ``` # List ```bash >>> hostnames=["M1","N1","N2","R1","R2","R3"] >>> type(hostnames) <class 'list'> >>> len(hostnames) 6 >>> hostnames ['M1','N1','N2','R1','R2','R3'] >>> hostnames[0] 'M1' >>> hostnames[-1] 'R3' >>> hostnames[0] = "R1" >>> hostnames ['R1','N1','N2','R1','R2','R3'] >>> del hostnames[3] >>> hostnames ['R1','N1','N2','R2','R3'] ``` # Dictionary ```bash >>> csProgram ={"R":"Computer Network & Security", "B":"Bioinformatics", "P":"Data Engineering"} >>> type(csProgram) <class 'dict'> >>> csProgram {'R': 'Computer Network & Security', 'B': 'Bioinformatics', 'P': 'Data Engineering'} >>> csProgram['R'] 'Computer Network & Security' >>> csProgram["J"]="Software Engineering" >>> csProgram {'R': 'Computer Network & Security', 'B': 'Bioinformatics', 'P': 'Data Engineering', 'J': 'Software Engineering'} >>> csProgram["R"]=["Networks & Security", "Cyber Security"] {'R': ['Computer Network & Security', 'Cyber Security'], 'B': 'Bioinformatics', 'P': 'Data Engineering', 'J': 'Software Engineering'} ``` # Getting an input from a function ```bash >>> fullName = input("What is your full name? ") What is your full name? Megat >>> print(fullName) Megat ``` # if-else ```python if marks == 100: print("Good Job :D") else: print("fool") ``` # if-elif-else ```python if marks == 100: print("Good Job!") elif marks == 90: print("Acceptable") else: print("fool") ``` # for loop ```python devices=["R1", "R2", "R3", "S1", " S2"] for i in devices: print(i) ``` # for wit condition ```python for item in devices: if "R" in item: print(item) R1 R2 R3 ``` # append into list ```python item = ['RE1', 'ME1'] wtf = [] for i in item: if "RE" in i: wtf.append(i) print(wtf) RE1 ``` # while ```python x=1 y=10 while(x < y): print(x) x = x + 1 ``` # break ```python x=1 y=10 while True: print(x) x = x + 1 if x > y: break ``` # file access content of file is thiz ```bash devasc@labvm:~/$ cat devices.txt Cisco 881 Router Cisco 888 Router Cisco 1100 Router Cisco 4321 Router Cisco 4331 Router Cisco 4351 Router Cisco 2960 Catalyst Switch Cisco 3850 Catalyst Switch Cisco 7700 Nexus Switch Cisco Meraki MS220-8 Cloud Managed Switch Cisco Meraki MX64W Security Appliance Cisco Meraki MX84 Security Appliance Cisco Meraki MC74 VoIP Phone Cisco 3860 Catalyst Switch ``` ```python file=open("devices.txt" , "r") for item in file: print(item) file.close() ``` ```bash Cisco 881 Router Cisco 888 Router Cisco 1100 Router Cisco 4321 Router Cisco 4331 Router Cisco 4351 Router Cisco 2960 Catalyst Switch Cisco 3850 Catalyst Switch Cisco 7700 Nexus Switch Cisco Meraki MS220-8 Cloud Managed Switch Cisco Meraki MX64W Security Appliance Cisco Meraki MX84 Security Appliance Cisco Meraki MC74 VoIP Phone Cisco 3860 Catalyst Switch ``` # file access with strip ```python wtf = [] file=open("devices.txt" , "r") for item in file: meow = item.strip() wtf.append(meow) print(item) file.close() ``` ```bash Cisco 881 Router Cisco 888 Router Cisco 1100 Router Cisco 4321 Router Cisco 4331 Router Cisco 4351 Router Cisco 2960 Catalyst Switch Cisco 3850 Catalyst Switch Cisco 7700 Nexus Switch Cisco Meraki MS220-8 Cloud Managed Switch Cisco Meraki MX64W Security Appliance Cisco Meraki MX84 Security Appliance Cisco Meraki MC74 VoIP Phone Cisco 3860 Catalyst Switch ```