Heim >Backend-Entwicklung >Python-Tutorial >17 Tipps für Python-Anfänger

17 Tipps für Python-Anfänger

大家讲道理
大家讲道理Original
2016-11-07 10:03:521080Durchsuche

Variablen austauschen

x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6

If-Anweisung in Zeile

print "Hello" if True else "World"
>>> Hello

Verbindung

Der letzte Weg unten ist das Binden von zwei Objekten unterschiedlichen Typs. Sieht cool aus.

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
print nfc + afc
>>> ['Packers', '49ers', 'Ravens', 'Patriots']
print str(1) + " world"
>>> 1 world
print `1` + " world"
>>> 1 world
print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1

Rechenfähigkeiten

#向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32

Achten Sie auf die Division von Gleitkommazahlen

print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0

Numerischer Vergleich

x = 2
if 3 > x > 1:
   print x
>>> 2
if 1 < x > 0:
   print x
>>> 2

Zwei Listen werden gleichzeitig iteriert

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
     print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots

Indizierte Listeniteration

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
    print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots

Listenableitung

Bei einer gegebenen Liste die Methode zum Ausbürsten der geraden Liste:

numbers = [1,2,3,4,5,6]
even = []
for number in numbers:
    if number%2 == 0:
        even.append(number)

Ersetzen Sie Folgendes durch

numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]

Wörterbuchableitung

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print {key: value for value, key in enumerate(teams)}
>>> {&#39;49ers&#39;: 1, &#39;Ravens&#39;: 2, &#39;Patriots&#39;: 3, &#39;Packers&#39;: 0}

Initialisieren Sie den Wert der Liste

items = [0]*3
print items
>>> [0,0,0]

Konvertieren Sie die Liste zu einer Zeichenfolge

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> &#39;Packers, 49ers, Ravens, Patriots&#39;

Elemente aus dem Wörterbuch abrufen

Verwenden Sie nicht die folgende Methode, um

data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
try:
   is_admin = data[&#39;admin&#39;]
except KeyError:
   is_admin = False

durch

data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
is_admin = data.get(&#39;admin&#39;, False)

Get zu ersetzen eine Unterliste

x = [1,2,3,4,5,6]
#前3个
print x[:3]
>>> [1,2,3]
#中间4个
print x[1:5]
>>> [2,3,4,5]
#最后3个
print x[-3:]
>>> [4,5,6]
#奇数项
print x[::2]
>>> [1,3,5]
#偶数项
print x[1::2]
>>> [2,4,6]

60 Zeichen zum Lösen von FizzBuzz

Vor einiger Zeit hat Jeff Atwood eine einfache Programmierübung namens FizzBuzz beworben. Die Frage wird wie folgt zitiert:


Schreiben Sie ein Programm, druckt die Zahlen 1 bis 100 und ersetzt die Zahl durch „Fizz“ für Vielfache von 3, „Buzz“ für Vielfache von 5 und „FizzBuzz“ für Zahlen, die beide Vielfache von sind 3 und 5.

Hier ist eine kurze Möglichkeit, dieses Problem zu lösen:

for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x

Sammlung

Verwenden Sie die Zählerbibliothek

from collections import Counter
print Counter("hello")
>>> Counter({&#39;l&#39;: 2, &#39;h&#39;: 1, &#39;e&#39;: 1, &#39;o&#39;: 1})

Iterationstool

Wie die Sammlungsbibliothek gibt es auch eine Bibliothek namens itertools

from itertools import combinations
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):
    print game
>>> (&#39;Packers&#39;, &#39;49ers&#39;)
>>> (&#39;Packers&#39;, &#39;Ravens&#39;)
>>> (&#39;Packers&#39;, &#39;Patriots&#39;)
>>> (&#39;49ers&#39;, &#39;Ravens&#39;)
>>> (&#39;49ers&#39;, &#39;Patriots&#39;)
>>> (&#39;Ravens&#39;, &#39;Patriots&#39;)
False == True

In Python sind True und False globale Variablen, also:

False = True
if False:
   print "Hello"
else:
   print "World"
>>> Hello



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn