Fstrings
आप Python 3.6+
उपयोग कर रहे हैं आप नए तथाकथित f-strings
जो स्वरूपित स्ट्रिंग के लिए खड़ा है का उपयोग कर सकते हैं और यह एक की शुरुआत में चरित्र f
जोड़कर किया जा सकता है इसे f-string के रूप में पहचानने के लिए स्ट्रिंग करें।
सभी के लिए स्रोत पांडा:
price = 123
name = "Jerry"
print(f"{name}!!, {price} is much, isn't {price} a lot? {name}!")
>Jerry!!, 123 is much, isn't 123 a lot? Jerry!
च-तार का उपयोग करने का मुख्य लाभ यह है कि वे अधिक पठनीय हैं, तेजी से हो सकता है, और बेहतर प्रदर्शन की पेशकश है पायथन डेटा विश्लेषण, डैनियल वाई चेन
मानक
कोई शक नहीं है कि नई f-strings
अधिक पठनीय हैं, तो आप तार को पुन: मैप की जरूरत नहीं है के रूप में, ख जैसा कि उपर्युक्त उद्धरण में बताया गया है, क्या यह तेज़ है?
price = 123
name = "Jerry"
def new():
x = f"{name}!!, {price} is much, isn't {price} a lot? {name}!"
def old():
x = "{1}!!, {0} is much, isn't {0} a lot? {1}!".format(price, name)
import timeit
print(timeit.timeit('new()', setup='from __main__ import new', number=10**7))
print(timeit.timeit('old()', setup='from __main__ import old', number=10**7))
> 3.8741058271543776 #new
> 5.861819514350163 #old
चल रहा है 10 मिलियन परीक्षण के ऐसा लगता है कि नए f-strings
वास्तव में तेजी से मानचित्रण में हैं।
डुप्लिकेट: http://stackoverflow.com/questions/543399/python-string-formatting – bignose
यह '%' स्ट्रिंग ऑपरेटर "पाइथन 3.1 पर बहिष्कृत किया जाएगा और बाद में कुछ समय बाद हटा दिया जाएगा" http: //docs.python .org/release/3.0.1/whatsnew/3.0.html # pep-3101-a-new-approach-to-string-formatting अब मुझे आश्चर्य है कि संस्करण संगतता और सुरक्षा दोनों के लिए सबसे अधिक सलाह दी गई तरीका क्या है। – cregox
@ कावासा मुझे पता है कि यह बहुत देर हो चुकी है, लेकिन मुझे 'str.format()' का उपयोग करना पसंद है। पूर्व .: 'query =" चुनें {name_arg} से "; query.format (** kwargs) ', जहां' क्वेरी' प्रारूप स्ट्रिंग है और 'kwargs' प्रारूप स्ट्रिंग में 'name_arg' से मेल खाने वाली कुंजियों वाला एक शब्दकोश है। – Edwin