Emmm...si... estoy viendo que..... la definicion de "local" y "global" cambia por completo respecto de por ejemplo PHP:
Código PHP:
Ver original<?php
function cajanegra()
{
$c = 3;
print($a);
print($b);
print($c);
}
$a = 1;
$b = 2;
cajanegra();
/*
Notice: Undefined variable: a in C:\xampp\htdocs\pruebas\test.php on line 6
Notice: Undefined variable: b in C:\xampp\htdocs\pruebas\test.php on line 7
3
*/
Alla.... se es local local dentro de una funcion..... y se es global si se declara explicitamente dentro de la funcion como global
Gracias...... me hacia falta que me dieran unas cuantas cachetadas para despertar :P
---
Lo que si.... me parece que Python viola el principio de encapsulamiento:
Código Python:
Ver original# Ejemplo 8
def cajanegra():
c = 3
print(b)
b = 5
a = 1
b = 2
cajanegra()
No veo como las variables dentro de una funcion no puede llevar cualquier nombre incluso el mismo que el de variables "globales"... creo hubiera sido preferible que ese caso... automaticamente se conviertieran en locales (dejaran de ser globales) sin mas conflictos.... al menos en otros lenguajes interpretados no hay problemas de resolucion como aca de graves.