Kentavr
Сен. 10, 2013 11:12:25
Добрый день!
Подскажите, если я пишу, например:
int(12)
int('12')
int(“12”)
- это одно и то же?
Есть ли разница, какие кавычки писать, и надо ли их писать ли их вообще?
Изучаю Python 3, стоит версия 3.3.2, никогда раньше до этого языки программирования плотно не изучал (разве что в ВУЗе Паскаль, который сдал на 3).
Заранее спасибо.
wbt
Сен. 10, 2013 12:31:59
“ и ‘ равнозначны (разумеется, кроме случаев ”say “hello”“ и ’ say ”hello"')
в первом случае int приводится к int-у, во втором и третьем - строка приводится к int-у.
lorien
Сен. 10, 2013 13:42:09
> Есть ли разница, какие кавычки писать
Разницы между одинарными и двойными кавычками нету.
> и надо ли их писать ли их вообще?
Смысл вопроса не понятен. Что выбрать из int(3), int('3') и int(“3”)? Ничего т.к. можно написать просто 3.
VictorGor
Сен. 10, 2013 16:53:02
Относительно недолго изучаю Python и программирование в общем.
int(12)
int('12')
int(“12”)
Понимаю это как int('12') и int(“12”) одинаковы, а int(12) - присваивание значения 12 в виде целого числа (int = integer). Например, переменная var = int(12) будет иметь значение целого числа 12, а var = int(“12”) будет иметь значение строки (текст) 12 (не числа!). Тоже самое и var = float(12) будет иметь значение 12.0
s0rg
Сен. 10, 2013 17:03:57
VictorGor
var = int(“12”) будет иметь значение строки (текст) 12 (не числа!)
Нет:
>>> var = int('12')
>>> var
12
>>> type(var)
<type 'int'>
>>>
VictorGor
Сен. 10, 2013 17:26:32
И правда нет.

var = ('12') будет строкой, а var = int('12') и будет int.
Kentavr
Сен. 10, 2013 22:02:24
Благодарю, sOrg!
Значит, получается, int(12), int('12') и int(“12”) равнозначны в данном случае?
Kentavr
Сен. 10, 2013 22:04:58
>>> a=int(12)
>>> type(a)
<class ‘int’>
>>> a=int('12')
>>> type(a)
<class ‘int’>
>>> a=int(“12”)
>>> type(a)
<class ‘int’>
>>>
Вроде все integer.
py.user.next
Сен. 11, 2013 02:40:53
Kentavr
Значит, получается, int(12), int('12') и int(“12”) равнозначны в данном случае?
они равнозначны, но
int(12) - это тупость, потому что из целого числа создаётся целое число
>>> type(12)
<class 'int'>
>>>
вообще, кавычки определяют строку - объект типа
strодинарные и двойные равны, тройные из одинарных и тройные из двойных тоже равны
>>> s = """
...
... abc
...
...
... def
...
... """
>>> print(s)
abc
def
>>>
wbt
Сен. 11, 2013 04:31:40
int(12) - не тупость, но издержки строгой, но утиной типизации, когда прилететь может всё, что угодно.

в смысле, не int(12), а int(a), где a=12