2017-05-03 2 views
-1

Was ist der beste Weg für mich, eine Zeichenkette im Format fuction zu erstellen, wenn ich die zweite Zeichenkette sub_str habe, die von der anderen Zeichenkette main_str abhängt. Ich habe mit string.format (string.format(), xxx). aber es scheint einfach nicht pythonic mirErzeuge Zeichenkette mit einer anderen Zeichenkette in der Formatfunktion?

def func(name, d): 
    main_str = 'Hi customer {}' 
    sub_str = '{}: Today is {}'.format(main_str.format(name), d) 
    print(sub_str) 

func('jo', 'wed') 
func('Ma', '2017') 

Ich möchte so etwas wie:

Hi customer jo: Today is wed 
Hi customer Ma: Today is 2017 
+2

In diesem Fall könnten Sie einfach do '' Hallo Kunde {}: Heute ist {} '. format (name, d) '- das gilt nicht für den allgemeinen Fall, nehme ich an und du bist wahrscheinlich mit einer Lösung wie der, die du geschrieben hast, festgefahren. Mit dem gesagt, ich bin nicht wirklich sicher, dass ich Use Cases vorstellen kann, wo Sie _need_ es tun müssen, die allgemeine Art und Weise ... – mgilson

Antwort

1

Sie tun können, dass alle in nur einem Schritt:

def func(name, d): 
    sub_str = 'Hi customer {}: Today is {}'.format(name, d) 
    print(sub_str) 
+0

Das ist zwei Schritte. Ein Schritt wäre 'print ('Hallo Kunde {}: Heute ist {}'. Format (Name, d))'. '' '' – martineau

+0

Ja, aber ich spreche über String-Building. –

+0

ich kann nicht wirklich '' 'sub_str = 'Hallo Kunde {}: Heute ist {}' format (name, d)' '' weil in meinem Fall main_str ist eigentlich eine Variable aus anderen Klasse – sangbe1192

Verwandte Themen