Python Forum
define methods in another file
Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
define methods in another file
#1
hi forum! i'm pretty new to python, i just wrote some simple codes in python.

the examples i have seen and written define the method in the class declaration (which is also definition, i guess).
i come from c++ background where the desired way for class methods is to declare the method in class's header file, and define it in class's source file.

i wonder if i can do the same in python?
Reply
#2
Sure. You can do it with the import command: https://www.codementor.io/sheena/python-...age-anyway
Reply
#3
well, if I understand your question correctly - in python there is no separate declaration and definition.
Reply
#4
(Jan-21-2018, 06:34 PM)bb8 Wrote: the desired way for class methods is to declare the method in class's header file, and define it in class's source file.
In C++ there is a need for this: the header file allows one to compile independently code that uses the class and link it to the library at a later stage. In Python there is no such need. Bytecode can be produced for code that uses a class without knowing anything about the class.
Reply
#5
If Python does not require the use of a header file, as in C++, then how would it work? Does each portion of the complete code have to be segregated by brackets, or can it just be written and the IDE or Python understand what you want and does it?
Reply
#6
Technically, you can write 'C' without a header file, but would get scoffed for it.
Reply
#7
(Feb-22-2018, 06:31 PM)Python_n00b_06 Wrote: If Python does not require the use of a header file, as in C++, then how would it work? Does each portion of the complete code have to be segregated by brackets, or can it just be written and the IDE or Python understand what you want and does it?
Should've checked grammar:
If Python does not require the use of a header file, "unlike in C++", then how would it work? Does each portion of the complete code have to be segregated by brackets, or can it just be written and the IDE or Python understand what you want and does it?

I am asking how would the code look without a header file in Python? Could someone link me a good example?
Reply
#8
Choose a package that interest you here: https://pypi.python.org/pypi
download the source (there will usually be a link to the github repository on the
introduction page for each package.
Download or clone the source code and you can browse through each part of it.
Reply
#9
(Feb-22-2018, 10:12 PM)Larz60+ Wrote: or can it just be written and the IDE or Python understand what you want and does it?
Yes if don't need stuff from standard library or 3-party module just write code and Python will understand it.
secret_number = 34
tries, guess = 0, 0
while guess != secret_number:
   guess = int(input("Take a guess: "))
   if guess > secret_number:
       print("Lower...")
   elif guess < secret_number:
       print("Higher...")
   tries += 1
    
print('You guessed it! The number was {} in {} tries'.format(guess, tries))

If file called guess.py run with python guess.py

If as a example want use math from standard library,it's kind of similar to C++ example
Python:
from math import sqrt

print(sqrt(4))
C++:
#include<iostream>
#include<cmath>
int main(){
    cout<<sqrt(4);
    return 0;
}

The concept of import is kind of simple if look at a module.
# foo.py
def add(a, b):
    """This program adds two numbers and return the result."""
    result = a + b
    return result
So now i want to use add function in an other script(file).
# bar.py
from foo import add

a = 11
b = 3
print(add(a, b)) # Use add from foo.py 
Output:
14
Package more stuff than just a couple of files and sharing stuff with wheel or PyPi,
is a more complex,i have long tutorial about here
Reply
#10
Ok i got some confusions figured out..i think:

So basically "import" for Python is like "#include" for C/C++?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Helps with reading csv file - 3 methods hhchenfx 4 3,254 May-13-2021, 04:15 AM
Last Post: buran
  Attibute Error: Two methods in a class, one I can reach, the other not (phantom file? GaryKuipers 4 3,150 Aug-28-2018, 02:32 PM
Last Post: GaryKuipers
  How to define a global file? dullboy 11 16,159 Oct-05-2016, 02:08 PM
Last Post: dullboy

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020