Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
unde ii pot arunca?

Problema respingere memorie supli...

Posibila virusare

Caramida de sticla la exterior
 Geam cuptor crapat

Un canal de AI de comedie pe YT

Update intr-un tabel

[Controlul] vremii si a vremurilor
 Blocuri din placi prefabricate

Achiziție mașina de fam...

[unde] cozonaci traditionali

Jandarmii in fondul forestier
 Sa dus seceta pedologica?

Toyota IQ

Numar magic cu blocaj numerologic

Recomandare firma/persoana pentru...
 

Python tabs & spaces

- - - - -
  • Please log in to reply
6 replies to this topic

#1
horny_hornet

horny_hornet

    Senior Member

  • Grup: Senior Members
  • Posts: 3,508
  • Înscris: 15.10.2020
Sunt la un curs de Python și am avut o discuție cam ciudată cu profa de Python, care e doctor în IT.

Quote

Colega: Am o întrebare, cum putem schimba într-un fișier taburile cu spații?
Profa: De ce ai vrea sa faci asta?
Colega: Am copiat de pe Slack și îmi dă eroare de indentare.
Eu: Replace all tabs cu spații.
Profa: Doar că n-o să ajute, pentru că e vorba de indentare.
Eu: Ar trebui să ajute la indentare, că dacă combini spații cu taburi e o problemă, dacă are numai spații e ok.
Profa: Ar trebui să folosească tab, nu spații, asta zic și ar trebui să schimbe 4 spații pe un tab. Știu că merge și cu spații dar nu este recomandat.
Eu: Tabul e altceva decât spațiul, când dai tab îți pune câteva spații dar depinde în ce a scris, dar e posibil să fie tab pe bune, adică nu cu spații.
Profa: Păi a zis că a luat de pe slack.
Eu: Da, exact, de acolo a luat cu taburi, nu cu spații. De asta combină taburi cu spații și îi dă eroare. Dă replace all la taburi cu spații, câte or fi, 4 la tab.
Profa: Eu nu îți recomand să faci chestia asta, python e făcut să fie folosit cu taburi, nu cu spații.
Eu: E preferabil cu spații la python numai că tu când dai tab...
Profa: Deci tu dai spațiu spațiu spațiu spațiu?
Eu: Uite, verifică dacă ai spații sau taburi în cod, selectează zona, dar vor fi spații, cred.
Profa: Uite, dau tab, dacă dau backspace îmi șterge un tab.
Eu: Nu contează ce faci, un tab înseamnă 4 spații, asta știe pycharm.
Profa: Ai zis că astea sunt spații, ăsta e un tab ce pune el.
Eu: Nu e adevărat, dai tab dar bagă 4 spații, că așa e setat, dar tabul e altceva.
Profa: Hai să încheiem aici discuția.

Abia când m-am uitat la înregistrare am observat că în pycharm-ul ei scria jos 4 spaces, adică ce bagă când apasă tasta tab. Mie mi se pare o chestie de începători și sunt cam șocat că nu știe. E ceva normal ca profii de python să nu deosebească spațiile de taburi? Adică e sintaxă în python.

#2
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,457
  • Înscris: 10.08.2005
Cate spatii are un tab?
Attached File  tab.png   2.61K   23 downloads

Attached File  tab-uri.png   8.01K   22 downloads

Ca tie IDE-ul iti identeaza cu restul pana la 4 sau 8 spatii este alta poveste.
Profesorul are dreptate.

#3
horny_hornet

horny_hornet

    Senior Member

  • Grup: Senior Members
  • Posts: 3,508
  • Înscris: 15.10.2020

 MarianG, on 19 septembrie 2023 - 20:53, said:

Profesorul are dreptate.
În ce sens are dreptate? Ea credea că folosește tabs și folosea spații.

#4
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,457
  • Înscris: 10.08.2005
Ai fisierul in cod binar sa dovesti asta ?

https://peps.python....#tabs-or-spaces
Spaces are the preferred indentation method.
Tabs should be used solely to remain consistent with code that is already indented with tabs.
Python disallows mixing tabs and spaces for indentation.

Ea cere consecventa.

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,251
  • Înscris: 24.02.2007
Ce se intampla cand apesi tasta TAB in IDE e una.
Ce se intampla cand dai paste la cod existent e alta.

#6
red46

red46

    Senior Member

  • Grup: Senior Members
  • Posts: 4,563
  • Înscris: 06.03.2016
Poate sa-ti apara in IDE ca ai 4 spatii dar o buna parte din text sa fie indentat cu taburi. Din cate stiu, Python mai trece cu vederea unele inconsistente, dar depinde de context.

#7
MooF2010

MooF2010

    Senior Member

  • Grup: Senior Members
  • Posts: 5,339
  • Înscris: 24.05.2010
e de la IDE datorita conversiilor unicode/ANSI/etc
Eu cand mai iau de pe browser ceva sterg toate identatiile si le refac direct in IDE si merge perfect. In vreo 30% din cazurile de copy paste nu merge corect fara refacerea identatiilor.


Acuma nu stiu daca ne referim la acelasi lucru, mi-e ca tot ce a inteles doamna profesoara am inteles si eu. Te referi la identatiile care se strica de la copy paste de pe browser pe ide, nu? Sau de identatiile din fisierele text in timpul citirii lor? Ca in al doilea caz iar intram in alta discutie.

De exemplu eu folosesc tab si cu reflex din alte limbaje. Insa pe sololearn de exemplu am sesizat ca ei folosesc spatii. Tot timpul cand voi copia de pe sololearn pe ide-ul meu va rula dar invers nu mai ruleaza, trebuie sa refac identatiile. ide-ul meu stie sa imi faca automat conversia, insa ide-ul din browser de la sololearn nu mai stie, chiar daca vizual arata similar in backgroud se altereaza prin procesul de copy paste.

Edited by MooF2010, 20 September 2023 - 02:42.


Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate