Doc string van een andere functie

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Doc string van een andere functie

Geert Stappers
#!/usr/bin/env python

# Hoi,

# lees a.u.b. verder ...

def functie1():
        """functie die zijn eigen doc string print"""
        print functie1.__doc__
        return

def functie2():
        """functie die doc string van andere functie print"""
        print functie1.__doc__
        return

def functie3(functienaam):
        """Wat ik zou willen"""
        print functienaam.__doc__
        return

def functie4(functienaam):
        """Mijn poging om voorbij 'str(object) -> string' te komen"""
        print repr(functienaam.__doc__)
        return

if __name__ == "__main__":
        functie1()
        functie2()
        functie3('functie2')
        #functie4('functie2')
output = """
functie die zijn eigen doc string print
functie die zijn eigen doc string print
str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
"""

vraag = """
Wat te doen om voorbij '''str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
''' te komen?
"""

# l l


Groeten
Geert Stappers
--
Leven en laten leven
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Doc string van een andere functie

Jasper Spaans-4
Hoi Geert,

<knip>

vraag = """
Wat te doen om voorbij '''str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
''' te komen?
"""

Probeer het eens met functie3(functie2) -- dus zonder aanhalingstekens. Of als je per se iets met een string wil doen, functie3(locals()["functie2"]).


Groet,
Jasper

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Doc string van een andere functie

Geert Stappers
On Thu, Mar 09, 2017 at 09:04:05PM +0100, Jasper Spaans wrote:

> > vraag = """
> > Wat te doen om voorbij '''str(object) -> string
> >
> > Return a nice string representation of the object.
> > If the argument is a string, the return value is the same object.
> > ''' te komen?
> > """
>
> Probeer het eens met functie3(functie2) -- dus zonder aanhalingstekens.
> Of als je per se iets met een string wil doen, functie3(locals()["functie2"]).

Ja, met `locals()["functienaam"]` als parameter kan ik wat het plan is.
Dank je wel.


#!/usr/bin/env python

def functie1():
        """functie die zijn eigen doc string print"""
        print functie1.__doc__
        return

def functie2():
        """functie die doc string van andere functie print"""
        print functie1.__doc__
        return

def functie3(functienaam):
        """ te gebruiken als "help tekst printer." """
        print functienaam.__doc__
        return

if __name__ == "__main__":
        functie3(locals()['functie2'])
        # toepassing
        user_input = 'functie2'
        functie3(locals()[user_input])

de_gewenste_output = """
functie die doc string van andere functie print
functie die doc string van andere functie print
"""

# l l


Groeten
Geert Stappers
--
Leven en laten leven
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Doc string van een andere functie

Douwe van der Meij-2
In reply to this post by Geert Stappers
Hoi Geert,

Het moet zijn:

functie3(functie2)  # dus niet als string meegeven maar de functie zelf

of:

functie3('functie2')  # zoals je hebt

en dan:

def functie3(functienaam):
    print(eval(functienaam).__doc__)  # dit werkt altijd, maar eval is mooi in je code

of:

def functie3(functienaam):
    print(globals()[functienaam].__doc__)  # dit werkt niet bij built-in functies

Succes!

Groet,
Douwe.

m: 06 5060 4033

2017-03-09 19:26 GMT+01:00 Geert Stappers <[hidden email]>:
#!/usr/bin/env python

# Hoi,

# lees a.u.b. verder ...

def functie1():
        """functie die zijn eigen doc string print"""
        print functie1.__doc__
        return

def functie2():
        """functie die doc string van andere functie print"""
        print functie1.__doc__
        return

def functie3(functienaam):
        """Wat ik zou willen"""
        print functienaam.__doc__
        return

def functie4(functienaam):
        """Mijn poging om voorbij 'str(object) -> string' te komen"""
        print repr(functienaam.__doc__)
        return

if __name__ == "__main__":
        functie1()
        functie2()
        functie3('functie2')
        #functie4('functie2')
output = """
functie die zijn eigen doc string print
functie die zijn eigen doc string print
str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
"""

vraag = """
Wat te doen om voorbij '''str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
''' te komen?
"""

# l l


Groeten
Geert Stappers
--
Leven en laten leven
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Doc string van een andere functie

Geert Stappers
On Thu, Mar 09, 2017 at 10:46:57PM +0100, Douwe van der Meij wrote:
> Hoi Geert,
>
> *functie3('functie2')*  # zoals je hebt
>
> en dan:
>
> *def functie3(functienaam):*
> *    print(eval(functienaam).__doc__)*  # dit werkt altijd, maar eval is mooi in je code

Die is gaaf!

 
> of:
>
> *def functie3(functienaam):*
> *    print(globals()[functienaam].__doc__)*  # dit werkt niet bij built-in functies

Werkt ook (voor mijn doel)


#!/usr/bin/env python

def functie1():
        """functie die zijn eigen doc string print"""
        print functie1.__doc__
        return

def functie2():
        """functie die doc string van andere functie print"""
        print functie1.__doc__
        return

def functie3(functienaam):
        """ te gebruiken als "help tekst printer." """
        print eval(functienaam).__doc__
        print globals()[functienaam].__doc__
        return

if __name__ == "__main__":
        functie3('functie2')
        # toepassing
        user_input = 'functie2'
        functie3(user_input)

de_gewenste_output = """
functie die doc string van andere functie print
functie die doc string van andere functie print
functie die doc string van andere functie print
functie die doc string van andere functie print
"""

# l l

Dank je wel

Groeten
Geert Stappers
--
Leven en laten leven
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Doc string van een andere functie

Douwe van der Meij-2
Wel een typo zie ik in mijn comment: eval is niet zo mooi in je code.. Maar goed, het werkt wel..

m: 06 5060 4033

Op 9 maart 2017 om 22:54 schreef Geert Stappers <[hidden email]>:
On Thu, Mar 09, 2017 at 10:46:57PM +0100, Douwe van der Meij wrote:
> Hoi Geert,
>
> *functie3('functie2')*  # zoals je hebt
>
> en dan:
>
> *def functie3(functienaam):*
> *    print(eval(functienaam).__doc__)*  # dit werkt altijd, maar eval is mooi in je code

Die is gaaf!


> of:
>
> *def functie3(functienaam):*
> *    print(globals()[functienaam].__doc__)*  # dit werkt niet bij built-in functies

Werkt ook (voor mijn doel)


#!/usr/bin/env python

def functie1():
        """functie die zijn eigen doc string print"""
        print functie1.__doc__
        return

def functie2():
        """functie die doc string van andere functie print"""
        print functie1.__doc__
        return

def functie3(functienaam):
        """ te gebruiken als "help tekst printer." """
        print eval(functienaam).__doc__
        print globals()[functienaam].__doc__
        return

if __name__ == "__main__":
        functie3('functie2')
        # toepassing
        user_input = 'functie2'
        functie3(user_input)

de_gewenste_output = """
functie die doc string van andere functie print
functie die doc string van andere functie print
functie die doc string van andere functie print
functie die doc string van andere functie print
"""

# l l

Dank je wel

Groeten
Geert Stappers
--
Leven en laten leven
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl