this post was submitted on 12 Jun 2024
43 points (93.9% liked)

Python

6356 readers
2 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

๐Ÿ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

๐Ÿ Python project:
๐Ÿ’“ Python Community:
โœจ Python Ecosystem:
๐ŸŒŒ Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
 

I'm currently learning Python and am learning about very basic functions such as int(), float(), and input().

I have the first two down pat, but I'm struggling to understand the last. The example I'm looking at is found at 12:26 of this video:

nam = input('Who are you? ')
print('Welcome', nam)

Who are you? Chuck
Welcome Chuck

In this case, wouldn't nam be a variable equal to the text on the right side of the = sign?

In which case, if nam is equal to input('Who are you? '), then wouldn't print('Welcome', nam) just result in

Welcome input(Who are you? )?

Obviously not (nor does it work in a compiler), which leads me to believe I'm clearly misunderstanding something. But I've rewatched that section of the video several times, and looked it up elsewhere on the web, and I just can't wrap my head around it.

Could someone help me with this?

Thanks.

you are viewing a single comment's thread
view the rest of the comments

A lot of responses here so I'll suggest a different approach. You can watch your python code execute line by line using a debugger. That might help with understanding how it all works.

def my_sum(list):
    result = 0
    for number in list:
        result += number
    return result

my_list = [1, 2, 3, 4, 5]
list_sum = my_sum(my_list)
print(list_sum)  # Prints 15

If you run the above code line by line in a debugger, you'll see that when it gets to list_sum = my_sum(my_list) the program will jump into the function my_sum(list) where "list" is a variable holding the value of "my_list". The program continues line by line inside of the function until it hits the return result statement. The program then returns to the line it was at before jumping into the function. "my_sum(my_list)" now has an actual value. It's the value that the return statement provided. The line would now read list_sum = 15 to python.

A debugger shows you which lines get executed in which order and how the variables update and change with each line.

Just a note: python has a built-in sum() function you could use instead of writing your own my_sum() function, but a debugger won't show you how built-in functions work! They're built into the language itself. You'd need to look up Python's documentation to see how they actually function under the hood.