last day (15 days later) » 

7:37 PM
Te va bien con el ingles?
 
No tengo problema
 
me va peor con la indentación :-)
 
Knowing that the function named m() resides in the module named f, and the code contains the following import statement, choose the right way to invoke the function:
from m import f
para yo usar la funcion de ese modulo tengo las siguientes opciones
mod:fun()
mod.fun()
the import statement is invalid
fun()
me imagino que la correcta es mod.fun()
 
La pregunta está mal formulada. Dice que la función se llama f, pero luego pone fun()
La habrás copiado mal?
 
7:38 PM
No, esta asi tal cual
literal.
 
Pues ninguna de esas es correcta. La correcta es f()
 
Pero para hacer uso de una funcion de un modulo
 
Al importar con from m import f, el símbolo f pasa a ser local, no necesitas el prefijo mod
 
aaa ok
 
si hubieras puesto solo import mod, entonces sín necesitarías mod.f()
 
7:40 PM
osea que solo llamando f()
 
 
ok perfecto
 
pense lo mismo , pero tu tienes mas estrellas
 
@JackNavaRow :-P
 
ahora mira esta question
The package directory/folder may contain a file intended to initialize the package. Its name is:
__init__.py
init.py
__init.py__
__init__.
 
7:41 PM
Antes de acometer el test has estudiado por algún sitio?
O confías en tu intuición ciega? :-)
 
Pues he estado mirando el contenido
pero soy malo para el ingles
asi que muchas cosas no las entiendo
pero creo que es init.py
 
Pues para eso está SO.es :-)
No, es __init__.py
 
Bueno hagamos una cosa
cuando haga una pregunta voy a responderla como creo que es y segun mi conocimiento
ya tu me confirmas.
 
perfecto, así vas aprendiendo
 
exacto
 
7:43 PM
creo que lo ideal escribir cmd
luego py (para windows)
y copiar y pegar los codigos como lo dijo @abulafia
 
Lo que dice @JackNavaRow es una forma excelente de aprender también
 
las preguntas de analisis si las puedes decir
 
Aunque algunas preguntas como la de __init__.py no puede resolverse así
De hecho es lo que hago yo en caso de dudas. Lanzo un intérprete python y hago pruebas
 
si de hecho hay unas preguntas que muestran un trozo de codigo y me dan las respuestan segun ejecuta ese codigo
y para eso uso un compiler online en python
 
Si no tienes uno instalado puedes usar <https://repl.it>
 
7:44 PM
entonces las preguntas que hago es mas textualizado
@abulafia si ese uso ahora mismo :D
next question:
The folder created by Python used to store pyc files is named:
__pycache__
__cache__
__pycfiles__
__pyc__
 
Ese, a poco que hayas ejecutado cosas en python ya te sale
no tienes por tu disco carpetas con ese nombre?
 
pycfiles es la respuesta?
 
nop
sabes lo que son .pyc ?
 
mmm
extensiones de archivos python?
file.css cosas como estas?
 
No. Python aunque se conoce como lenguaje interpretado en realidad tiene una fase de compilación
 
7:46 PM
mmm
 
Cuando cargas un archivo .py, el intérprete antes lo "compila" para ver si la sintaxis es correcta
 
@abulafia uno puede enviar los .pyc como programa para que lo ejecuten?
 
y lo convierte en un código binario, que almacena en un .pyc
@JackNavaRow Sí
el .pyc lo deja por ahi para no tener que crearlo la próxima vez
 
tenia mi duda , nunca me ha tocado
 
y así cargarlo más rápido
si detecta que tocas el .py, vuelve a crear el .pyc
 
7:47 PM
@abulafia perfecto, entonces la respuesta a mi pregunta es? :v
 
rsponde con lo que te dice
 
supongo que .pyc significará algo así como "python compilado"
¿sabes lo que es una cache?
 
me siento regañado
 
es un almacén donde se guardan datos, que cuesta un poco obtener, frecuentemente usados para acceder a ellos más rápido
 
hahahaha
 
7:48 PM
¿no querías aprender? :-PP
 
si jajaja
 
@TheVicious esa no la sabia yo
me meti a un programa python y lo vi
digamos que me copie
 
:D
puse pycfiles como respuesta
 
así que si python tarda un poco en crear los .pyc, y los guarda en un sitio para poder acceder a ellos más rápido la próxima vez...
... se trata de una cache
ya puedes descartar varias respuestas
 
corristes un programa en python antes?
 
7:49 PM
ahora usa la intuición
 
nunca vi esa carpta
 
@JackNavaRow me preguntas?
 
siep
 
crea un archivo python y ejecutalo
 
7:50 PM
@JackNavaRow Suele hacerlo con los packages. Cuando lo cargas por primera vez la crea y luego ya la usa
Bueno, pues era __pycache__
 
@JackNavaRow y como hago eso? un archivo normal con extension .py
 
a mi me la creo @abulafia, es decir que esa carpeta se la doy al cliente y como lo ejecutaria
si @TheVicious
ejecuta en consola
mkdir curso_abulafia
 
@JackNavaRow En el caso de un package no lo tengo muy claro... Supongo que si dentro de una carpeta llamada cosa tienes un __init__.py y un` __pycache__, igual puedes hacer import cosa` sin necesitar el resto de los fuentes
 
ajam
@JackNavaRow cuentame mas
 
@JackNavaRow En caso de un script, puedes hacer python script.pyc
 
7:52 PM
cd curso_abulafia
genial! @abulafia eso tenia mis dudas
 
@TheVicious Estás en Windows, no?
 
si
windows
 
que version de python estas utilizando?
 
si me preguntas a mi no tengo instalado python si quiera
uso el compiler online
If you want to tell your module's users that a particular variable should not be accessed directly, you may:
build its name with lowercase letters only
use its number instead of its name
start its name with _ or __
start its name with a capital letter
 
@JackNavaRow ¡Es más! Puedes crear una carpeta con un paquete, fuera de ella escribir un __main__.py que lo cargue e implemente lo que quieras, y después comprimir todo en un zip. El zip tendría la carpeta y el __main__.py. Pues bien... ¡puedes hacer python archivo.zip!
 
7:55 PM
preguntas como esta es mas de como piensan los desarrolladores
 
Y te ejecuta el __main__.py
 
@abulafia :O
 
Puedes renombrar el .zip y quitarle la extensión, para que se note menos
 
vieron mi nuevo pregunta?
 
@TheVicious a ver.. perdona
 
7:56 PM
@abulafia guao esto es nuevo
 
@TheVicious Y tu respuesta?
 
@abulafia estoy traduciendo, wait
 
@JackNavaRow Así se distribuye por ejemplo youtube-dl (enorme utilidad por cierto)
 
y como haces con los archivos de configuracion?
 
start its name with _ or __
es mi respuesta.
 
7:57 PM
supondria que es _ or __ es comun en otros programadores, las mayusculas generalmente se utilizan para constantes
 
Correcta!
 
estaba esperando que respondieras @TheVicious esa no la sabia
 
si de hecho la respondi por logica de los programadores
 
@JackNavaRow Puedes meterlos dentro de la carpeta del paquete y usar el módulo resources para acceder a ellos
 
@JackNavaRow asi que tuvimos un poco de casualidad
If there is a finally: branch inside the try: block, we can say that:
it won't be executed if no exception is raised
branches is executed
it will be executed when there is no else: branch
it will always be executed
esta es mi respuesta @abulafia it will always be executed
 
7:59 PM
El convenio en python es usar _xxx para nombres de variables "internas", mayúscula inicial para nombres de clases, todo mayúsculas para constantes, y todo minúsculas y separado_asi para resto de identificadores (variables, funciones)
 
aunque en el caso para lo que necesito me conviene asi
 
@TheVicious Creo que es correcta
 
@TheVicious creo que esa respuesta era muy obvia para ti
 
@JackNavaRow jajaja puesss
 
no deberias colocar las que tu consideres facil
 
7:59 PM
que les dijera....
las considero facil pero aveces no estoy seguro...
 
lo que me gusto de python es que puedes hacer un solo try y varios except evitando que coloques muchos try/catch
 
tengo una pregunta
cuando un codigo imprime esto como resultado <__main__.A object at 0x7fd6e7ffc390> se puede considerar que el resultado es:
a string ending with a long hexadecimal number
es correcto cierto muchachos
 
lee esta parte object at 0x7fd6e7ffc390
 
ajam
 
Si no entiendo mal te pregunta que si imprimes una variable X y te sale eso, entonces X es de tipo string?
en realidad podría ser, nada te impide hacer:
x = "<__main__.A object at 0x7fd6e7ffc390>"
print(x)
pero no creo que sea la respuesta que esperaban
ya que eso de <__main__.A object at 0x7fd6e7ffc390> es como python muestra los objetos que no tienen otra forma de ser representados
 
8:05 PM
`>>> a = object()
>>> print (a)
<object object at 0x000001C37E6890A0>`
 
miren esta pregunta :D
The following code prints:

x = "\"

print(len(x))
 
así que yo diría que en este caso x es un objeto de la clase A, definida en el script __main__
 
estas ejecutando ese codigo en tu consola?
 
@TheVicious Era así realmente o es que al pegar ha desaparecido una barra. Yo creo que la pregunta debía decir
x = "\\"

print(len(x))
@TheVicious Respecto a la pregunta anterior, mira esto
 
@abulafia es que la pregunta es literalmente asi
y una una respuesta que dice algo como: el codigo causa un error
entonces es para confundir al que responde la pregunta...
@abulafia ayudame con esta Crack!
If the class constructor is declared as below, which one of the assignments is valid?
Como es que hago para identar?
 
8:08 PM
@TheVicious No puede ser. Sería un error de sintaxis. Una barra dentro de la comilla es un carácter especial y su significado depende del carácter que venga luego. En este caso vendría otra comilla, por tanto se consideraría que esa segunda comilla no es la de cierre, sino que estaría dentro. Así pues python aún esperaría que cerraras las comillas y como no lo haces, dará un error
yo creo que querían poner doble barra, y la respuesta sería que len(x) es 1
 
@abulafia de hecho la pregunta que sigue es la misma pero con doble barra :D
 
pues la primera barra indica que el siguiente caracter es especial, y es una barra, pero no se almacena duplicado
 
dime como idento un trozo de codigo en el chat?
 
usa pastebin
y pasas el pastebin
 
ya se como
 
8:10 PM
Pegalo en tu caja de texto, asegúrate de que son varias lineas, y pulsa el botón "fixed font" que aparecerá a la derecha del send
 
 class Class:

     def __init__(self):

        pass
 
Así!
 
hemos aprendido jajaj
bueno ese trozo de codigo va con esta pregunta: If the class constructor is declared as below, which one of the assignments is valid?
object = Class(None)
object = Class(1)
object = Class()
object = Class(1,2)
 
qué lenguaje conoces?
 
mi respuesta es esta object = Class()
 
8:11 PM
que responderias @TheVicious
 
para apoyarme en él a la hora de explicarte python
 
@abulafia soy intento de desarrollador javascript
:(
mi cargo es front
 
Hm.. Javascript no tiene constructores, no tiene clases propiamente dicha, no es un buen lenguaje para hacer analogías OOP
algo de Java o C++?
 
@abulafia si tiene constructores
 
nodo :(
@JackNavaRow Angular? :V
 
8:13 PM
bueno para muchos no tiene , por la funcion pero es la forma de verlo
 
Bueno, __init__() es el constructor en Python. Todos los métodos de una clase llevan obligatoriamente un primer parámetro típicamente llamado self, que no hay que pasar cuando invocas el método de un objeto
 
@abulafia osea que mi respuesta esta bien
?
 
@TheVicious self viene siendo el this de una arrow function
 
@JackNavaRow mmmm me has identificado ese self :v
 
Para instanciar una clase en python usas el nombre de la clase con paréntesis como si fuera una función, y dentro de los paréntesis los parámetros que pasarías al constructor (salvo el self que como dije nunca se pasa)
asi que sí, tu respuesta está bien
 
8:14 PM
dentro de la funcion o metodo tu haces self.nombre = "@TheVicious"
 
mmm okay ya entiendo
 
@JackNavaRow Me refería a que su OOP es basada en prototipos, no en clases. De cualquier forma tampoco sé tanto JS... ¿qué nombre debe ponerse entonces para el constructor?
 
constructor
 
@TheVicious Y para llamar a otro método del objeto, desde otro método del objeto, también hay que poner el self. Por ejemplo self.otro_metodo()
 
class Mantequilla { constructor(){}}
 
8:16 PM
esto no se hace en la mayoría de los otros lenguajes (no sé si en JS...) y es fuente frecuente de errores entre los que empiezan con python el olvidar ese self
 
@abulafia muchachos me quedan 10min para responder 10 preguntas
 
De sobra
 
me peuden ayudar con unas y ya luego vamos compartiendo ideas?
 
XD
 
@abulafia si señor, es un error comun!
 
8:16 PM
The sys.stdout stream is normally associated with:
the screen



a null device

the printer



the keyboard
mi respuesta es the keyboard?
 
stdout, out -> salida
stdin, in -> entrada
keyboard = entrada?
 
@abulafia a null device?
 
null device es un dispositivo que no hace nada. Elimina todo lo que se envía a él
out = ... ?
 
@abulafia pero entonces mi respuesta esta mala :D
 
si
la salida de un programa a donde va?
 
8:18 PM
the screen
 
eefectivamente
 
que pregunta tan tonta
jajajajja
 
venga, otra!
 
yo pense the printer pero como impresion a un archivo :O
o a la pantalla
 
a ver, pero esa terminología de que stdout es la salida estándar es muy común en muchos otros lenguajes... En C se llama igual y creo que en Java también. En todos ellos es la pantalla
 
8:21 PM
dame un mommnto que ando haciendo unas de compilación
 
stdout = standard output
y luego está stderr = standard error, a donde se envían mensajes de error y que por defecto también es la pantalla
 
@abulafia si , la costumbre de decir imprimir por (pantalla , archivo, otro)
 
@abulafia mira esta pregunta: The Exception class contains a property named args, and it is a:
list
dictionary
tuple
string
@abulafia la respuesta es string?
 
Esa no la sé de memoria, tendría que mirarla en la documentación
Yo diría list
por "imitación" de sys.args que es una list
o del parámetro *args en una función, que es también una list
 
@abulafia bueno ya puse esa :D
 
8:23 PM
Ah, acabo de consultarlo. Era tuple
habría fallado yo también XD
 
la puedo corregir, tranquilo :D
 
yo saque list y string
pero tu teoria era muy biena
estaba entre tupla y dict
 
Mmm chicos y falta esta ultima pregunta
If s is a stream opened in read mode, the following line
q = s.readlines()



will assign q as a:

tuple
list
string
dictionary
 
@TheVicious sabes que es una tupla una lista y un diccionario?
 
8:25 PM
@JackNavaRow mm pues a ver
tupla y list son parecido
pero cumplen cosas diferentes
list es un array?
 
sí, ambas son colecciones ordenadas que se pueden recorrer en secuencia o acceder directamente a un elemento por su índice, que es entero y empieza en 0
 
de acuerdo a mi pregunta la respuesta seria dictionary
?
 
se parece bastante a un array, pero en un array todos los elementos han de ser del mismo tipo y en una list de python no
 
@abulafia que buen concepto manejas :v
 
un diccionario es otra cosa. Es lo que otros lenguajes llaman un "map", o lo que javascript llama un "object" :-)
a los elementos de un diccionario se accede por su "nombre" en vez de por su índice, aunque se pone entre corchetes como en una lista
 
8:27 PM
@abulafia entonces seria string mi respuesta?
me confundes :D
 
alli la del archivo no se que responder, me iria por lista
 
ejemplo: diccionario["a"]
 
@abulafia que interesante
 
si es un csv
 
a ver readlines() es plural. Significa "lee lineas"
así que debería retornar varias cosas
 
8:28 PM
list?
 
efectivamente
aunque en teoría podría ser tuple también, es list
la diferencia entre list y tuple es que en la primera puedes cambiar el valor de uno de sus elementos, por ejemplo así: milista[1]=200
pero en una tupla no te deja. Te genera excepción
la tupla es una lista "inmutable"
 
@abulafia en esta siempre he tenido la duda
If you want to write a byte array's content to a stream, you'd use:
the writefrom() method
writebytearray() method
writeto() method
the write() method
 
también, a una lista puedes añadir elementos con milista.append(100), pero a una tupla no
 
mi respuesta seria writebytearray() method
 
Pues yo diría write(), no me suena que exista writebytearray()
 
8:30 PM
the write() method
?
 
write() sirve para escribir bytes, sí
 
igual dicen "write a byte array's content " arrays en python "no existen"
 
he sacado 47/50 puntos
cada pregunta = 1 punto
osea que 3 malas serian mias :D
 
donde es esa prueba?
 
@JackNavaRow es un curso que me han dado por hacer en la Univesidad :D
y pues bueno tenia plazo hasta el domingo
 
8:32 PM
@JackNavaRow Pero sí existe el tipo bytearray
 
pero es mejor hacerlo ya y mas con la ayuda de @abulafia :v
 
Hum.. igual tenías que haber venido, preguntar dudas, y después hacer la prueba
 
Muchachos muchas gracias por su presencia y gracias a @abulafia por compartir su conocimiento
dicen que la mejor manera de aprender es enseñar a los demas
 
y no preguntar mientras la hacías...
 
@abulafia una pregunta de pyton 2 a python 3
 
8:32 PM
y me siento muy agradecido con personas como ustedes, de verdad que hacen mejor la comunidad
 
creo que has hecho algo de trampa...
@JackNavaRow Dime
 
el metodo print de python 2 eera nativo y lo cambiaron a funcion cierto?
 
sip
 
que tiene constructor
genial.... me hicieron esa pregunta me fue bien
pero mas por PHP al leer esta pregunta
 
¿Que tiene constructor? Eso no lo entendí
 
8:34 PM
print
print() en python 3
 
Hum.. sí que tiene constructor
>>> dir(print)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']
aparece __init__, pero ni idea de para qué podría usarse
 
genial , me fue bien con esa pregunta
siempre hay locos cambiando cosas y reinventan la rueda
en python2 da error
dir(print)
  File "<stdin>", line 1
    dir(print)
bueno yo me tengo que ir , aprendi mas!
gracias @abulafia
 
dnd
yo tb me voy
@TheVicious Chao
 
@abulafia chao
muchas gracias
gracias
vemoss
 

  last day (15 days later) »