Что такое Тип?

Можно сделать это в Python, если Вы чувствуете себя комфортно:

Не протестированный, просто введенный:

out = open("filename").read();
lines = out.split('\n')
ints = map(int, lines)
s = sum(ints)
print s

Sebastian указал на один сценарий лайнера:

cat filename | python -c"from fileinput import input; print sum(map(int, input()))"
9
задан Everyone 5 August 2009 в 13:34
поделиться

13 ответов

Данные ничего, кроме набора битов. Тип сообщает вам, что представляют собой эти биты, например int, char, Boolean.

5
ответ дан 4 December 2019 в 07:14
поделиться

Есть много способов ответить на этот вопрос, и каждый из них применим к одним моделям, но не применим к другим. Мое любимое общее определение: тип - это некоторое подмножество всех значений в мире (например, тип «положительные целые числа» включает значение 1, но не значение «переполнение стека»). Очевидно, что типы могут пересекаться (1 может быть целым или положительным целым типом). Это определение дает хорошее интуитивное представление о «больших» (более всеобъемлющих) и «меньших» типах, что помогает понять ковариацию и контравариантность.

7
ответ дан 4 December 2019 в 07:14
поделиться

Неформально, Тип используется для обозначения категории объектов с похожими характеристиками, как «Стул» для типа мебели. Стул обычно предназначен для сидения, поэтому имеет ровное горизонтальное пространство. У стульев часто четыре ножки, но не всегда. Стул имеет определенный цвет или набор цветов. и т.д.

Итак, если я скажу вам, что у меня есть стул, вы много знаете об объекте, о котором я говорю.

Если продолжить аналогию, стулья обладают функциональностью (вы можете сидеть на стуле), и свойства (количество ножек, цвет). Кроме того, общие конфигурации свойств стула также могут быть названы подтипом (или подклассом), например, стул - это трехногий стул без спинки.

Типы - это сокращение для описания компьютерных объектов, поэтому что все свойства и действия (методы) не t необходимо указывать для каждого отдельного объекта. Заявляя, что определенный объект имеет определенный тип, программисты (и компьютер) предполагают общность на основе типа, что делает процесс программирования дешевле / лучше / быстрее.

3
ответ дан 4 December 2019 в 07:14
поделиться

Вот лучшее определение, которое я когда-либо встречал:

Доказательство - это программа. Формула, которую он доказывает, является типом для программы.

Здесь «программа» означает в очень общем смысле и относится к любой конструкции на вашем языке программирования, о которой можно рассуждать на этом языке (быть это неприводимое значение, выражение, функция или целое приложение).

Некоторые языки программирования, так называемые «статически типизированные» языки, включают вспомогательный язык (называемый системой типов) для составления утверждений о программах. Утверждения, которые, если программа верна, всегда должны быть правдой. Таким образом, в некотором смысле типы также являются программами, интерпретируемыми другой программой, которая называется проверкой типов. Некоторые системы типов требуют, чтобы программист делал явные утверждения о типах, где средство проверки типов гарантирует, что ваши программы соответствуют этим операторам, и выдаст вам ошибку, если они этого не сделают. Другие системы пытаются определить наиболее общий тип ваших программ автоматически и выдают ошибку, если такой тип не может быть определен.

3
ответ дан 4 December 2019 в 07:14
поделиться

Я всегда знал, что «Тип определяет, как данные хранятся в памяти и действия, которые могут быть выполнены с ними».

Если вы думаете о классе с локальными переменными и методами , это имеет смысл. Переменные экземпляра определяют способ выделения памяти для новых экземпляров, а общедоступные методы описывают контракт действий, которые могут быть выполнены с экземплярами этого класса.

9
ответ дан 4 December 2019 в 07:14
поделиться

С точки зрения типов данных, это формат, в котором данные хранятся в памяти и передают операции, которые могут выполняться с данными и с данными.

Например, 'unsigned integer '- это тип данных, который может хранить только положительные целые действительные числа (например, 0, 1, 2, 3 ...), обычно до определенного числа из-за того, что память, выделенная для целого числа без знака, ограничена.

1
ответ дан 4 December 2019 в 07:14
поделиться

Типы данных. например, int, bool, float, char, string (имена в разных языках будут разными).

Type - это сокращение от Data Type. Их можно разделить на 2 основные категории: собственные и определяемые пользователем. Тип данных описывает, какой тип данных может храниться в переменной, и операции, которые вы можете выполнять с этими данными.

собственные типы данных уже определены в языке. Часто они включают целые числа, числа с плавающей запятой, логические, символьные, строковые или что-то подобное. На разных языках будут разные наборы собственных типов данных. Например, в некоторых языках нет логического значения. В других языках нет собственного строкового типа.

пользовательские типы данных - это те, которые вы определяете. Вы можете определить тип данных для хранения любой информации и операторов, которые действуют на эти значения.

1
ответ дан 4 December 2019 в 07:14
поделиться

«Тип» предназначен для передачи аромата объект; его пределы и ожидаемые значения по умолчанию.

Тип int означает, что это число и на многих языках по умолчанию равно нулю. Напротив, тип string представляет собой набор символов, который может напоминать int , но не обязательно; по умолчанию используется пустая строка или значение NULL в зависимости от языка.

"Тип" также часто используется для обозначения настраиваемого объекта или класса, а не только int , bool , строка и т. Д. Есть ли случай, когда не следует использовать «Тип»?

1
ответ дан 4 December 2019 в 07:14
поделиться

Тип - это имя, данное «описанию» класса или объекта (экземпляра класса).

В .NET тип сообщает вам такую ​​информацию, как имя класса, поля, свойства, методы, где он находится и т. Д. Это также может привести к информации, например, в какой сборке (DLL) он находится и в каком каталоге он находится. .

Тип очень важен, поскольку компилятор знает, что можно, а что нельзя делать с объектом во время компиляции. Это значительно упрощает разработку, гарантирует, что проблемы возникнут раньше, и разработчик с меньшей вероятностью сделает неправильные вещи с неправильными объектами.

Некоторые примеры так называемых встроенных типов: int, double, string, float, byte и короткое ".

0
ответ дан 4 December 2019 в 07:14
поделиться

С точки зрения начинающего программиста, вы можете думать о назначении типа как о ограничении того, какая информация может храниться в конкретной переменной. Например (игнорируя нечетные среды), в C:

  • a char - это 8-битное значение, которое может представлять число от -128 до 127.
  • an unsigned short - это 16-битное значение, которое может представлять число от 0 до 65535

Стоит отметить, что не все языки обрабатывают набор текста одинаково. Язык, который строго ограничивает, какие значения могут храниться в переменных на основе типов, считается строго типизированным. Примером языка, который не является строго типизированным, является Perl - если вы определите, Perl сотворит чудеса и обработает это значение как строку или число в зависимости от контекста.

0
ответ дан 4 December 2019 в 07:14
поделиться

@divo сказал это достаточно хорошо, но я попытаюсь подвести итог:

Тип - это набор данных (он может даже состоять из других типов), который имеет получил семантическое значение. Это важно - тип - это определение семантического значения. Этот тип отличается от того типа , потому что я так говорю . Семантическое значение типа определяет, как вы можете его использовать, какие операции вы можете выполнять с ним и тому подобное.

В своей низшей форме тип - это просто кодирование против группировки битов. Например, целое число ( int на многих языках) представляет собой (обычно в наши дни) 32 бита данных, закодированных в форме дополнения до двух . float - это 32 или 64 бита, закодированные в стандарте арифметики с плавающей запятой IEEE . char - это 8 или 16 (чаще 16) бит, закодированных в ASCII или UTF8 / UTF16. Строка - это массив символов. И так далее.

Сложный тип (о чем думает большинство людей, когда видят / слышат слово «тип») состоит из одного или нескольких других типов. В большинстве языков тип может быть определен либо как псевдоним другого типа, либо как структура данных или класс.

1
ответ дан 4 December 2019 в 07:14
поделиться

Я думаю, что удаление любого HTML-тега из входных данных даст вам что-то довольно безопасное, за исключением случаев, когда кто-то найдет способ ввести некоторые действительно испорченные данные в Markdown, заставив его генерировать некоторые еще более запутанный результат ^^

Тем не менее, мне на ум приходят две вещи:

Первая: strip_tags - это не чудо-функция: у нее есть некоторые недостатки ... Другими словами, это то, что определяет себя как основу иерархии понятий. Это очень абстрактное понятие, «верхняя онтологическая» сущность, которая определяет концепции мира программирования, который вы описываете. В некотором смысле концепция типа - это большой взрыв вашей среды программирования.

Я предлагаю вам эту очень проницательную статью:

http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html

]
0
ответ дан 4 December 2019 в 07:14
поделиться

Типы возникли из того, как данные хранятся в памяти. Целое число, хранящееся в памяти, выглядит как обычное число: x = 6 преобразуется в память как 00000110 . Но как выглядит 6.5? Как насчет буквы x ?

Поскольку мы можем хранить вещи только в виде последовательности единиц или нулей, нам нужно знать, что означают нули и единицы, именно здесь и пригодятся типы. В противном случае я мог бы сохранить число вроде x = 66 и верните букву B

0
ответ дан 4 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: