printing plot - Drucken Sie mehrere Argumente in Python





title matplotlib (10)


In Py 3.6 f-string ist viel sauberer

In früherer Version:

print("Total score for %s is %s  " % (name, score))

In Py 3.6:

print(f'Total score for {name} is {score}')

Wird besorgt.

Effizienter und eleganter.

Dies ist nur ein Ausschnitt meines Codes:

print("Total score for %s is %s  ", name, score)

aber ich möchte, dass es ausgedruckt wird: "Gesamtpunktzahl für (Name) ist (Punktzahl)", wobei Name eine Variable in einer Liste und Ergebnis eine ganze Zahl ist. Dies ist Python 3.3 wenn das überhaupt hilft.




Folge einfach diesem

idiot_type= "biggest idiot"
year= 22
print("I have been {} for {} years ".format(idiot_type,years))

ODER

idiot_type= "Biggest idiot"
year= 22
print("I have been %s for %s years "% (idiot_type,year))

Und vergessen Sie alle anderen, sonst wird das Gehirn nicht in der Lage sein, alle Formate abzubilden.




Es gibt viele Möglichkeiten, dies zu tun. Um Ihren aktuellen Code mit % -Formatierung zu fixieren, müssen Sie ein Iterable wie ein Tupel übergeben:

  1. Übergeben Sie es als Tupel:

    print("Total score for %s is %s" % (name, score))
    

Hier sind einige andere gängige Methoden, dies zu tun:

  1. Übergeben Sie es als ein Wörterbuch:

    print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})
    

Es gibt auch eine neu formatierte String-Formatierung, die etwas leichter zu lesen ist:

  1. Verwenden Sie die String-Formatierung im neuen Stil:

    print("Total score for {} is {}".format(name, score))
    
  2. Verwenden Sie die neu formatierte Zeichenfolge, die mit Zahlen formatiert wird (nützlich für das wiederholte Anordnen oder Drucken derselben):

    print("Total score for {0} is {1}".format(name, score))
    
  3. Verwenden Sie die neue Formatierung der Zeichenfolge mit expliziten Namen:

    print("Total score for {n} is {s}".format(n=name, s=score))
    

Die klarsten zwei, meiner Meinung nach:

  1. Übergeben Sie die Werte als Parameter und print wird es tun:

    print("Total score for", name, "is", score)
    

    Wenn Sie nicht möchten, dass im obigen Beispiel Leerzeichen automatisch eingefügt werden, ändern Sie den Parameter sep :

    print("Total score for ", name, " is ", score, sep='')
    

    Wenn Sie Python 2 verwenden, können Sie die letzten beiden nicht verwenden, da print in Python 2 keine Funktion ist. Sie können dieses Verhalten jedoch aus __future__ :

    from __future__ import print_function
    
  2. Verwenden Sie die neue f String-Formatierung in Python 3.6:

    print(f'Total score for {name} is {score}')
    



Es gibt viele Möglichkeiten, das zu drucken.

Schauen wir uns ein anderes Beispiel an.

a = 10
b = 20
c = a + b

#Normal string concatenation
print("sum of", a , "and" , b , "is" , c) 

#convert variable into str
print("sum of " + str(a) + " and " + str(b) + " is " + str(c)) 

# if you want to print in tuple way
print("Sum of %s and %s is %s: " %(a,b,c))  

#New style string formatting
print("sum of {0} and {1} is {2}".format(a,b,c)) 

#in case you want to use repr()
print("sum of " + repr(a) + " and " + repr(b) + " is " + repr(c))



Wenn score eine Zahl ist, dann

print("Total score for %s is %d" % (name, score))

Wenn Score eine Zeichenfolge ist, dann

print("Total score for %s is %s" % (name, score))

Wenn score eine Zahl ist, dann ist es %d , wenn es eine Zeichenfolge ist, dann ist es %s , wenn score ein float ist, dann ist es %f




Verwenden Sie .format :

    print("Total score for {0} is {1}".format(name, score))

Oder:

    print("Total score for {n} is {s}".format(n=name, s=score))

Oder:

    print("Total score for + name + " is " + score)



Probiere es einfach:

print ( "Total score for", name,"is", score )



Das ist was ich mache:

print("Total score for " + name + " is " + score)

Denken Sie daran, einen Platz nach, für und vor und nach ist. Glückliche Kodierung.




Um es einfach zu halten, mag ich persönlich String-Verkettung:

print("Total score for " + name + " is " + score)

Es funktioniert mit Python 2.7 und 3.X.

HINWEIS: Wenn score ein int ist , dann sollten Sie es in str konvertieren:

print("Total score for " + name + " is " + str(score))



du kannst das :-

[condition] and [expression_1] or [expression_2] ;

Beispiel:-

print(number%2 and "odd" or "even")

Dies würde "ungerade" drucken, wenn die Anzahl gerade oder ungerade ist, wenn die Anzahl gerade ist.

Das Ergebnis: - Wenn Bedingung wahr ist, wird exp_1 ausgeführt, andernfalls wird exp_2 ausgeführt.

Hinweis: - 0, Keine, False, Leere Liste, LeereString wird als False ausgewertet. Alle Daten außer 0 werden als True ausgewertet.

So funktioniert das:

Wenn die Bedingung [Bedingung] "True" wird, wird Ausdruck_1 ausgewertet, nicht Ausdruck_2. Wenn wir "und" etwas mit 0 (Null) haben, wird das Ergebnis immer schnell sein. So in der folgenden Anweisung:

0 and exp

Der Ausdruck exp wird überhaupt nicht ausgewertet, da "und" mit 0 immer zu Null ausgewertet wird und der Ausdruck nicht ausgewertet werden muss. So funktioniert der Compiler in allen Sprachen.

Im

1 or exp

Der Ausdruck exp wird überhaupt nicht ausgewertet, da "oder" mit 1 immer 1 sein wird. Daher wird es nicht stören, den Ausdruck exp zu bewerten, da das Ergebnis ohnehin 1 ist. (Methoden zur Compiler-Optimierung).

Aber im Falle von

True and exp1 or exp2

Der zweite Ausdruck exp2 wird nicht ausgewertet, da True and exp1 True wäre, wenn Exp1 nicht False ist.

Ähnlich in

False and exp1 or exp2

Der Ausdruck exp1 wird nicht ausgewertet, da False gleichbedeutend mit dem Schreiben von 0 ist und "und" mit 0 wäre 0, aber nach exp1, da "oder" verwendet wird, wird der Ausdruck exp2 nach "oder" ausgewertet.

Hinweis: - Diese Art der Verzweigung mit "oder" und "und" kann nur verwendet werden, wenn der Ausdruck_1 keinen Wahrheitswert von False (oder 0 oder None oder Emptylist [] oder Emptystring ''.) Hat, da Ausdruck_1 zu wird False, dann wird der Ausdruck_2 aufgrund des Vorhandenseins "oder" zwischen exp_1 und exp_2 ausgewertet.

Falls Sie dennoch für alle Fälle funktionieren möchten, unabhängig von den Wahrheitswerten von exp_1 und exp_2, führen Sie folgende Schritte aus: -

[condition] and ([expression_1] or 1) or [expression_2] ;





python printing python-3.x arguments