Docstring [RESOLVIDO]

1. Docstring [RESOLVIDO]

Victor Pilotto
victor.p

(usa Ubuntu)

Enviado em 01/11/2010 - 12:47h

Estou com um pequeno problema nesse codigo:

#!/usr/bin/env python
# *-* coding: utf-8 *-*
def funcao(param1, param2):
"""
Descrição:
Esta é uma função de exemplo que apenas
exibe duas strings

Utilização:
funcao(param1, param2)

Parâmetros:
param1
Um texto qualquer
param2
Outro texto qualquer
"""
print(param1)
print(param2)

print funcao.__doc__

Quando eu executo ele, aparece o seguinte erro:

[victor@archlinux Python]$ ./Aula3.py
File "./Aula3.py", line 21
print funcao.__doc__
^
SyntaxError: invalid syntax

Alguem saberia me dizer porque está acontecendo isso

Essa é a versão do Python que estou usando

[victor@archlinux Python]$ python
Python 3.1.2 (r312:79147, Oct 4 2010, 12:35:40)
[GCC 4.5.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.



  


2. Re: Docstring [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 01/11/2010 - 16:22h

A indentação do código esta ok?


3. Re: Docstring [RESOLVIDO]

fabricio erdmann
fabricio.er

(usa Debian)

Enviado em 01/11/2010 - 16:52h

no python 3.x o print ficou como uma função então é só alterar o 'print funcao.__doc__' para print(funcao.__doc__)

-----edit:
como a maior parte dos tutoriais atuais de python esta em 2.x você tera que verificar as mudanças que ocorreram do 2.x para 3.x
aqui tem a documentação em português do python 3.x incluindo as mudanças, mas não verifiquei se esta completo pq o debian ainda esta no 2.x
http://www.python.org.br/wiki/Python-3.0
aqui o site oficial em inglês do 3.1.2:
http://www.python.org/download/releases/3.1.2/


4. Re: Docstring [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 01/11/2010 - 17:09h

Realmente!

Não havia notado que a versão que ele usa é a 3.x

=]


5. Re: Docstring [RESOLVIDO]

fabricio erdmann
fabricio.er

(usa Debian)

Enviado em 01/11/2010 - 17:20h

eu sabia que não era erro de indentação pq ja usei muito o interpretador interativo para fazer testes e já esqueci de escrever a entrada de dado tendo que dar enter bem apos definir a função que gera esse erro:
------
>>> def a():
...
File "<stdin>", line 2

^
IndentationError: expected an indented block
------


6. python 2.x e 3.x

Anderson de Oliveira Madeira
enki

(usa Zenwalk)

Enviado em 02/11/2010 - 19:38h

Se você for usuário iniciante de python aconselho que você opte por aprender na 2.x e não na 3.x, já que a versão 3 inclui alguns conceitos já avançados (como closures). Agora se você já teve contato com outras linguagens de scripts semelhantes como Ruby ou então com linguagens funcionais como Haskell, principalmente, então nesse caso acho que já seja boa escolha optar pela 3.x. Não sei como anda o uso da 3.x, mas há mais documentação pra 2.x, por isso a maior facilidade de aprendizado, creio eu.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts