Grundlegende Python-Anweisungen (Teil 1)

Fügen Sie hier eine Bildbeschreibung ein

Konstanten und Ausdrücke

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

Operationsergebnis

0
7
1.6666666666666665

printEs handelt sich um eine Pythonintegrierte Funktion
, die andere Operatoren zur Durchführung arithmetischer Operationen verwenden kann + - * / ( ) . Zuerst werden Multiplikation und Division berechnet, gefolgt von Addition und Subtraktion.
Zwischen Operatoren und Zahlen darf kein Leerzeichen oder mehrere Leerzeichen stehen. Es ist jedoch allgemein üblich, zu schreiben ein Leerzeichen

Ein Ausdruck in dieser Form 1 + 2 - 3wird in einer Programmiersprache als Ausdruck bezeichnet. Das Ergebnis des Ausdrucks wird als Rückgabewert des Ausdrucks bezeichnet.
Diese 1 , 2 , 3Art wird als Literalkonstante bezeichnet, und + - * / diese Art wird als Operator oder Operator bezeichnet.

Hinweis : C / C++Schüler, die damit vertraut sind, denken vielleicht, dass 2 / 3das Ergebnis so ist 0(der Dezimalteil ist abgeschnitten), aber Pythondas erhaltene Ergebnis ist eine Dezimalzahl, was eher der Intuition des täglichen Gebrauchs entspricht.

Variablen und Typen

1. Was ist eine Variable?

In Python sind Variablen Bezeichner, die zum Speichern von Datenwerten verwendet werden. Diese Bezeichner können eine Kombination aus Buchstaben, Zahlen und Unterstrichen sein, sie müssen jedoch einigen Benennungsregeln folgen. Beispielsweise dürfen Variablennamen nicht mit Zahlen beginnen, keine Leerzeichen enthalten usw. Variablen in Python werden dynamisch typisiert, was bedeutet, dass Sie den Datentyp der Variablen nicht im Voraus deklarieren müssen. Python bestimmt seinen Typ automatisch anhand des der Variablen zugewiesenen Werts.

Hier ist ein einfaches Beispiel für eine Python-Variable:

x = 10  # 创建一个整数类型的变量x并赋值为10
name = "John"  # 创建一个字符串类型的变量name并赋值为"John"
is_student = True  # 创建一个布尔类型的变量is_student并赋值为True
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2 #创建一个浮点数类型的变量total并赋值为四个小数的方差

Variablen in Python weisen im Vergleich zur C-Sprache einige wesentliche Unterschiede auf:

  1. Dynamische Typisierung : In C müssen Sie den Datentyp einer Variablen beim Deklarieren explizit angeben, während in Python der Datentyp einer Variablen automatisch durch den ihr zugewiesenen Wert bestimmt wird. Dadurch wird Python flexibler und prägnanter.
  2. Keine Deklaration erforderlich : In C müssen Sie eine Variable explizit deklarieren, bevor Sie sie verwenden, in Python ist dies jedoch nicht erforderlich. Sie können einer Variablen direkt einen Wert zuweisen und Python erstellt ihn automatisch.
  3. Kein Semikolon erforderlich : In C enden Anweisungen normalerweise mit einem Semikolon, während Python zur Darstellung von Codeblöcken Einrückungen verwendet und kein Semikolon erfordert.
  4. Erweiterte Datentypen : Python verfügt über viele integrierte erweiterte Datentypen wie Listen, Wörterbücher, Mengen und Tupel, die die Verarbeitung komplexer Datenstrukturen in Python komfortabler machen.
  5. Garbage Collection : Python verfügt über automatische Speicherverwaltungs- und Garbage Collection-Mechanismen, sodass die Speicherzuweisung und -freigabe nicht manuell verwaltet werden muss.

Insgesamt ist Python prägnanter und einfacher zu erlernen als die Sprache C, allerdings kann es in manchen Fällen zu Leistungseinbußen kommen. Bei der Auswahl einer Programmiersprache gibt es Kompromisse basierend auf den Projektanforderungen und Leistungsanforderungen.

Hinweis:
x,name,is_student,total Sie sind alle Variablen.
**In Python stellen sie Potenzierungsoperationen dar. ** 2Das heißt, das Finden von Quadraten.

2. Syntax von Variablen

2.1 Variablen definieren

a = 10

Die Anweisung zum Erstellen einer Variablen ist sehr einfach

aist der Variablenname. Wenn wir viele Variablen erstellen, können wir ihre Namen verwenden, um sie zu unterscheiden. Es ist der
=Zuweisungsoperator, was bedeutet, dass =die Daten rechts in =den Raum links eingefügt werden

Hinweis: Die Namen von Variablen müssen bestimmten Regeln folgen

Harte Regeln (müssen befolgt werden)

Variablennamen bestehen aus Zahlen, Buchstaben und Unterstrichen.

Zahlen können nicht beginnen.

Variablennamen dürfen „Schlüsselwörter“ nicht wiederholen.

Bei Variablennamen muss die Groß-/Kleinschreibung beachtet werden. num und Num sind zwei verschiedene Variablennamen.

Weiche Regeln (zu befolgen wird empfohlen)

Verwenden Sie in Variablennamen beschreibende Wörter, um die Funktion der Variablen so gut wie möglich auszudrücken.

Ein Variablenname kann aus mehreren Wörtern bestehen. Es spielt keine Rolle, ob er länger ist, aber die Bedeutung muss klar sein.

totalCountWenn der Variablenname mehrere Wörter enthält, wird empfohlen , die Benennung in „Kamelbuchstaben“ zu verwenden. In dieser Form personInfowerden die ersten Buchstaben der übrigen Wörter mit Ausnahme des ersten Wortes großgeschrieben.

In der Mathematik werden Variablen normalerweise durch einfache englische Buchstaben oder lateinische Buchstaben wie x, y, z dargestellt. Dies wird jedoch beim Programmieren nicht empfohlen. Der Grund dafür ist, dass beim Programmieren normalerweise viele Variablen gleichzeitig in einem Programm erstellt werden Wenn nur ein einzelner Buchstabe zur Darstellung verwendet wird und zu viele Variablen vorhanden sind, ist es schwierig, sich daran zu erinnern, welche Variable was tut, was gewisse Schwierigkeiten bei der Wartung des Programms mit sich bringt. Daher empfehlen wir die Verwendung klar beschreibender Namen zur Darstellung. Der Zweck von Die Variable.

2.2 Verwendung von Variablen

Lesen Sie den Wert einer Variablen

a = 10
print(a)

Ändern Sie den Wert einer Variablen

a = 20
print(a)

In Python wird zum Ändern von Variablen auch die Operation = verwendet, die sich anscheinend nicht wesentlich vom Definieren von Variablen unterscheidet .
Natürlich können Sie den Wert einer Variablen auch einer anderen Variablen zuweisen

a = 10
b = 20
a = b
print(a)
print(b)

3. Art der Variablen

Der Ganzzahltyp (int), der Gleitkommatyp (float), der Zeichenfolgentyp (str) und der logische Wert (bool) von Python weisen einige Unterschiede zu den entsprechenden Typen in der C-Sprache auf :

  1. Ganzzahltyp (int):

    • Integer-Typen in Python sind dynamisch und müssen nicht angegeben werden. Python bestimmt seinen Typ automatisch anhand des der Variablen zugewiesenen Werts.
    • Der Ganzzahltyp von Python kann Ganzzahlen beliebiger Größe ohne feste Bereichsbeschränkung darstellen. Dies wird als „Ganzzahlen mit beliebiger Genauigkeit“ bezeichnet.
    • In C hängt die Größe von Ganzzahltypen vom Compiler und der Plattform ab und hat normalerweise eine feste Anzahl von Bits und einen festen Bereich.

    In Python können Ganzzahltypen sehr große Ganzzahlen darstellen, ohne dass es zu Überlaufproblemen kommen muss. Zum Beispiel:

    x = 1234567890123456789012345678901234567890
    print(x)
    print(type(x))
    

    Diese Zahl kann in C zu Überlauf oder Genauigkeitsproblemen führen, in Python jedoch kein Problem.

    1234567890123456789012345678901234567890
    <class 'int'>
    
  2. Gleitkommatyp (Float):

    • Gleitkommatypen in Python sind ebenfalls dynamisch und erfordern keine explizite Typspezifikation.
    • Python verwendet den Gleitkommastandard mit doppelter Genauigkeit (IEEE 754), der normalerweise eine Dezimalgenauigkeit von 15 bis 17 Stellen unterstützt.
    • In C hängen Größe und Genauigkeit von Gleitkommatypen vom Compiler und der Plattform ab und können Gleitkommazahlen mit einfacher oder doppelter Genauigkeit sein.

    Der Gleitkommatyp von Python hat doppelte Genauigkeit und kann Dezimalwerte darstellen, zum Beispiel:

    y = 3.14159265358979323846
    print(y)
    print(type(y))
    

    Diese Gleitkommazahl ist in Python genau genug, um eine Näherung von π darzustellen. In C hängt die Gleitkommagenauigkeit vom Compiler und der Plattform ab und ist möglicherweise nicht präzise genug.

    3.141592653589793
    <class 'float'>
    
  3. String-Typ (str):

    • Der String-Typ von Python ist ein Unicode-String, was bedeutet, dass er Zeichen aus den meisten Zeichensätzen der Welt darstellen kann, einschließlich ASCII-Zeichen und Nicht-ASCII-Zeichen.
    • Die Zeichenfolgen von Python sind unveränderlich, was bedeutet, dass ihr Inhalt nach der Erstellung nicht mehr geändert werden kann.
    • In C sind Zeichenfolgen normalerweise Zeichenarrays, sind nullterminiert und können geändert werden.

    Der String-Typ von Python kann eine Vielzahl von Zeichen enthalten, einschließlich Unicode-Zeichen. Dies macht es sehr praktisch, wenn Sie mit Textdaten in verschiedenen Zeichensätzen arbeiten, zum Beispiel:

    name = "李雷"
    print(name)
    print(type(name))
    

    Dies ist eine Zeichenfolge mit chinesischen Zeichen, mit der Python problemlos umgehen kann. In C kann die Handhabung von Unicode-Zeichen komplizierter sein und die Verwendung von Breitzeichen- oder Unicode-Konvertierungsfunktionen erfordern.

    李雷
    <class 'str'>
    

Insgesamt weisen die Integer- und Gleitkommatypen in Python eine größere Flexibilität und Präzision auf, während die String-Typen eine bessere Unicode-Unterstützung und Unveränderlichkeit bieten. Diese Unterschiede machen Python für den Umgang mit verschiedenen Datentypen bequemer, es gibt jedoch Kompromisse bei der Leistung, da C im Allgemeinen effizienter mit den zugrunde liegenden Daten umgeht. Abhängig von Ihren spezifischen Anforderungen können Sie verschiedene Sprachen und Datentypen verwenden.

Hinweis : In Python gibt es keinen Unterschied zwischen einer Zeichenfolge, die aus einfachen Anführungszeichen besteht, und einer Zeichenfolge, die aus doppelten Anführungszeichen besteht. 'hello'Sie "hello"sind völlig gleichwertig.

Mit der len-Funktion können Sie die Länge einer Zeichenfolge ermitteln

a = 'hello'
print(len(a))

Ausgabe5

Sie können + verwenden, um zwei Zeichenfolgen zu verketten

a = 'hello
b = 'world'
print(a + b)

Ausgabehelloworld

Hier erfolgt die Addition von zwei Zeichenfolgen. Sie können keine Zeichenfolgen und Ganzzahlen/Gleitkommazahlen hinzufügen.

  1. Logischer Wert (bool) :
    • Der boolesche Typ in Python hat zwei Werte: True und False.
    • Boolesche Typen werden häufig für bedingte Urteile verwendet, beispielsweise in if-Anweisungen.
    • Beim booleschen Typ von Python wird die Groß-/Kleinschreibung beachtet. „True“ und „False“ müssen mit einem Großbuchstaben beginnen. Die Kleinbuchstaben „true“ und „false“ sind keine booleschen Werte.
is_true = True
is_false = False

if is_true:
    print("这是True")

if not is_false:
    print("这是False")
print(type(is_true))
print(type(is_false))

Ausgabe

这是True
这是False
<class 'bool'>
<class 'bool'>
  1. andere

Zusätzlich zu den oben genannten Typen Pythongibt es auch list, tuple, dictbenutzerdefinierte Typen usw. Wir werden sie später separat vorstellen.

4. Warum gibt es so viele Arten?

Der Typ bestimmt, wie viel Platz die Daten im Speicher belegen.
Beispielsweise belegt der Float-Typ 8 Byte im Speicher.

Computer verwenden Binärdaten zur Darstellung von Daten. Das heißt, jedes Bit kann nur 0 oder 1 darstellen.
1 Binärbit wird als „Bit“ und 8 Binärbits als „Byte“ (Byte) bezeichnet.
Eine Float-Variable belegt 8 Bytes Platz im Speicher, das sind 64 Binärbits. Mein Computer verfügt über 16 GB Speicherplatz, was insgesamt 1024 * 1024 * 1024 * 8 so viele Binärbits bedeutet.

Der Typ legt tatsächlich fest, welche Art von Operation an dieser Variablen ausgeführt werden kann.
Beispielsweise int / floatkönnen Variablen vom Typ + - * /Operationen wie ausführen,
während strVariablen vom Typ nur + ausführen können (und das Verhalten ist eine Zeichenfolgenverkettung), was - * /jedoch nicht ausgeführt werden kann Sie können auch lenfür andere Operationen verwendet werden .

Zusammenfassung: Das Typsystem „klassifiziert“ tatsächlich Variablen. Variablen (Daten) desselben Typs weisen häufig ähnliche Merkmale und Verwendungsregeln auf

5. Dynamische Typmerkmale

In Python kann sich der Typ einer Variablen während der Ausführung des Programms ändern. Diese Funktion wird als „dynamische Typisierung“ bezeichnet.

a = 10
print(type(a))
a = 'hello'
print(type(a))

Ausgabe :

<class 'int'>
<class 'str'>

Während der Ausführung des Programms ist der Typ von a zunächst int und wird dann zu str.
Sprachen wie C++/Java erlauben solche Operationen nicht. Der Typ einer Variablen wird nach ihrer Definition festgelegt. Diese Funktion wird als „statische Typisierung“ bezeichnet.
Dynamisches Tippen ist ein zweischneidiges Schwert

Bei kleinen und mittelgroßen Programmen kann die Codemenge erheblich reduziert werden (z. B. kann das Schreiben eines Codeabschnitts mehrere Typen gleichzeitig unterstützen). Bei großen Programmen erhöht es die Kosten
für die Interaktion zwischen Modulen. (Die Der von Programmierer A bereitgestellte Code ist für Programmierer B schwer zu verstehen.

Kommentar

In Python gibt es zwei Haupttypen von Kommentaren: einzeilige Kommentare und mehrzeilige Kommentare. Kommentare werden verwendet, um Erklärungen oder Anmerkungen zum Code hinzuzufügen und werden vom Interpreter nicht ausgeführt.

  1. Einzeilige Kommentare: Ein einzeiliger Kommentar beginnt mit einem Nummernzeichen #und der folgende Inhalt wird bis zum Ende der Zeile als Kommentar behandelt. Einzeilige Kommentare werden häufig verwendet, um eine kurze Erläuterung des Codes hinzuzufügen.

Beispiel:

# 这是一个单行注释
x = 5  # 这是赋值语句,将5赋给变量x
  1. Mehrzeilige Kommentare: In Python gibt es keine Blockkommentare wie in C oder C++, aber Sie können dreifache Anführungszeichen verwenden '''oder """eine mehrzeilige Zeichenfolge erstellen und diese im Code platzieren, um den Effekt eines mehrzeiligen Kommentars zu erzielen. Obwohl dadurch tatsächlich eine Zeichenfolge erstellt wird, wird sie als Kommentar behandelt, wenn Sie sie keiner Variablen zuweisen.

Beispiel:

'''
这是一个
多行注释
它实际上是一个多行字符串,但没有分配给变量
'''
print("Hello, World!")

Oder verwenden Sie doppelte Anführungszeichen:

"""
这也是一个
多行注释
"""
print("Hello, World!")

Bitte beachten Sie, dass mehrzeilige Zeichenfolgen zwar für mehrzeilige Kommentare verwendet werden können, Entwickler jedoch in der Regel lieber einzeilige Kommentare und Funktions-/Klassen-/Methodendokumentationszeichenfolgen (Docstrings) verwenden, um Kommentare und Dokumentation hinzuzufügen.

Beispiel:

def add(x, y):
    """
    这是一个函数的文档字符串
    它用于计算两个数字的和
    """
    return x + y

Solche Dokumentzeichenfolgen können help()mithilfe von Funktionen angezeigt werden, und es gibt Tools, mit denen Dokumentation generiert werden kann. In der tatsächlichen Entwicklung sind Dokumentationszeichenfolgen für die Lesbarkeit und Wartbarkeit des Codes sehr hilfreich.

Anmerkungsspezifikationen

  1. Genauer Inhalt: Der Inhalt von Kommentaren sollte konsistent und mit dem Code übereinstimmen und bei Änderungen am Code rechtzeitig aktualisiert werden.
  2. Angemessene Länge: Notizen sollten weder zu prägnant noch zu lang sein.
  3. Verwenden Sie Chinesisch: Im Allgemeinen verlangen chinesische Unternehmen, dass Notizen auf Chinesisch verfasst werden, während bei ausländischen Unternehmen eine andere Sache herrscht.
  4. Seien Sie positiv: Fügen Sie keine negative Energie in Kommentare ein (z. B. Anführer SB usw.).Es soll in den Nachrichten gestanden und gedreht worden sein, die manuelle Bedienung sei komisch gewesen

Input-Output

1. Interaktion zwischen Programm und Benutzer

Das Programm muss mit dem Benutzer interagieren

Der Vorgang, durch den der Benutzer Informationen an das Programm übermittelt, wird als „Eingabe“ bezeichnet.
Der Vorgang, durch den das Programm dem Benutzer die Ergebnisse anzeigt, wird als „Ausgabe“ bezeichnet.

Die einfachste Eingabe- und Ausgabemethode ist die Konsole. Der Benutzer gibt einige Zeichenfolgen über die Konsole ein und das Programm gibt einige Zeichenfolgen über die Konsole aus.

Wenn PyCharm das Programm ausführt, kann das unten angezeigte Fenster als Konsole betrachtet werden.

Fügen Sie hier eine Bildbeschreibung ein
Das mit Windows gelieferte cmd-Programm kann auch als Konsole betrachtet werden

Fügen Sie hier eine Bildbeschreibung ein

Die gebräuchlichste Ein- und Ausgabemethode ist eine grafische Oberfläche

Natürlich kann Python auch zur Entwicklung von Programmen mit grafischer Oberfläche verwendet werden. Allerdings ist die grafische Programmentwicklung selbst ein großes Thema, das wir später im Detail vorstellen werden.

2. Ausgabe über die Konsole

Geben Sie beispielsweise eine Variable eines anderen Typs aus

a = 10
print(a)
b = True
print(b)

Ausgabe

10
True

In den meisten Fällen handelt es sich bei dem Inhalt, den wir ausgeben möchten, um eine Mischung aus Zeichenfolgen und Variablen.

Beispiel: Ausgabe num = 10

num = 10
print(f'num = {
      
      num}')

f Wird als Präfixzeichenfolge verwendet , die zum Einbetten einer anderen Variablen/eines anderen Ausdrucks f-string
verwendet werden kann{ }

3. Geben Sie über die Konsole ein

Python verwendet die Eingabefunktion, um Benutzereingaben von der Konsole zu lesen

num = 0
num = input('请输入一个整数: ')
print(f'你输入的整数是 {
      
      num}')

Ausgabe nach Eingabe

请输入一个整数: 2
你输入的整数是 2

Der Eingabeparameter entspricht einer „Eingabeaufforderung“ oder ist möglicherweise nicht vorhanden.
Der Rückgabewert der Eingabe ist der vom Benutzer eingegebene Inhalt. Es handelt sich um einen Zeichenfolgentyp

a = input('请输入第一个整数: ')
b = input('请输入第二个整数: ')
print(f'a + b = {
      
      a + b}')

Ausgabe nach Eingabe

请输入第一个整数: 20
请输入第二个整数: 23
a + b = 2023

Das Ergebnis ist hier eine Zeichenfolgenverkettung und keine arithmetische Operation. Wenn Sie arithmetische Operationen ausführen möchten, müssen Sie zuerst den Typ konvertieren

a = input('请输入第一个整数: ')
b = input('请输入第二个整数: ')
a = int(a)
b = int(b)
print(f'a + b = {
      
      a + b}')

Ausgabe nach Eingabe

请输入第一个整数: 20
请输入第二个整数: 23
a + b = 43

Durch int( )Konvertieren der Variablen in inteinen Typ.
Ebenso float( ), bool( ), str( )kann die entsprechende Typkonvertierung mit etc. abgeschlossen werden.

Codebeispiel: Geben Sie 4 Dezimalstellen ein und ermitteln Sie den Durchschnitt der 4 Dezimalstellen

a = input('请输入第一个数字: ')
b = input('请输入第二个数字: ')
c = input('请输入第三个数字: ')
d = input('请输入第四个数字: ')
a = float(a)
b = float(b)
c = float(c)
d = float(d)
avg = (a + b + c + d) / 4
print(f'平均值: {
      
      avg}')

Ausgabe nach Eingabe

请输入第一个数字: 21.2
请输入第二个数字: 20.3
请输入第三个数字: 21.4
请输入第四个数字: 21.5
平均值: 21.1

Codebeispiel: Berechnen Sie die Fläche eines Dreiecks mithilfe der Heron-Formel

import math
a=float(input("输入直角三角形第一条边"))
b=float(input("输入直角三角形第二条边"))
c=float(input("输入直角三角形第三条边"))
#计算海伦公式中p的值,即半周长
p=(a+b+c)/2
s=math.sqrt(p*(p-a)*(p-b)*(p-c))
print(s)

Ausgabe nach Eingabe

输入直角三角形第一条边3
输入直角三角形第二条边4
输入直角三角形第三条边5
6.0

Operator

1. Arithmetische Operatoren

+ - * / % ** //Operatoren, die arithmetische Operationen wie diese ausführen, werden arithmetische Operatoren genannt

  1. Wie bei anderen Sprachen /kann 0 nicht als Teiler verwendet werden, da sonst eine Ausnahme ausgelöst wird.
print(10 / 0)

Ausgabe

Traceback (most recent call last):
  File "C:\Users\xzq20\PycharmProjects\pythonProject1\hello.py", line 1, in <module>
    print(10 / 0)
          ~~~^~~
ZeroDivisionError: division by zero

Eine Ausnahme ist ein häufiger Mechanismus in Programmiersprachen. Sie bedeutet, dass während der Ausführung des Programms einige „unerwartete Umstände“ aufgetreten sind, die dazu führen, dass das Programm die Ausführung nicht fortsetzen kann.

  1. 整数 / 整数Das Ergebnis kann eine Dezimalzahl sein. Ohne Kürzung
print(1 / 2)

Ausgabe

0.5
  1. %Nicht „Prozent“, sondern der Rest
print(7 % 2)

Ausgabe

1
  1. **Es dient zum Finden von Potenzen. Es kann nicht nur ganzzahlige Potenzen, sondern auch dezimale Potenzen berechnen.
print(4 ** 2)
print(4 ** 0.5)

Ausgabe

16
2.0
  1. //Es handelt sich um eine runde Division (auch Bodendivision genannt). Wenn eine ganze Zahl durch eine ganze Zahl geteilt wird, ist das Ergebnis immer noch eine ganze Zahl (der Dezimalteil wird verworfen und abgerundet. Es wird nicht gerundet).
print(7 // 2)
print(-7 // 2)

Ausgabe

3
-4

2. Vergleichsoperatoren

Operatoren wie < <= > >= == != diese Reihe werden als relationale Operatoren bezeichnet und vergleichen die Beziehung zwischen Operanden .

In

<=ist „kleiner oder gleich“

>=ist „größer oder gleich“

==ist gleich"

!=ist ungleich zu"

Wenn die Beziehung wahr ist, gibt der Ausdruck zurück True. Wenn die Beziehung nicht wahr ist, gibt der Ausdruck zurückFalse

a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

Ausgabe

True
True
False
False
False
True

Vergleichsoperatoren vergleichen nicht nur Ganzzahlen/Gleitkommazahlen, sondern auch Zeichenfolgen.

a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

Ausgabe

True
True
False
False
False
True

==Sie können oder direkt verwenden, !=um zu bestimmen, ob die String-Inhalte gleich sind. (Dies C / C++unterscheidet sich von ).
Die Regel für den String-Vergleich ist „lexikografische Reihenfolge“ (entspricht der Kartenanwendung in C++).

Verwenden Sie bei Gleitkommazahlen nicht ==, um die Gleichheit zu bestimmen.

print(0.1 + 0.2 == 0.3)

Ausgabe

False

Die Darstellung von Gleitkommazahlen in Computern ist nicht präzise! Bei der Berechnung können sehr kleine Fehler auftreten.

print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)

Ausgabe

0.1
0.2
0.3
0.30000000000000004

Es ist ersichtlich, dass 0.1 + 0.2das Ergebnis nicht ist 0.3, aber mit einem kleinen Schwanz. Obwohl dieser Schwanz sehr klein ist, ==zählt jeder Cent, aber er wird immer noch zum ==Ergebnis führenFalse

Dies gilt nicht nur für Python, sondern auch für gängige Programmiersprachen. Dies ist IEEE754ein Problem, das durch das im Standard angegebene Gleitkommaformat entsteht. Dies wurde in meinem vorherigen C-Sprachblog erwähnt

Korrekte Vergleichsmethode : Nicht mehr strikt gleich vergleichen, sondern feststellen, dass die Differenz kleiner als der zulässige Fehlerbereich ist

a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001)

In der tatsächlichen Ingenieurpraxis sind Fehler unvermeidlich, solange die Fehler in einem angemessenen Bereich liegen

3. Logische Operatoren

Operatoren wie and or notdiese Reihe werden logische Operatoren genannt.

und Und : Beide Operanden sind wahr und das Endergebnis ist wahr. Andernfalls ist es falsch. (Wenn einer falsch ist, ist er falsch)
oder Oder : Beide Operanden sind falsch und das Endergebnis ist falsch. Andernfalls ist es falsch True. (Wenn einer wahr ist, ist er False. True)
nicht logische Negation : Wenn der Operand selbst True ist, wird False zurückgegeben. Wenn der Operand selbst False ist, wird True zurückgegeben

a = 10
b = 20
c = 30
print(a < b and b < c)
print(a < b and b > c)
print(a > b or b > c)
print(a < b or b > c)
print(not a < b)
print(not a > b)

Ausgabe

True
False
False
True
False
True

eine besondere Art zu schreiben

a < b and b < cDieser Vorgang entspricht a < b < c. Diese Einstellung unterscheidet sich von den meisten Programmiersprachen.

Kurzschlussauswertung

Ähnlich wie andere Programmiersprachen gibt es auch in Python Regeln zur Kurzschlussauswertung .

Für und, wenn der Ausdruck auf der linken Seite Falsch ist, muss das Ganze falsch sein, und der Ausdruck auf der rechten Seite wird nicht mehr ausgeführt. Für oder,
wenn der Ausdruck auf der linken Seite wahr ist, muss das Ganze wahr sein, und das Der rechte Ausdruck wird nicht mehr ausgeführt.

print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)

Ausgabe

False
True

4. Zuweisungsoperator

  1. =Benutzung von

=Zeigt eine Zuweisung an. Wir haben dies schon oft verwendet. Achten Sie auf die ==Unterscheidung.
=Zusätzlich zur grundlegenden Verwendung können Sie auch mehreren Variablen gleichzeitig Werte zuweisen.

Kettenzuordnung

a = b = 10

Mehrfachbelegung

a, b = 10, 20

Codebeispiel: Zwei Variablen vertauschen

Grundlegende Schreibmethode (ähnlich der C-Schreibmethode)

a = 10
b = 20
tmp = a
a = b
b = tmp

Basierend auf Mehrfachbelegung

a = 10
b = 20
a, b = b, a
  1. zusammengesetzter Zuweisungsoperator

Python verfügt auch über einige zusammengesetzte Zuweisungsoperatoren. Beispielsweise ist += -= *= /= %=
where a += 1äquivalent zu a = a + 1. Das Gleiche gilt für andere zusammengesetzte Zuweisungsoperatoren.

a = 10
a = a + 1
print(a)
b = 10
b += 1
print(b)

Hinweis :

Wie C / C++in gibt es ++ --einen solchen Inkrementierungs-/Dekrementierungsoperator. PythonIn unterstützt diesen Vorgang nicht. Wenn Sie ihn verwenden müssen, verwenden Sie ihn direkt += 1oder -= 1
++ --Das größte Problem besteht darin, dass der Unterschied zwischen Präfix und Postfix leicht nicht unterschieden werden kann. Diese Syntax Pythonist in Dies wurde während des Entwurfs vermieden, um eine solch unintuitive und verwirrende Syntax zu vermeiden.

Zusätzlich zu den oben genannten gibt es in Python einige Operatoren, wie z. B. Identitätsoperator ( is, is not), Mitgliedsoperator ( in, not in), Bitoperator ( & | ~ ^ << >>) usw.

Bedingte Anweisungen

Verwenden Sie das Schlüsselwort if else, um bedingte Anweisungen in Python auszudrücken

if

if expression:
	do_something1
	do_something2
next_something

Wenn der Ausdruckswert True ist, werden do_something1, do_something2 und next_something ausgeführt.
Wenn der Ausdruckswert False ist, wird nur next_something ausgeführt und do_something1, do_something2 werden nicht ausgeführt.

if - else

if expression:
	do_something1
else:
	do_something2

Wenn der Ausdruckswert True ist, wird do_something1 ausgeführt.
Wenn der Ausdruckswert False ist, wird do_something2 ausgeführt.

if - elif - else

if expression1:
	do_something1
elif expression2:
	do_something2
else:
	do_something3

Wenn der Wert von expression1 True ist, wird do_something1 ausgeführt

Wenn expression1 False und expression2 True ist, wird do_something2 ausgeführt.

Wenn expression1 False und expression2 False ist, wird do_something3 ausgeführt.

Hinweis: Die Art und Weise, bedingte Anweisungen in Python zu schreiben, unterscheidet sich von vielen anderen Programmiersprachen.

Der bedingte Ausdruck nach if, ohne (), verwendet: als Ende. Der
„Anweisungsblock“, der ausgeführt werden soll, nachdem if / else die Bedingung erfüllt, wird durch Einrückung (normalerweise 4 Leerzeichen oder 1 Tabulator) anstelle von { }
For dargestellt Mehrere bedingte Verzweigungen, anstatt else if zu schreiben, schreiben Sie elif.

Einrückung und Codeblöcke

Ein Codeblock bezieht sich auf eine Gruppe von Codes, die zusammen ausgeführt werden.
In Python wird Einrückung zur Darstellung von Codeblöcken verwendet. Unterschiedliche Einrückungsebenen haben unterschiedliche Auswirkungen auf die Ausführung des Programms.

Code 1

a = input("请输入一个整数: ")
if a == "1":
	print("hello")
	print("world")

Code 2

a = input("请输入一个整数: ")
if a == "1":
	print("hello")
print("world")

der Unterschied

In Code 1 hat print("world") eine Einrückungsebene. Diese Anweisung gehört zum Codeblock innerhalb des if, was bedeutet, dass sie nur ausgeführt wird, wenn die Bedingung wahr ist. Wenn die Bedingung nicht wahr ist, wird sie ausgeführt nicht ausgeführt werden. In Code 2
ist print("world ") nicht eingerückt. Diese Anweisung ist Code außerhalb des if und gehört nicht zum Codeblock innerhalb des if. Dies bedeutet, dass die Bedingung unabhängig davon ausgeführt wird, ob sie ausgeführt wird wahr oder nicht. Darüber hinaus können Codeblöcke auch innerhalb des Codeblocks verschachtelt werden.

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
	if b == "2":
		print("hello")
	print("world")
print("python")

In diesem Code

print("hello") hat zwei Einrückungsebenen und gehört zu dem Codeblock, in dem die Bedingung if b == "2" wahr ist. print(
"world") hat eine Einrückungsebene und gehört zu dem Codeblock, in dem die Bedingung gilt von wenn a == „1“ wahr ist.
print(„python“) hat keinen Einzug. Diese Anweisung wird unabhängig davon ausgeführt, ob die beiden oben genannten Bedingungen wahr sind.

Der Vorteil der auf Einrückung basierenden Darstellung von Codeblöcken besteht darin, dass Programmierer gezwungen sind, klare Einrückungen zu schreiben, um die relative Beziehung zwischen Codes zu verdeutlichen. Wenn die Einrückung nicht korrekt geschrieben ist, wird direkt ein Fehler gemeldet. Wie bei C++/Java-Sprache, auch wenn nein Wenn die Einrückung überhaupt geschrieben wird, meldet die Syntax keinen Fehler. Die Lesbarkeit des Codes ist relativ schlecht. Gleichzeitig besteht der Nachteil darin, dass bei vielen Einrückungsebenen leicht nicht unterschieden werden kann, auf welcher Ebene eine bestimmte Aussage vorliegt gehört.

if a == 1:
	if b == 2:
		if c == 3:
			if d == 4:
				if e == 5:
					if f == 6:
						if g == 7:
							print("hello")
						print("1")
					print("2")

Daher gibt es das Sprichwort „Für das Schreiben von Python ist ein eigener Messschieber erforderlich.“

Leerer Anweisungsdurchlauf

Beispiel: Geben Sie eine Zahl ein. Wenn die Zahl 1 ist, geben Sie „Hallo“ aus

a = int(input("请输入一个整数:"))
if a == 1:
	print("hello")

Es kann auch äquivalent geschrieben werden als

a = int(input("请输入一个整数:"))
if a != 1:
	pass
else:
	print("hello")

Pass stellt eine leere Anweisung dar, die keinen Einfluss auf die Ausführung des Programms hat. Sie nimmt lediglich Platz ein, um das Python-Syntaxformat in Übereinstimmung mit den Anforderungen zu halten.

kann aber nicht geschrieben werden als

a = int(input("请输入一个整数:"))
if a != 1:

else:
	print("hello")

Wenn es nicht der Python-Syntax entspricht, wird direkt ein Fehler gemeldet.

Schleifenanweisung

1. while-Schleife

Grundlegendes Syntaxformat

while 条件:
	循环体

Wenn die Bedingung wahr ist, wird der Schleifenkörpercode ausgeführt.
Wenn die Bedingung falsch ist, endet die Schleife.

Beispiel: Finden Sie 1! + 2! + 3! + 4! + 5!

num = 1
sum = 0
while num <= 5:
	factorResult = 1
	i = 1
	while i <= num:
		factorResult *= i
		i += 1
	sum += factorResult
	num += 1
print(sum)

Dieses Programm verwendet Doppelschleifen, d. h. Schleifen können auch in Schleifenanweisungen enthalten sein.

2. for-Schleife

Grundlegendes Syntaxformat

for 循环变量 in 可迭代对象:
	循环体

Beachten:

Pythons for unterscheidet sich von anderen Sprachen. Es gibt keine „Initialisierungsanweisung“, „Anweisung zur Bestimmung der Schleifenbedingung“, „Anweisung zur Aktualisierung der Schleifenvariable“, sondern ein einfacheres sogenanntes „iterierbares Objekt“, das sich auf „intern mehrere Elemente enthalten“ bezieht
. Eine spezielle Variable, die Elemente einzeln herausnehmen kann.

Beispiel 1: Drucken Sie 1-10

for i in range(1, 11):
	print(i)

Mit der Range-Funktion kann ein iterierbares Objekt generiert werden. Der generierte Bereich ist [1, 11), also [1, 10]

Beispiel 2: Drucken Sie 2, 4, 6, 8, 10

for i in range(2, 12, 2):
	print(i)

Über den dritten Parameter des Bereichs können Sie die „Schrittgröße“ während der Iteration angeben. Das heißt, wie oft soll die Schleifenvariable gleichzeitig hinzugefügt werden?

Beispiel 3: Drucken Sie 10-1

for i in range(10, 0, -1):
	print(i)

Die Schrittweite des Bereichs kann auch auf eine negative Zahl eingestellt werden

Beispiel 3: Ermitteln Sie die Summe von 1 - 100

sum = 0
for i in range(1, 101):
	sum += i
print(sum)

Die Verwendung von Continnue und Break ähnelt der in der C-Sprache und wird hier nicht erläutert.

Ich denke du magst

Origin blog.csdn.net/kingxzq/article/details/133022362
Empfohlen
Rangfolge