Learn to Code via Tutorials on Repl.it!

← Back to all posts
Learn To Code In Python
PYer (3505)

Teaches you how to code in python. By PYer
This tutorial excpects some basic knowledge of coding in another language.


What is python?

Python is a very popular coding language. Little people use it for serious projects, but it is still useful to learn. It was created in 1991 by Guido van Rossum.
Look at a few uses of python:

  • Desktop Applications
  • Web Applications
  • Complex Scientific Equations

Let's look at a few reasons why it is useful:

  • Readable/Understandable Code
  • Compatible with other systems/platforms
  • Millions of useful modules

These are just a few, you can find a bunch more by researching it.

Know This Before We Start

What we will be teaching you is specifically python 3. This is the most updated version, but the version 2 is still widely used.
Here we will be using replit, but there are multiple text editors you can find.

Python Syntax

Python syntax was made for readability, and easy editing. For example, the python language uses a : and indented code, while javascript and others generally use {} and indented code.

First Program

Lets create a python 3 repl, and call it Hello World. Now you have a blank file called main.py. Now let us write our first line of code:

helloworld.py

print('Hello world!')

Brian Kernighan actually wrote the first "Hello, World!" program as part of the documentation for the BCPL programming language developed by Martin Richards.

Now, press the run button, which obviously runs the code. If you are not using replit, this will not work. You should research how to run a file with your text editor.

Command Line

If you look to your left at the console where hello world was just printed, you can see a >, >>>, or $ depending on what you are using. After the prompt, try typing a line of code.

Python 3.6.1 (default, Jun 21 2017, 18:48:35)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
> print('Testing command line')
Testing command line
> print('Are you sure this works?')
Are you sure this works?
> 

The command line allows you to execute single lines of code at a time. It is often used when trying out a new function or method in the language.

New: Comments!

Another cool thing that you can generally do with all languages, are comments. In python, a comment starts with a #. The computer ignores all text starting after the #.

shortcom.py

# Write some comments!

If you have a huge comment, do not comment all the 350 lines, just put ''' before it, and ''' at the end. Technically, this is not a comment but a string, but the computer still ignores it, so we will use it.

longcom.py

'''
Dear PYer,
I am confused about how you said you could use triple quotes to make
SUPER
LONG
COMMENTS
!

I am wondering if this is true,
and if so, 
I am wondering if this is correct.

Could you help me with this?

Thanks,
Random guy who used your tutorial.
'''
print('Testing')

New: Variables!

Unlike many other languages, there is no var, let, or const to declare a variable in python. You simply go name = 'value'.

vars1.py

x = 5
y = 7
z = x*y # 35
print(z) # => 35

Remember, there is a difference between integers and strings. Remember: String = "". To convert between these two, you can put an int in a str() function, and a string in a int() function. There is also a less used one, called a float. Mainly, these are integers with decimals. Change them using the float() command.

vars2.py

x = 5
x = str(x)
b = '5'
b = int(b)
print('x = ', x, '; b = ', str(b), ';') # => x = 5; b = 5;

Instead of using the , in the print function, you can put a + to combine the variables and string.

Operators

There are many operators in python:

  • +
  • -
  • /
  • *
    These operators are the same in most languages, and allow for addition, subtraction, division, and multiplicaiton.
    Now, we can look at a few more complicated ones:
  • %
  • //
  • **
  • +=
  • -=
  • /=
  • *=
    Research these if you want to find out more...

simpleops.py

x = 4
a = x + 1
a = x - 1
a = x * 2
a = x / 2

You should already know everything shown above, as it is similar to other languages. If you continue down, you will see more complicated ones.

complexop.py

a += 1
a -= 1
a *= 2
a /= 2

The ones above are to edit the current value of the variable.
Sorry to JS users, as there is no i++; or anything.

Fun Fact:
The python language was named after Monty Python.

If you really want to know about the others, view Py Operators

More Things With Strings

Like the title?
Anyways, a ' and a " both indicate a string, but do not combine them!

quotes.py

x = 'hello' # Good
x = "hello" # Good
x = "hello' # ERRORRR!!!

slicing.py

String Slicing

You can look at only certain parts of the string by slicing it, using [num:num].
The first number stands for how far in you go from the front, and the second stands for how far in you go from the back.

x = 'Hello everybody!'
x[1] # 'e'
x[-1] # '!'
x[5] # ' '
x[1:] # 'ello everybody!'
x[:-1] # 'Hello everybod'
x[2:-3] # 'llo everyb'

Methods and Functions

Here is a list of functions/methods we will go over:

  • .strip()
  • len()
  • .lower()
  • .upper()
  • .replace()
  • .split()

I will make you try these out yourself. See if you can figure out how they work.

strings.py

x = " Testing, testing, testing, testing       "
print(x.strip())
print(len(x))
print(x.lower())
print(x.upper())
print(x.replace('test', 'runn'))
print(x.split(','))

Good luck, see you when you come back!

New: Input()

Input is a function that gathers input entered from the user in the command line. It takes one optional parameter, which is the users prompt.

inp.py

print('Type something: ')
x = input()
print('Here is what you said: ', x)

If you wanted to make it smaller, and look neater to the user, you could do...

inp2.py

print('Here is what you said: ', input('Type something: '))

Running:
inp.py

Type something:
Hello World
Here is what you said: Hello World

inp2.py

Type something: Hello World
Here is what you said: Hello World

New: Importing Modules

Python has created a lot of functions that are located in other .py files. You need to import these modules to gain access to the,, You may wonder why python did this. The purpose of separate modules is to make python faster. Instead of storing millions and millions of functions, , it only needs a few basic ones. To import a module, you must write input <modulename>. Do not add the .py extension to the file name. In this example , we will be using a python created module named random.

module.py

import random

Now, I have access to all functions in the random.py file. To access a specific function in the module, you would do <module>.<function>. For example:

module2.py

import random
print(random.randint(3,5)) # Prints a random number between 3 and 5

Pro Tip:
Do from random import randint to not have to do random.randint(), just randint()
To import all functions from a module, you could do from random import *

New: Loops!

Loops allow you to repeat code over and over again. This is useful if you want to print Hi with a delay of one second 100 times.

for Loop

The for loop goes through a list of variables, making a seperate variable equal one of the list every time.
Let's say we wanted to create the example above.

loop.py

from time import sleep
for i in range(100):
     print('Hello')
     sleep(.3)

This will print Hello with a .3 second delay 100 times. This is just one way to use it, but it is usually used like this:

loop2.py

import time
for number in range(100):
     print(number)
     time.sleep(.1)

while Loop

The while loop runs the code while something stays true. You would put while <expression>. Every time the loop runs, it evaluates if the expression is True. It it is, it runs the code, if not it continues outside of the loop. For example:

while.py

while True: # Runs forever
     print('Hello World!')

Or you could do:

while2.py

import random
position = '<placeholder>'
while position != 1: # will run at least once
    position = random.randint(1, 10)
    print(position)

New: if Statement

The if statement allows you to check if something is True. If so, it runs the code, if not, it continues on. It is kind of like a while loop, but it executes only once. An if statement is written:

if.py

import random
num = random.randint(1, 10)
if num == 3:
     print('num is 3. Hooray!!!')
if num > 5:
     print('Num is greater than 5')
if num == 12:
     print('Num is 12, which means that there is a problem with the python language, see if you can figure it out. Extra credit if you can figure it out!')

Now, you may think that it would be better if you could make it print only one message. Not as many that are True. You can do that with an elif statement:

elif.py

import random
num = random.randint(1, 10)
if num == 3:
    print('Num is three, this is the only msg you will see.')
elif num > 2:
    print('Num is not three, but is greater than 1')

Now, you may wonder how to run code if none work. Well, there is a simple statement called else:

else.py

import random
num = random.randint(1, 10)
if num == 3:
    print('Num is three, this is the only msg you will see.')
elif num > 2:
    print('Num is not three, but is greater than 1')
else:
    print('No category')

New: Functions (def)

So far, you have only seen how to use functions other people have made. Let use the example that you want to print the a random number between 1 and 9, and print different text every time.
It is quite tiring to type:

Characters: 389

nofunc.py

import random
print(random.randint(1, 9))
print('Wow that was interesting.')
print(random.randint(1, 9))
print('Look at the number above ^')
print(random.randint(1, 9))
print('All of these have been interesting numbers.')
print(random.randint(1, 9))
print("these random.randint's are getting annoying to type")
print(random.randint(1, 9))
print('Hi')
print(random.randint(1, 9))
print('j')

Now with functions, you can seriously lower the amount of characters:

Characters: 254

functions.py

import random
def r(t):
     print(random.randint(1, 9))
     print(t)
r('Wow that was interesting.')
r('Look at the number above ^')
r('All of these have been interesting numbers.')
r("these random.randint's are getting annoying to type")
r('Hi')
r('j')

There you go! Try making your own functions!

The End

Now you know all of the basics of python. Congratulations!
Please upvote. Thanks!

Commentshotnewtop
PYer (3505)

Now it teaches you all of the basics of python. If anybody wants me to add more, comment below please. Thank you!

Vagasvic (8)

@PYer hi this is really a helpful post, especially for new comers like me :D .. Two things I didn't get yet is about: try and exception. I'll be glad if you add something about those things hehe

PYer (3505)

@Vagasvic I am kind of busy right now. I may in the future. In the meantime, you can read this article https://realpython.com/python-exceptions/#the-try-and-except-block-handling-exceptions that I used when learning about them.

Vagasvic (8)

@PYer thank you, what a great source to learn :) I had read or watched some litle things about try and exception, I was just giving you a suggestion to improve this post

jwangtcsyl (5)

@PYer Thanks, it is helpful to me( ^ ^ )

DerrickLukimin (0)

@PYer like create some advanced ones like Flask

joejox (2)

my school is using you just so you know (thats how good this is)

PYer (3505)

Hello @joejox! I was thinking about your comment, and just had a few questions I wanted to ask you! Don't feel obligated to answer them, I'm just curious.

  • Where is your school located? (Just a general area, such as the US or UK)
  • What type of school is it? Public or private?
  • Exactly what class is using it? (A computer science elective, a STEM class, etc)
  • What grade level? This is just to understand what age audience it works for.
  • What is the coding experience most of the students have? (None, minimal, proficient, etc). Do they already know a little python, or any other languages?
  • Do you feel like it was successful? Did it actually help? And if you answer this one, please be honest (I won't be offended :) )

Thanks! And like I said, don't feel obligated to answer any or all of these questions. This will just help me research and plan ways to write tutorials aimed for certain people.
Thanks again, and thanks for telling me!

python88 (193)

@PYer it's really helpful!

SovereignKoi (2)

Wow. This is an insanely helpful guide. Thanks for taking the time to make this!

PYer (3505)

Thanks! I'm glad to hear you learned from it! @SovereignKoi

betman123 (2)

a iot of thanks!!good service!! i love it!

Golub132 (3)

Thanks!That was usefull!

PYer (3505)

Thank you! Any specific parts, or any suggestions? @Golub132

Golub132 (3)

@PYer i do not understand def quite properly

PYer (3505)

all right, I'll add some more information later. @Golub132

NZHacker808 (97)

What do I need to add in if I want the world viewers to type in an answer into my repl? @PYer

PYer (3505)

I'm sorry, but I don't understand your questionn. @Miner36number2

studentAlfredAl (435)

I think he means the user input @PYer

PYer (3505)

oh sure. @studentAlfredAl
@Miner36number2 Use the input function and store it in a variable. For example:

text = input("Type something here")
print(text)
khalilsajjad786 (1)

You have written a nice and thoughtful article.
please check my article:https://www.plusfeeds.com/best-ide-for-python/

pyashika (0)

THANK U
I WAS LEARNING IN MY SCHOOL SO THIS WAS VERY HELPFUL
@PYer FIGHTING!!!!!!!!!!!!

BluntMachete (0)

Great article! Can we work on a project together? If so, please email me at [email protected]! Thanks a lot! I have medium experience with python and have a big project in mind!

IgorKusov (0)

Good tutorial!
You have a typo in slicing.py
x[1] # is not 'H' but 'e'

PYer (3505)

Thanks! Can't believe nobody's caught that before. I wonder how many new coders I've already confused. @IgorKusov

MrCryptomicNeo (0)

this really helped
(:=

hollimu (0)

Can anyone suggest the best way to start learning to code, total begineer.

PYer (3505)

It depends, are you looking for resources for a specific language? @hollimu

NicholasWhite6 (2)

@PYer hello im trying to create a game through python how do i change color of text on the console

PYer (3505)

Try ASCII color codes. That's a pretty common way. You could also try some modules. @NicholasWhite6

PotatooooooMan (0)

@PYer I don't understand the if statement, I want to check if someone wrote something, but I don't understand how, nothing I try works.

Alice688 (37)

@PotatooooooMan An if statement basically means, if this is true then do this, else do that. You also can write it with an input function. Here, copy this and paste it on your repl:

answer = input("Flower or not flower:") 
if answer == 'flower':
  print("Yay")
else:
  print("Aw")

Got it?

PYer (3505)

thanks for responding to that question. great, simple explanation. @Alice688 I've been busy, I must have missed the comment.

gatorade322 (73)

you know, you don't HAVE to submit a repl

PYer (3505)

Sorry, this post is OLD. It was required when I created it. @gatorade322

gatorade322 (73)

@PYer oh, that makes sense, OK!

techgeek680 (70)

Thank you so much! That was super helpful! I knew nothing about Python and this has helped me a lot. Question, what happened here?

PYer (3505)

Two things, @techgeek680. #1) Indent the lines in the code block for the if statement. Like you did with the first one. #2) You need to add an ending quote on that line after the content of the string

NZHacker808 (97)

@PYer What do you do if you want to print something in slow motion?

michelleanaya (0)

Thanks for the useful information. I just started learning python.

LINIA (19)

Hi everyone, I am working in Python, and I am an absolute begginer (well, almost). I am looking for someone (beginner), to work with in a team to learn more and faster and to have company.
Thank you
Lina

JoseTorres25 (0)

hello @LINIA. I am begginer is well, please I can join in your team?. Tnx