Skip to main content

Multiple ,It Can't Be That Easy? Can It?,Nicknames


Multiple Files

By now, you have written some pretty big programs with lots of lines of code.
This can get pretty cumbersome to deal with. Lots of scrolling to find the right bit...
One of the ways to overcome this is to split the code into multiple files.
That's right. Your programs can consist of more than one python file. The main file will always run first, but you can put parts of your code into other files and bring them in to main.py by importing.
In fact, you've already done this whenever you've used import random, import time, import os and so on. It's just that on those occasions, you were importing code written by someone else.
Today, you'll create your own code file and import it into your main program.
👉 Let's start with a basic 'count to 10' program in the main.py file.
for i in range(10):
  print(i+1)

👉 Now let's move it to a new file.
In the files menu in your left hand toolbar, find the 'New file' icon and svelect it.

Name the file test.py - you MUST include the .py to specify that it's a python file.






 


Cut and paste the code from main.py to test.py.

 

By now, your main.py file should have nothing in it.
👉 Now click 'run'. Watch in amazement as nothing happens!
Remember, Python runs the code in the main.py file, which at the moment is empty. So we need to import the code.
👉 Go to your main.py file and add this code.
import test # No need for the .py

👉 Now run the code and watch the 'count to 10' program execute

 It Can't Be That Easy? Can It?

Well....... no. Because we can't control when the 'count to 10' program runs. It just runs on import. In this example, it would run before the print("Countdown") code. Not ideal.
import test
print("Countdown")

To solve this, we need to think more like libraries. They consist of a bunch of subroutines that we can import and then call only when we need them.
👉 Back in your test.py file, you need to make the countdown program a subroutine.

def countdown():
  for i in range(10):
    print(i+1)

👉 Finally, let's call it in our main.py file.
import test
print("Countdown")
test.countdown() # Test refers to the file, countdown to the subroutine in that file. 

Nicknames

If your file name is really long, you can give it a pseudonym, or nickname, as I believe the hip young things are calling them these days. This will save you time every time you want to run a subroutine from that file.
👉 Use as to nickname your file. Here I've used tt for the test file.
import test as tt
print("Countdown")
tt.countdown()







Comments

Popular posts from this blog

FOR LOOP , RANGE

  FOR LOOP  A  while  loop is perfect to use when we  don't  know how many times we want the loop to repeat.  If we have an idea of how many times we want the loop to repeat, we can use a  for  loop to loop code in exactly the same way the  while  loop did.  EXAMPLE :  for counter in range(10):   print(counter) RANGE  The  range  function creates a list of numbers in the range you create. If you only give it one number, it will start at  0  and move to a state where the final number is  one less  than the number in the brackets. In this case, the final number would be  9 .  EXAMPLE :  total = 0 for number in range(100) :   total += number   print(total)

ALL ABOUT WHILE LOOP

 WHILE LOOP  A  while  loop allows your code to repeat itself based on a condition you set.   EXAMPLE : counter = 0 while counter < 10:   print(counter)   counter +=1 Infinite Loop  You have to be  really  careful that you don't accidentally invoke an infinite loop! This is where the computer will loop code until the end of time. Without a break. Forever.  This is just saying "count to 10 by 1 each time." to make the loop end. Don't forget, if your  condition  is a  >  then you might need to  -= . This will subtract from the variable instead of adding to it.   EXAMPLE : counter = 0 while counter < 10:   print(counter)    counter += 1

IF AND ELSE STATEMENT

  If Statements    These statements are a bit like asking a question. You are telling the computer:  if  something is true,  then  do this specific block of code. Double equals ( == ) is asking the computer to compare if these two things are  exactly  the same.  EXAMPLE :  myName = input("What's your name?: ") if myName == "David":  What is else? IF  the condition is  not  met with the  if  statement, then we want the computer to do the  else  part instead. Likewise, if the condition  is  met in the  if  statement, then the  else  bit is ignored by the computer. The  else  statement must be the first thing  unindented  after the  if  statement and in line with it    EXAMPLE :  myName = input("What's your name?: ") if myName == "David":  print("Welcome Dude!")  print("You're just the baldest dude I've ever seen...