Найти - Пользователи
Полная версия: Надо ли инициализировать переменные?
Начало » Python для новичков » Надо ли инициализировать переменные?
1
alekscooper
Всем привет!

Так вышло, что сто лет назад я изучал Си/Си++, где переменную надо сначала объявить, указать её тип и, как меня учили, инициализировать, чтобы там в ячейке не болталась какая-то случайная хрень, которая повлияет на дальнейшие вычисления. Ну, говорили или читал я где-то, что инициализировать переменную - хороший тон, типа как писать комментарии к коду или давать переменные понятные имена.

У меня возник вопрос: является ли это правилом хорошего тона в Питоне?

PS А что, админов нет на форуме? Спам слегка утомляет….
JOHN_16
alekscooper
в Питоне т.н. строгая динамическая типизация, явно указывать здесь ничего не нужно.

P.S. админы в курсе, вроде капчу сказали поменяют
py.user.next
alekscooper
чтобы там в ячейке не болталась какая-то случайная хрень
Инициализировать нужно не в определении, а как можно ближе к месту использования. Таких мест может быть несколько.

#include <stdio.h>

void f(void)
{
int i;

/* ... много строк ... */

i = 1;
while (i < 10)
if (i <= 5) {
printf("x");
i++;
} else {
printf("xX");
i += 2;
}
putchar('\n');

/* ... много строк ... */

i = 5;
while (i < 20)
if (i <= 10) {
printf("x");
i++;
} else {
printf("xX");
i += 2;
}
putchar('\n');
}

int main(void)
{
f();
return 0;
}

[guest@localhost c]$ .ansi t.c -o t
[guest@localhost c]$ ./t
xxxxxxXxX
xxxxxxxXxXxXxXxX
[guest@localhost c]$
Alen
alekscooper
где переменную надо сначала объявить

Не нужно. Зачем вам переменная без значения.

alekscooper
указать её тип и, как меня учили, инициализировать

А вы его итак указываете, только не явно.

Тип int:
>>> a = 1

Тип float:
>>> a = 1.0

Тип str:
>>> a = '1'

Тип список(list):
>>> a = [1]

Тип словарь(dict):
>>> a = {'a': 1}

Тип множество(set):
>>> a = {1}

И.т.д, и.т.п
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB