Une question de nouveaub / +: ...
En programmation, nous rencontrons assez souvent le mot.
Que devrait-il être destiné à transmettre, et quand ne devrait-il pas être utilisé? p>
13 Réponses :
Il existe de nombreuses façons de répondre à cette question, et chaque manière est applicable à certains modèles, mais pas envers les autres. Ma définition générale préférée est qu'un type est un sous-ensemble de toutes les valeurs du monde (par exemple, les «entiers positifs» comprennent la valeur 1 mais pas la valeur «Overflow de pile»). Les types peuvent évidemment se chevaucher (1 pourraient être un type entier entier ou positif). Cette définition donne un bon sens intuitif des types "plus gros" (plus inclusifs) et "plus petits", ce qui aide à comprendre la covariance et la contrevenance. P>
J'ai toujours appris comme "un type définit comment les données sont stockées dans la mémoire et les actions pouvant être effectuées dessus." P>
Si vous pensez à une classe avec des variables et des méthodes locales, cela a du sens. Les variables d'instance définissent la manière dont la mémoire devra être attribuée pour de nouvelles instances et les méthodes publiques décrivent le contrat d'actions pouvant être effectuées sur des instances de cette classe. P>
C'est probablement le moyen le plus succinct de décrire un type que j'ai vu depuis un moment. +1
Correctement, un type est un ensemble de valeurs et d'opérations. Deuxièmement, il existe une représentation en mémoire et peut-être sur les systèmes de fichiers.
Vous ne pouvez pas définir une valeur pour un type sans spécifier comment il est stocké en mémoire. L'endansion du système entre en jeu avec cela aussi.
@Randolpho: Des choses telles que l'endansion et la mise en page sont censées être résumées. C'est pourquoi vous utilisez la fonctionnalité de votre langue de votre langue en premier lieu, au lieu de simplement manipuler un morceau d'octets à la main.
@RMeAdor: Er ... exactement? Je pense que nous venons de dire la même chose. L'ensemble du point de définir un type est de vous permettre de travailler de manière abstraite en utilisant la sémantique définie autour du type. Lorsque vous définissez un type, vous faites l'une des deux choses: a) Vous définissez la sémantique, le codage, la mise en page de la mémoire et autres trucs de basse niveau entourant le type ou B) Vous définissez le type par rapport à d'autres types. Je pense que vous vous concentrez autour de B, car cela peut être défini par programmeur, mais A est aussi important.
La sémantique n'a rien à voir avec la représentation. Deux couches différentes d'abstraction. Domaine des valeurs et des opérations existent indépendamment de toute représentation spécifique. La représentation n'est pas sans importance. C'est juste séparé.
types de données. par exemple. int, bool, flotteur, char, chaîne (noms seront différents entre différentes langues). P>
Type est court pour le type de données. Ceux-ci peuvent être divisés en 2 catégories de base: indigène et définis par l'utilisateur. Un type de données décrit le type de données peut être détenu dans une variable et les opérations que vous pouvez effectuer sur ces données. P>
Les types de données natives sont déjà définis dans la langue. Souvent, ceux-ci incluent entier, flotteur, booléen, caractère, une corde ou quelque chose de même nommé. Différentes langues auront différents ensembles de types de données natifs. Certaines langues n'ont pas de booléen, par exemple. D'autres langues n'ont pas de type de chaîne natale. P>
Les types de données personnalisés sont ceux que vous définissez. Vous pouvez définir un type de données pour stocker tout type d'informations et d'opérateurs qui agissent sur ces valeurs. Ceux-ci peuvent être considérés comme des cours ou des structures. P>
En termes de types de données, c'est le format dans lequel les données sont stockées en mémoire et transmet les opérations pouvant être effectuées sur et avec les données. P>
Par exemple, un "entier non signé" est un type de données qui ne peut stocker que des nombres réels entiers positifs (c.-à-d. 0, 1, 2, 3 ...), généralement jusqu'à un nombre spécifique en raison du fait que la mémoire attribué à l'entier non signé est limité. p>
@Divo a dit assez bien, mais je vais essayer de résumer: p>
Un type est un ensemble de données (il peut même être constitué composé d'autres types) donnés Signantic em> signification. C'est important - un type est une définition du sens sémantique. Ce type est différent de ce type parce que je le dis em>. La signification sémantique du type définit la manière dont vous pouvez l'utiliser, quelles opérations vous pouvez effectuer contre cela, ce genre de chose. p>
à sa forme la plus basse, un type n'est qu'un codage contre un regroupement de bits. Par exemple, un entier ( Un type complexe (ce qui est ce que la plupart des gens pensent quand ils voient / entendre le mot "type") est composé d'un ou de plusieurs autres types. Dans la plupart des langues, un type peut être défini comme un alias d'un autre type, ou en tant que structure de données ou classe. p> int code> dans de nombreuses langues) est (généralement ces jours-ci) 32 bits de données, codé dans Two-Complimentez le formulaire .
float code> S est de 32 ou 64 bits codés dans le Norme arithmétique de point flottante IEEE .
Char code> S est de 8 ou 16 (plus fréquemment 16) codés en ASCII ou UTF8 / utf16. Une chaîne est une gamme de caractères. Et ainsi de suite. p>
informellement, un type est utilisé pour nommer une catégorie d'objets présentant des caractéristiques similaires, comme avec "chaise" pour un type de meuble. Une chaise est typiquement pour s'asseoir et dispose donc d'un espace horizontal plat. Les chaises ont souvent quatre jambes, mais pas toujours. Une chaise a une certaine couleur ou un ensemble de couleurs. c. p>
Alors, si je vous dis que j'ai une chaise, vous en savez beaucoup de l'objet que je fais référence à. p>
Prendre l'analogie Un pas plus loin, des chaises ont des fonctionnalités (vous pouvez vous asseoir sur une chaise) et des propriétés (nombre de jambes, couleur). En outre, des configurations communes des propriétés de la chaise peuvent également être nommées également, un sous-type (ou une sous-classe), par ex. Un tabouret est une chaise à trois pattes sans retour. P>
Les types sont courts pour décrire des objets informatiques de sorte que toutes les propriétés et actions (méthodes) n'ont pas besoin d'être spécifiées pour chaque objet individuel. En déclarant qu'un certain objet a un certain type, les programmeurs (et l'ordinateur) assument des points communs en fonction du type, ce qui rend le processus de programmation moins cher / meilleur / plus rapide. P>
Pour moi, "Type" implique des valeurs primitives, tandis que "la classe" implique des objets. Votre description ressemble beaucoup à celle-ci. Peut-être que je vais hors de la base ici?
@Imagist: Oui, vous êtes loin de la base. Type signifie les valeurs "primitives" et "objets". Ils sont synonymes.
Les données ne sont rien d'autre qu'une collection de bits. Un type vous dit ce que ces bits représentent comme int, char, booléen. P>
Les cordes de bits ne sont qu'une des nombreuses représentations possibles des données.
Différentes façons de coder les données ne sont limitées que par votre imagination. Certains ordinateurs représentent des données comme des paires d'acides aminés. Le point est que les cordes de bits sont un codage, mais les données ne sont pas le codage.
du point de vue d'un programmeur de départ, vous pouvez penser à un type d'un type comme limitant quelles informations peuvent être stockées dans une variable particulière. Par exemple, (ignorant les environnements étranges), en C: p>
Char code> est une valeur de 8 bits pouvant représenter un chiffre allant de -128 à 127. li>
- Un
abrégé non signé code> est une valeur de 16 bits pouvant représenter un chiffre allant de 0 à 65535 LI>
ul>
On vaut la peine de noter que toutes les langues ne font pas partie de la frappe de la même manière. Une langue qui limite strictement quelles valeurs peuvent être stockées dans des variables en fonction des types sont considérées comme fortement saisies. Un exemple d'une langue qui n'est pas fortement tapé est Perl - si vous définissez, Perl fera de la magie et de traiter cette valeur comme une chaîne ou un numéro basé sur le contexte. P>
Ce n'est pas entièrement précis. Toutes les langues i> Soins de la frappe, mais de spécifier et de coder de manière dynamique des types de manière dynamique au moment de l'exécution, plutôt que statiquement au moment de la compilation.
Je suppose que je me suis dit que mal. Révisé pour être un peu plus clair.
Un type est le nom donné à la "description" d'une classe ou d'un objet (instance d'une classe). p>
in .NET, le type vous indique des informations telles que le nom, les champs, les propriétés, les méthodes, où il se trouve, etc. Il peut également conduire à des informations telles que ce que l'assemblage (DLL) est situé dans et le répertoire . p>
Le type est très important car le compilateur sait ce qui peut et ne peut pas être fait avec un objet à la compilation. Cela facilite le développement de manière significative, veille à ce que les problèmes soient soulevés plus tôt et que le développeur a moins de chances de faire les mauvaises choses avec les mauvais objets. P>
Quelques exemples de types dites intégrés sont "Int, Double, String, Flother, Octet and Short". p>
Un "type" est destiné à transmettre la saveur d'un objet; ses limites et les défauts attendus. p>
Un type int em> signifie que son numéro et dans de nombreuses langues par défaut à zéro. Un type em> string em>, par contraste, est un ensemble de caractères pouvant ressembler à un int em> mais ne doit pas avoir à; La valeur par défaut est une chaîne vide ou une valeur nulle en fonction de la langue. P>
"TYPE" est également utilisé pour désigner un objet ou une classe personnalisé, pas seulement int em>, bool em>, string em>, etc. Y a-t-il un cas où vous ne devriez pas utiliser "TYPE"? P>
Un type est un type, selon la vue Python du monde. En d'autres termes, c'est quelque chose qui se définit comme la base d'une hiérarchie de concepts. C'est un concept très abstrait, une entité "ontologique supérieure" qui définit les concepts du monde de la programmation que vous décrivez. En quelque sorte, le concept de type est la grande baisse de votre environnement de programmation. P>
Je vous suggère que cet article très perspicace: p>
http://www.cafepy.com/article/python_types_and_Objects/python_types_and_ObjectS.html p>
Les types sont venus de la manière dont les données sont stockées en mémoire. Un entier stocké en mémoire ressemble à un numéro régulier: Puisque nous ne pouvons stocker que des choses comme une série de celles ou de zéros, nous devons savoir ce que signifie que les zéros et ceux qui veulent dire, c'est là que les types entrent. Sinon, je pourrais stocker un numéro comme x = 6 code> est traduit en mémoire sous forme
00000110 code>. Mais à quoi ressemble 6,5? Que diriez-vous de la lettre
x code>? p>
x = 66 code> et récupérer la lettre
b code> p>
Voici la meilleure définition que j'ai jamais rencontrée: p>
Une preuve est un programme. La formule qu'elle prouve est un type em> pour le programme. strong> p>
Ici, "Programme" est signifié très généralement et fait référence à toute construction de votre langage de programmation qui peut être raisonnée dans cette langue (que ce soit une valeur irréductible, une expression, une fonction ou une application complète). < / p>
Certaines langages de programmation, appelées langues "statiquement typées", incluent une langue auxiliaire (appelée système de type) pour faire des déclarations sur les programmes. Les déclarations qui, si le programme sont correctes, devraient toujours être vraies. Donc, dans un sens, des types sont également des programmes, interprétés par un autre programme appelé vérificateur de type. Certains systèmes de type nécessitent que le programmeur apporte des énoncés explicites sur les types, où le vérificateur de type garantit que vos programmes correspondent à ces déclarations et vous donneront une erreur si elles ne le font pas. D'autres systèmes tentent d'inférer le type le plus général de vos programmes automatiquement et vous donneront une erreur si aucun type de ce type ne peut être déduit. P>
en.wikipedia.org/wiki/data_type
Je pense que le lien de Divo vous dira tout ce que vous devez savoir pour vous aider à démarrer et que vous devriez être la réponse elle-même.
Je devrais commencer à poser des questions comme celle-ci, chacun a une liste de ce qui n'a pas encore été demandé?
Qu'est-ce qu'une fonction? Quelle est la programmation? Quels sont les glyphes utilisés pour la rédaction de programmes?
@ 01 Si cette liste existait, quelqu'un aurait déjà demandé. : P
Bonne question. Ravi de voir quelqu'un qui se soucie de quels mots signifient avant de les perrocher.