Quelle est la différence entre <class 'str'> et <type 'str'>
Je suis nouveau sur le python. Je suis confus par la <class 'str'>
.
J'ai eu un str en utilisant:
response = urllib.request.urlopen(req).read().decode()
Le type de réponse est <class 'str'>
, pas <type 'str'>
.
Lorsque j'essaie de les manipuler ce str en 'boucle':
for ID in response:
La 'réponse' est PAS lu par ligne, MAIS de par son caractère.
J'ai l'intention de mettre chaque ligne de réponse dans chaque élément d'une liste. Maintenant, je dois écrire la réponse dans un fichier et choisissez "ouvrir" pour obtenir une chaîne de caractères de <type 'str'>
que je peux utiliser dans 'boucle'.
Êtes-vous à l'aide de Python 2 et Python 3?
Python 3. Il est OK avec la lib.
response = urllib.request.urlopen(req)
?Python 3. Il est OK avec la lib.
OriginalL'auteur dom free | 2017-02-05
Vous devez vous connecter pour publier un commentaire.
Comme mentionné par les intervenants. En python3:
Mais en python2:
De sorte que le comportement que vous voyez est entièrement prévu. Comme pour boucler sur une chaîne, une boucle sur une chaîne de parcourir la chaîne de caractère par caractère. Si vous souhaitez effectuer une itération sur chaque ligne de la chaîne, habituellement, vous pouvez faire quelque chose comme split sur
\n
ou certains regex conçu pour diviser sur la ligne de séparateurs dans l'URL de réponse. Ci-dessous est une simple boucle for-dessus de la liste résultant desplit
OriginalL'auteur 2ps
Il n'y a pas de différence. Python a modifié le texte de la représentation de
type
objets entre python 2 (Les Types sont écrites comme ceci:<type 'int'>
.) et python 3 (Les Types sont écrites comme ceci:<class 'int'>
.). Dans les deux python 2 et 3, le type de l'objet est, euh, type:python 2
python 3
Et c'est la raison pour le changement... la représentation de chaîne est clair que le type est une classe.
Comme pour le reste de votre problème,
response
est une chaîne de caractères et l'énumération qu'il donne les caractères dans la chaîne. Selon le type de réponse que vous pouvez utiliser et HTML, JSON ou autre analyseur à la transformer en des objets python.OriginalL'auteur tdelaney