Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 10, 2013 11:12:25

Kentavr
Зарегистрирован: 2013-09-10
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

"Кавычки" в Python

Добрый день!

Подскажите, если я пишу, например:
int(12)
int('12')
int(“12”)
- это одно и то же?
Есть ли разница, какие кавычки писать, и надо ли их писать ли их вообще?
Изучаю Python 3, стоит версия 3.3.2, никогда раньше до этого языки программирования плотно не изучал (разве что в ВУЗе Паскаль, который сдал на 3).

Заранее спасибо.

Отредактировано Kentavr (Сен. 10, 2013 11:13:49)

Офлайн

#2 Сен. 10, 2013 12:31:59

wbt
Зарегистрирован: 2013-08-13
Сообщения: 143
Репутация: +  6  -
Профиль   Отправить e-mail  

"Кавычки" в Python

“ и ‘ равнозначны (разумеется, кроме случаев ”say “hello”“ и ’ say ”hello"')

в первом случае int приводится к int-у, во втором и третьем - строка приводится к int-у.



Бейсик - не порок, Гвидо - не пророк

Офлайн

#3 Сен. 10, 2013 13:42:09

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

"Кавычки" в Python

> Есть ли разница, какие кавычки писать

Разницы между одинарными и двойными кавычками нету.

> и надо ли их писать ли их вообще?

Смысл вопроса не понятен. Что выбрать из int(3), int('3') и int(“3”)? Ничего т.к. можно написать просто 3.

Офлайн

#4 Сен. 10, 2013 16:53:02

VictorGor
Зарегистрирован: 2013-09-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

"Кавычки" в Python

Относительно недолго изучаю 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

Офлайн

#5 Сен. 10, 2013 17:03:57

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

"Кавычки" в Python

VictorGor
var = int(“12”) будет иметь значение строки (текст) 12 (не числа!)
Нет:
>>> var = int('12')
>>> var
12
>>> type(var)
<type 'int'>
>>>

Офлайн

#6 Сен. 10, 2013 17:26:32

VictorGor
Зарегистрирован: 2013-09-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

"Кавычки" в Python

И правда нет.
var = ('12') будет строкой, а var = int('12') и будет int.

Офлайн

#7 Сен. 10, 2013 22:02:24

Kentavr
Зарегистрирован: 2013-09-10
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

"Кавычки" в Python

Благодарю, sOrg!

Значит, получается, int(12), int('12') и int(“12”) равнозначны в данном случае?

Офлайн

#8 Сен. 10, 2013 22:04:58

Kentavr
Зарегистрирован: 2013-09-10
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

"Кавычки" в Python

>>> a=int(12)
>>> type(a)
<class ‘int’>
>>> a=int('12')
>>> type(a)
<class ‘int’>
>>> a=int(“12”)
>>> type(a)
<class ‘int’>
>>>

Вроде все integer.

Офлайн

#9 Сен. 11, 2013 02:40:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

"Кавычки" в Python

Kentavr
Значит, получается, int(12), int('12') и int(“12”) равнозначны в данном случае?
они равнозначны, но int(12) - это тупость, потому что из целого числа создаётся целое число
>>> type(12)
<class 'int'>
>>>

вообще, кавычки определяют строку - объект типа str
одинарные и двойные равны, тройные из одинарных и тройные из двойных тоже равны

>>> s = """
... 
... abc
... 
... 
... def
... 
... """
>>> print(s)
 
 
abc
 
 
def
 
 
>>>



Отредактировано py.user.next (Сен. 11, 2013 02:48:03)

Офлайн

#10 Сен. 11, 2013 04:31:40

wbt
Зарегистрирован: 2013-08-13
Сообщения: 143
Репутация: +  6  -
Профиль   Отправить e-mail  

"Кавычки" в Python

int(12) - не тупость, но издержки строгой, но утиной типизации, когда прилететь может всё, что угодно. в смысле, не int(12), а int(a), где a=12



Бейсик - не порок, Гвидо - не пророк

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version