Կարող եք ձեր կոդը փորձարկել այստեղ
Նախորդ թեմաներում դիտարկվել է, թե ինչպես կարող եք որոշ արժեքներ տեղադրել տողի մեջ՝ նախադրելով տողը 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!
Մեկնաբանություն գրելու համար խնդրում ենք մուտք լինել