Loading...
Python

Կարող եք ձեր կոդը փորձարկել այստեղ

Python

Գլուխ 7. String

Ֆորմատավորում

Նախորդ թեմաներում դիտարկվել է, թե ինչպես կարող եք որոշ արժեքներ տեղադրել տողի մեջ՝ նախադրելով տողը f-ով :
first_name="Tom" text = f"Hello, {first_name}." print(text) # Hello, Tom. name="Bob" age=23 info = f"Name: {name}\t Age: {age}" print(info) # Name: Bob Age: 23
Բայց Python-ում կա նաև այլընտրանքային ճանապարհ, որն ապահովում է format() մեթոդը: Այս մեթոդը թույլ է տալիս ֆորմատավորել տողը՝ տեղապահների փոխարեն դրա մեջ որոշակի արժեքներ մտցնելով:

String-ի մեջ տեղադրելու համար օգտագործվում են հատուկ պարամետրեր, որոնք շրջապատված են գանգուր փակագծերով ({}):
Անվանված պարամետրեր
Մենք կարող ենք պարամետրեր սահմանել ձևաչափված տողի մեջ և format()փոխանցել արժեքներ այս պարամետրերի համար հետևյալ մեթոդով.
text = "Hello, {first_name}.".format(first_name="Tom") print(text) # Hello, Tom. info = "Name: {name}\t Age: {age}".format(name="Bob", age=23) print(info) # Name: Bob Age: 23
Ավելին, ֆորմատի մեթոդում արգումենտները սահմանվում են նույն անունով, ինչ տողում գտնվող պարամետրերը։ Այսպիսով, եթե պարամետրը կոչվում է first_name, ինչպես առաջին դեպքում, ապա այն արգումենտը, որին վերագրված է արժեքը, նույնպես կոչվում է first_name:
Պարամետրերը ըստ դիրքի
Մենք կարող ենք նաև հաջորդաբար փոխանցել արգումենտների մի շարք ֆորմատի մեթոդին և այդ արգումենտները տեղադրել հենց ձևաչափված տողի մեջ՝ նշելով դրանց թիվը գանգուր փակագծերում (համարակալումը սկսվում է զրոյից).
info = "Name: {0}\t Age: {1}".format("Bob", 23) print(info) # Name: Bob Age: 23
Այս դեպքում արգումենտները կարող են բազմիցս զետեղվել տողի մեջ.
text = "Hello, {0} {0} {0}.".format("Tom")
Փոխարինումներ
Ձևաչափված արժեքները տողին փոխանցելու մեկ այլ եղանակ է փոխարինումներ կամ հատուկ տեղապահներ օգտագործելը, որոնց տեղում տեղադրվում են որոշակի արժեքներ: Ձևաչափման համար մենք կարող ենք օգտագործել հետևյալ տեղապահները.

s : տողեր տեղադրելու համար

d : ամբողջ թվեր տեղադրելու համար

f : կոտորակային թվեր տեղադրելու համար: Այս տեսակի համար կարող եք նաև կետի միջոցով որոշել կոտորակային մասի թվանշանների քանակը։

% : Բազմապատկում է արժեքը 100-ով և ավելացնում տոկոսային նշան

e : Տպում է թիվը գիտական նշումով

Տեղապահի ընդհանուր շարահյուսությունը հետևյալն է.

{:плейсхолдер}
Կախված տեղապահից, կարող եք ավելացնել լրացուցիչ պարամետրեր: Օրինակ, float համարները ֆորմատավորելու համար կարող եք օգտագործել հետևյալ տարբերակները
{:[количество_символов][запятая][.число_знаков_в_дробной_части] плейсхолдер}
Ձևաչափի մեթոդը կանչելիս արժեքները փոխանցվում են դրան որպես փաստարկներ, որոնք տեղադրվում են տեղապահների փոխարեն.
welcome = "Hello {:s}" name = "Tom" formatted_welcome = welcome.format(name) print(formatted_welcome) # Hello Tom
Մեթոդը արդյունքում format()վերադարձնում է նոր ձևաչափված տող:
Ամբողջ թվերի ձևաչափում.
source = "{:d}" number = 5 target = source.format(number) print(target)
Եթե ձևաչափվող թիվը 999-ից մեծ է, ապա տեղապահի սահմանման մեջ մենք կարող ենք նշել, որ ցանկանում ենք օգտագործել ստորակետը որպես տեղապահի բաժանիչ.
source = "{:,d}" print(source.format(5000))
Ավելին, տեղապահները կարող են օգտագործվել նաև f-գծերում.
n = 5000 source = f"{n:,d}" print(source)
Կոտորակային թվերի համար, այսինքն՝ նրանց, որոնք ներկայացնում են float տիպը, կետից հետո տեղապահի կոդը, կարող եք նշել, թե կոտորակային մասում քանի նիշ ենք ուզում դուրս բերել.
number = 23.8589578 print("{:.2f}".format(number)) # 23.86 print("{:.3f}".format(number)) # 23.859 print("{:.4f}".format(number)) # 23.8590 print("{:,.2f}".format(10001.23554)) # 10,001.24
Մեկ այլ պարամետր թույլ է տալիս սահմանել ձևաչափված արժեքի նվազագույն լայնությունը նիշերով.
print("{:10.2f}".format(23.8589578)) # 23.86 print("{:8d}".format(25)) # 25
Նմանատիպ օրինակ f-strings-ով.
n1 = 23.8589578 print(f"{n1:10.2f}") # 23.86 n2 = 25 print(f"{n2:8d}") # 25
Տոկոսները ցուցադրելու համար ավելի լավ է օգտագործել «%» ծածկագիրը.
umber = .12345 print("{:%}".format(number)) # 12.345000% print("{:.0%}".format(number)) # 12% print("{:.1%}".format(number)) # 12.3% print(f"{number:%}") # 12.345000% print(f"{number:.0%}") # 12% print(f"{number:.1%}") # 12.3%
Թիվը էքսպոնենցիալ նշումով ցուցադրելու համար օգտագործեք «e» տեղապահը.
number = 12345.6789 print("{:e}".format(number)) # 1.234568e+04 print("{:.0e}".format(number)) # 1e+04 print("{:.1e}".format(number)) # 1.2e+04 print(f"{number:e}") # 1.234568e+04 print(f"{number:.0e}") # 1e+04 print(f"{number:.1e}") # 1.2e+04
Ձևաչափում առանց ձևաչափի մեթոդի
Կա նաև ձևաչափման մեկ այլ եղանակ՝ օգտագործելով հետևյալ շարահյուսությունը.
string%(param1, param2,..paramN)
Այսինքն, սկզբում կա մի տող, որը պարունակում է նույն տեղապահները, որոնք քննարկվել են վերևում (բացառությամբ տեղապահի %), տողից հետո կա տոկոս նշան %, և այնուհետև արժեքների ցանկ, որոնք տեղադրվում են գծի մեջ: Փաստորեն, տոկոսային նշանը ներկայացնում է գործողություն, որը հանգեցնում է նոր տողի.
info = "Имя: %s \t Возраст: %d" % ("Tom", 35)Hello World ! print(info)
Տոկոսային նշանը նշվում է տեղապահի կողքին և, ի տարբերություն ձևաչափի ֆունկցիայի, գանգուր փակագծերն այստեղ չեն պահանջվում:
Ավելին, այստեղ օգտագործվում են նաև թվերի ձևաչափման մեթոդներ.
number = 23.8589578 print("%0.2f - %e" % (number, number)) # 23.86 - 2.385896e+01
Լարի երկարության սահմանում
Հատուկ նիշերի օգնությամբ դուք կարող եք սահմանել տողի երկարությունը ֆորմատավորելիս.

<N : Հավասարեցնում է տողը դեպի ձախ և այն լրացնում է բացատներով աջ կողմում մինչև N երկարությունը

>N : Հավասարեցնում է տողը դեպի աջ և այն լրացնում է ձախ կողմում մինչև N երկարությունը բացատներով:

^N . կենտրոնացնում է տողը և այն լրացնում է ձախ և աջ կողմերի միջև բացատներով մինչև N երկարությունը

.N . Նշում է տողի ճշգրիտ երկարությունը: Եթե այն պարունակում է ավելի քան N նիշ, այն կտրված է:

Օրինակ:
str = "Hello World" print(f"{str:>16}!") print(f"{str:<16}!") print(f"{str:^16}!") print(f"{str:.16}!") print(f"{str:.5}!")
Արդյունք:
    Hello World!
Hello World!
  Hello World!
Hello World!
Hello World!

Մեկնաբանություն գրելու համար խնդրում ենք մուտք լինել