Miért használ egyszer '-ilyet, egyszer meg "-ilyen idézőjelet?
Beírom Pythonba, hogy:
'Anya vagy.' - kiadja: 'Anya vagy.'
"Anya vagy." - kiadja: 'Anya vagy.'
De ha azt írom, hogy:
'He\'s like you.' - kiadja: "He's like you."
"He\'s like you." - kiadja: "He's like you."
Miért használ az egyiknél csak '-ilyet, a másiknál csak "-ilyet? talán érzékeli, hogy az egyik mondat magyar? De az nem lehet, hiszen a program angol nyelvű.
"Nem az angolt érzékeli teee, hanem, hogy aposztróf van a stringen belül, ezért cseréli ki a string kezdetét-végét jelölő aposztrófot macskakörömre."
1. Mi az a string? Oké, hogy angolul a "húr" szó, de nyilván itt inkább "kifejezés" vagy "szövegrész"-nek kéne mondani. Te mit mondanál, mi az a "string"?
2. Ha az aposztróf a stringen belül van, attól még nem kéne kicserélni a mondat kezdetét és végét jelző aposztrófot. Miért teszi? A láthatóság kedvéért? Vagy mi az oka?
Mert látom, hogyha beírom, hogy:
"He\"s like you." - kiadja: 'He"s like you.'
Tehát mindig az a célja a programnak, hogy a mondat közbeni aposztróf, és a mondat két vége közti aposztróf ne egyezzen meg. Ha a mondat közben " szerepel, akkor a mondat végére '-t fog rakni. És ha a mondat közben ' szerepel, akkor a mondat végére "-t fog rakni. De miért? Miért lenne baj, hogyha a mondat közepén és a mondat végén is ugyanaz a jelölés lenne?
String: karakterfüzért jelent, ne fordítsd le, szakkifejezés.
Aposztrófok: mindig a ' jelet használja a string végein, kivéve akkor, ha található a stringen belül ' jel. Beleértve ezt is: "'" meg ezt is: '\''. Viszont még ez is csak akkor igaz, ha ezen kívül nincsen még " jel is a stringen belül.
"Te mit mondanál, mi az a "string"?"
Karakterlánc, karakterfüzér.
"A set of things tied or threaded together on a thin cord.
...
[Computing] A linear sequence of characters, words, or other data."
Forrás: Oxford Dictionary ( [link] )
"De miért? Miért lenne baj, hogyha a mondat közepén és a mondat végén is ugyanaz a jelölés lenne?"
Azért, mert így a parancsértelmezőnek a három (vagy több) ugyanolyan aposztróf/idézőjel karakterből - ami Pythonban egyaránt használható a karakterlánc kezdetének és végének jelölésére - könnyebb megállapítania, melyik jelöli a karakterlánc kezdetét/végét és melyik a karakterlánc tartalma.
"Both types of literals can be enclosed in matching single quotes (') or double quotes ("). They can also be enclosed in matching groups of three single or double quotes (these are generally referred to as triple-quoted strings). The backslash (\) character is used to escape characters that otherwise have a special meaning, such as newline, backslash itself, or the quote character."
Forrás: Python 3.7.2 documentation - String and Bytes literals ( [link] )
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!