قالب بندی رشته “سبک جدید” در پایتون
3 روش جدیدی را برای قالب بندی رشته ها معرفی کرد که همینطور بود بعداً به پایتون 2.7 منتقل شد. این قالب بندی رشته “سبک جدید”. قالب بندی رشته ها منظم تر است. قالب بندی اکنون با فراخوانی تابع format() روی یک شی رشته انجام می شود.12 می توانید از تابع format() برای قالب بندی موقعیتی ساده استفاده کنید. درست مثل قالب بندی “سبک قدیمی”:>>> ‘Hello, {}’.format(name) از دستور خاص %-operator خلاص می شود و نحو را برای ‘Hello, Bob’یا می توانید با نام به جایگزین های متغیر خود مراجعه کرده و از آنها استفاده کنید به هر ترتیبی که بخواهید این یک ویژگی کاملا قدرتمند است که اجازه می دهد به تابع قالب منتقل شد: >>> ‘Hey {name}, there is a 0x{errno:x} error!’.format( … name=name, errno=errno) برای تنظیم مجدد ترتیب نمایش بدون تغییر آرگومان ها ‘Hey Bob, there is a 0xbadc0ffee error!’این همچنین نشان می دهد که نحو برای قالب بندی متغیر int به عنوان یک رشته هگزادسی mal تغییر کرده است. اکنون باید با افزودن یک فرمت مشخصات را پاس کنیم به طور کلی، نحو رشته قالب بدون آن قدرتمندتر شده است یک پسوند “:x” بعد از نام متغیر. موارد استفاده ساده تر را پیچیده می کند. خواندن در این رشته سودمند است در پایتون 3، این قالب بندی رشته “سبک جدید” بر %-سبک ترجیح داده می شود قالب بندی با این حال، شروع با پایتون 3.6 حتی بهتر است قالب بندی مینی زبان در اسناد پایتون. 13 روشی برای قالب بندی رشته های خود در مقالات بعدی همه چیز را به شما خواهم گفت.درون یابی رشته تحت اللفظی (Python 3.6+)پایتون 3.6 روش دیگری را برای قالب بندی رشته ها به نام Formatted اضافه می کند لفظ رشته. این روش جدید برای قالببندی رشتهها به شما امکان میدهد از عبارات پایتون بستر شده در داخل ثابتهای رشته استفاده کنید. در اینجا یک ساده است مثالی برای دادن احساسی نسبت به ویژگی:’Hello, Bob!’این نحو قالب بندی جدید قدرتمند است. از آنجایی که می توانید عبارات دوتاری پایتون را جاسازی کنید، حتی می توانید حساب درون خطی را با آن انجام دهید. مثل این: >>> a = 5 >>> f’Hello, {name}!’ >>> b = 10 ‘Five plus ten is 15 and not 30.’در پشت صحنه، رشتههای فرمتشده یک ویژگی تجزیهکننده پایتون هستند که رشتههای f را به مجموعهای از ثابتهای رشتهای و فشارهای خروجی تبدیل میکند. سپس آنها برای ساختن رشته نهایی به هم می پیوندند.تصور کنید که تابع greet() زیر را داریم که حاوی رشته f است:>>> def greet(name, question): >>> f’Five plus ten is {a + b} and not {2 * (a + b)}.’ … … return f”Hello, {name}! How’s it {question}?” >>> greet(‘Bob’, ‘going’) “Hello, Bob! How’s it going?”وقتی تابع را جدا می کنیم و آنچه را که پشت صحنه می گذرد بررسی می کنیم، می بینیم که رشته f در تابع به چیزی شبیه به زیر تبدیل می شود:… return (“Hello, ” + name + “! How’s it ” + >>> def greet(name, question): question + “?”)
قوانین ارسال دیدگاه در سایت