Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Topul normalitatii

Sa incurajam sporturile de contac...

Cum s-au apucat rapperii sa faca ...

Casa construita la o distanta mai...
 Pareri despre eceasuri.ro: cumpar...

Mama Miresii (2024)

Estimare reparatie

Sterilizare UV apa
 Folii heliomate faruri - merita?

Cabina Dus mai mare cu 10cm decat...

Rezultate firma

Facultatea de Medicina - a doua f...
 Fortat sa imi dau demisia

Nivelare placa + Fisuri

Premierul Slovaciei a fost impuscat

RIP imgflip meme generator
 

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,608
  • Î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,498
  • Î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,608
  • Î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,498
  • Î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,259
  • Î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,600
  • Î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,347
  • Î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

Bun venit pe Forumul Softpedia!

1 user(s) are reading this topic

0 members, 1 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