Eine Einführung in Python für C-Sprachprogrammierer

Einführung

Python ist ein praktisches Tool, mit dem Sie Berechnungen wie einen Taschenrechner einfach ausführen oder kleine Prozesse schnell programmieren und ausführen können. Es gibt auch Python, das in einem echten Taschenrechner funktioniert. (Referenz: CASIO Color Graph Function Calculator fx-CG50) Ein Prozess, der Dutzende von Zeilen benötigt, um in C-Sprache zu schreiben, kann in Python in wenigen Zeilen geschrieben werden. Python ist eine objektorientierte Sprache, aber da es sich im Grunde genommen um eine Funktionsdefinition handelt, ist die Verwendung für C-Sprachprogrammierer einfach. Verwenden wir sowohl C- als auch Python-Schwerter, damit mit Sassa in Python eine einfache Verarbeitung durchgeführt werden kann.

Hintergrund

Beim Hochladen von Daten, die von IoT-Sensoren usw. in die Cloud im M2M-Geschäft gesammelt wurden, bin ich auf Python gestoßen. Es ist erforderlich, die Datenverarbeitung zur Reduzierung des Kommunikationsvolumens und die Upload-Verarbeitung durchzuführen, und ich habe sie in der M2M-Kommunikation verwendet [Digi International]. Der ** Mobilfunkrouter ** des Unternehmens (https://www.digi.com/products/cellular-solutions/cellular-routers) verfügt über einen [** integrierten Python-Interpreter **](https: // www Es war, als ich .digi.com / resources / documentation / digidocs / 90001537 / default.htm kannte und verwendete. Es war ** eingebautes Python **, das nicht klassendefiniert werden konnte. Vor der Arbeit mit M2M habe ich Programme in C- und Java-Sprachen geschrieben, aber nachdem ich Python kennengelernt hatte, habe ich mich in die Benutzerfreundlichkeit verliebt, und jetzt spielt mein Hobby mit Python. Es gab jedoch viele Dinge, die ich anders denken musste als die Programmiersprache C (C / C ++ / Java / JavaScript), daher werde ich einen Einführungsartikel über Python für diejenigen schreiben, die die Programmiersprache C kennen. Ich habe mich dazu entschlossen.

Offizielle Seite, offizielles Dokument

Offizielle Python-Website: https://www.python.org/ Japanische Dokumentation: https://docs.python.org/ja/3/ ・ Sprachspezifikationen: https://docs.python.org/ja/3/reference/index.html ・ Tutorial: https://docs.python.org/ja/3/tutorial/index.html ・ FAQ: https://docs.python.org/ja/3/faq/index.html

Beiseite

Derzeit beschäftige ich mich neben der M2M-Arbeit mit Grundlagenforschung zur Cybersicherheit. Ich war froh, im Aufsatz "** Werde ein Hacker **" Folgendes zu hören, das ich im Bereich Cybersicherheit kennengelernt habe.

Wenn Sie keine Computersprache kennen, empfehlen wir, mit Python zu beginnen. Das Design ist sauber, die Dokumentation ist solide und für Anfänger ist es ziemlich einfach, damit auszukommen. Aber selbst wenn es die beste Einführungssprache ist, ist es kein Spielzeug. Es ist leistungsstark, flexibel und für große Projekte gut geeignet.

Beachten Sie, dass "** Hacker **" nicht schlecht bedeutet.

Es gibt eine Gemeinschaft oder gemeinsame Kultur von erfahrenen Programmierern und Netzwerkgenies. Seine Geschichte lässt sich auf frühe Time-Sharing-Minicomputer und frühe ARPAnet-Experimente zurückführen. Menschen in dieser Kultur haben den Begriff "Hacker Hacker" geprägt. Hacker haben das Internet aufgebaut. Hacker haben das UNIX-Betriebssystem so gemacht, wie es heute ist. Hacker führen das Usenet aus, um das World Wide Web zu aktivieren.

Vorbereitung

Bereiten wir zunächst eine Python-Ausführungsumgebung vor, mit der Sie Python verwenden können. Die Python-Ausführungsumgebung enthält Python-Interpreter und -Bibliotheken, die Python-Skripte ausführen.

Python-Version

Es gibt zwei Hauptversionen von Python, zwei Serien (Python2.x) und drei Serien (Python3.x). Es wurde angekündigt, dass die Unterstützung für Python 2 im Jahr 2020 endet. Die Sprachspezifikationen wurden geändert und Funktionen in die Python3-Serie aufgenommen. Wenn Sie von nun an lernen möchten, verwenden Sie Python3. Die neuere Version von Python 3 bietet einige nützliche Funktionen. Verwenden Sie daher so oft wie möglich die neueste Version.

Arten der Python-Ausführungsumgebung

Es gibt mehrere Implementierungen der Python-Ausführungsumgebung (hauptsächlich den Python-Interpreter). Der Standard ist Python von python.org. Es heißt CPython, da es sich um einen Python-Interpreter handelt, der in C-Sprache geschrieben ist. Andere sind in Java und PyPy implementiertes Jython, das Python-Skripte in CPU-Anweisungen kompiliert und diese dann ausführt. Es gibt auch Umgebungen wie Jupyter Notebook und Anaconda, in denen Sie auf einfache Weise verschiedene Bibliotheken installieren und die Ausführung als Notebook verfolgen können. In dieser Einführung verwenden wir Standard-CPython.

Wenn Sie ein Windows-Betriebssystem verwenden, müssen Sie Python installieren. Bitte laden Sie es von https://www.python.org/downloads/ herunter und installieren Sie es. Viele Leute haben über das Installationsverfahren geschrieben. Lesen Sie daher bitte diesen Artikel.

Wenn Sie Linux oder Mac OS verwenden, wird Python standardmäßig installiert. Es kann jedoch Version 2 sein. Alternativ können Sie sowohl Version 2 als auch Version 3 installiert haben. Führen Sie den Befehl wie folgt aus, um die Version zu überprüfen.

$ python --version
Python 2.7.15rc1
$ python2 --version
Python 2.7.15rc1
$ python3 --version
Python 3.6.5

Virtuelle Python-Umgebung

Wenn Sie Python für geschäftliche Zwecke verwenden, werden Sie wahrscheinlich die Umgebung der Python-Version und der Bibliotheksversion zum Zeitpunkt der Bereitstellung für den Kunden beibehalten. Es ist eine gute Idee, eine virtuelle Python-Umgebung einzuführen, damit Sie problemlos zu der für Sie geeigneten Python-Umgebung wechseln können. Es gibt Implementierungen von virtuellen Python-Umgebungen wie venv, pyenv, pipenv. Installieren und verwenden Sie die virtuelle Umgebung daher entsprechend dem Bereich, der umgeschaltet werden muss. Installationsanweisungen finden Sie in den Artikeln anderer Personen.

Verwenden wir es als Taschenrechner

Beginnen wir mit einem kurzen Blick auf Python.

Starten Sie den Python-Interpreter

Starten Sie zunächst den interaktiven Python-Interpreter. Starten Sie unter Windows die Befehlszeilenversion von Python3.x in Python3.x im Startmenü. (Sie können auch IDLE auswählen, es handelt sich jedoch um eine GUI-Version des Python-Interpreters.) Führen Sie unter Linux oder MacOS den Befehl python3 oder python ohne Argumente aus.

Python3 für Windows(32bit)


Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Python3 für Linux(64bit)


$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

>>> ist eine Eingabeaufforderung zur Eingabe. Wenn Sie eine mehrzeilige Eingabe benötigen, ändert sich die Eingabeaufforderung in "...".

Arithmetische Berechnung

Beginnen wir mit einer einfachen arithmetischen Berechnung.

>>> 1 + 2 * 3
7
>>> (1 + 2) * 3
9
>>> 9 * 2
18
>>> 9 / 2
4.5

Im Gegensatz zur C-Sprache ist das Berechnungsergebnis von / ein schwebender Bruch. Verwenden Sie "//", um den Quotienten einer Ganzzahl sowie die C-Sprache "/" zu ermitteln. Der Quotient einer schwebenden Fraktion ist eine schwebende Fraktion. Es gibt auch ein "%", das nach dem Rest fragt.

>>> 9 // 2
4
>>> 9.0 // 2
4.0
>>> 9 % 2
1
>>> 9.0 % 2
1.0

Sie können Multiplikatorberechnungen durchführen, die in der Sprache C nicht verfügbar sein sollten. Sie können die Route auch berechnen, indem Sie eine inverse Zahl festlegen.

>>> 9 ** 2
81
>>> 81 ** (1/2)
9.0
>>> 81 ** 0.5
9.0
>>> 9 ** 3
729
>>> 729 ** (1/3)
8.999999999999998

Schwebende Brüche kehren aufgrund von Fehlern nicht mehr zu ihren ursprünglichen 9 zurück.

Weisen Sie einer Variablen einen Wert zu

Das Berechnungsergebnis kann in einer Variablen gespeichert werden.

>>> x = 1 + 2 * 3
>>> x
7
>>> y = 3 * x + 5
>>> y
26

Sie müssen den Typ der Variablen nicht angeben. Anstatt es einer Variablen zuzuweisen, ist es besser, sich das Benennen und Halten des Werts vorzustellen. Variablen werden später erklärt.

Funktionsrechner

Definieren wir eine arithmetische Funktion.

>>> def f(x):
...     y = 3 * x + 5
...     return y
...
>>> f(0)
5
>>> f(1)
8
>>> f(2)
11

Die Funktion wird durch die def-Anweisung definiert. Das Schreiben von Funktionsnamen und Argumenten ist dasselbe wie in der C-Sprache, unterscheidet sich jedoch von der C-Sprache darin, dass keine Argumenttypen und Rückgabewerttypen geschrieben werden. Python kennt den Typ des Werts, sodass Sie den Typ des Arguments oder der Variablen nicht angeben müssen. Eine Zahl kann an das Argument x übergeben werden, oder eine Zeichenfolge kann übergeben werden. Diese Funktion wird definiert, indem angenommen wird, dass der Anrufer eine Nummer übergibt.

In der Sprache C ist der Funktionsverarbeitungsblock von {} umgeben, in Python ist der Bereich, in dem der Einzug verringert wird, der Verarbeitungsblock. Wenn die Einrückungen nicht ausgerichtet sind, tritt ein Fehler auf. Es spielt keine Rolle, ob die if-Anweisung oder die for-Anweisung den Einzug weiter senkt. Schreiben Sie zusätzlich zur def-Anweisung einen Block mit demselben Einzug, nachdem Sie die Anweisung mit : beendet haben, z. B. if-Anweisung, for-Anweisung und while-Anweisung.

Wenn du mehr spielen willst

Die offizielle Dokumentation enthält auch ein Tutorial, das Sie als Taschenrechner verwenden können. Es werden auch andere Daten als Ganzzahlen beschrieben. Bitte beziehen Sie sich auch darauf. https://docs.python.org/ja/3/tutorial/introduction.html

Beenden Sie den Python-Interpreter

Sie können den Python-Interpreter beenden, indem Sie unter Windows Strg + Z oder unter Linux / MacOS Strg + D eingeben. Alternativ können Sie die Funktion exit () oder quit () ausführen, um das Programm zu beenden. Das Ausführen von "exit (0);" in der Sprache C entspricht dem Beenden des Befehls.

>>> exit()
$ 

Unterschied zwischen C-Sprache und Python

Compiler und Interpreter

Schreiben Sie für die C-Sprache den Quellcode der C-Sprache, konvertieren Sie ihn mit dem Compiler und Assembler der C-Sprache in die Maschinensprache, erstellen Sie eine ausführbare Datei mit dem Linker, und wenn die ausführbare Datei gestartet wird, führt die CPU die Maschinensprache aus. Das Ausführungsergebnis wird erhalten. Schreiben Sie für Python ein Python-Skript, geben Sie den Namen der Skriptdatei an, starten Sie den Python-Interpreter, und der Python-Interpreter führt das Python-Skript aus. Python scheint ohne Kompilierung ausgeführt zu werden, wird jedoch nach dem Kompilieren des Skripts in die Sprache der virtuellen Maschine (Zwischencode) ausgeführt, wenn der Python-Interpreter gestartet wird. Der Python-Interpreter wird zu einer virtuellen Maschine (VM) und führt die Sprache der virtuellen Maschine aus.

image.png

Datentyp

Modellname C Sprache Python
int 16/32-Bit-Daten mit fester Länge
Höchstgrenze/Es gibt eine Untergrenze
Daten variabler Länge
Höchstgrenze/Keine Untergrenze
long
long long
32/64-Bit-Daten mit fester Länge
Höchstgrenze/Es gibt eine Untergrenze
Vereinigt mit int
short 16-Bit-Daten mit fester Länge Vereinigt mit int
char 8-Bit-Daten mit fester Länge
Schließen Sie Zeichen in einfache Anführungszeichen ein
Ersetzen Sie durch eine einzelne Zeichenfolge
bytes Keiner 8-Bit-Datenarray mit fester Länge
Eine Zeichenfolge muss konvertiert werden
str (Zeichenkette) Array von char
'\0'Ende mit
Mit doppelten Anführungszeichen umgeben
Ein Array von 16-Bit-Unicode-Zeichen
シングルまたはMit doppelten Anführungszeichen umgeben(違いなし)
Das Escapezeichen für Sonderzeichen entspricht der C-Sprache
\x00Geben Sie den hexadezimalen ASCII-Code mit an
\u0000Geben Sie hexadezimalen Unicode mit an
Zeilenzeichenfolge Keiner Zeichenkette mit deaktiviertem Sonderzeichen-Escape
Sie können Anführungszeichen wie den Windows-Dateipfad als einen zurückschreiben
Beispiel: r"C:\User\someone"
bool (wahr / falsch Wert) 0 ist falsch
True außer 0
Falsch ist falsch, wahr ist wahr
(Tatsächlich handelt es sich um eine Unterklasse vom Typ int. False kann als 0 berechnet werden. True Entity kann als 1 berechnet werden.)
enum Aufzählungsdaten Durch Klasse ersetzen
Machen Sie es zu einer Unterklasse der Enum-Klasse
struct Benutzerdefinierter Datentyp Durch Klasse ersetzen
class Keiner Struktur, die auch Funktionen schreiben kann
Array/aufführen Sequenz von Daten des gleichen Typs
int data[] = {1, 2, 3};
Anordnung der Daten
Sie können verschiedene Datentypen anordnen
Arrayの中にArrayも入れられる
data = [1, 'abc', [3.14, True]]
Tupel Keiner Liste, die nicht geändert werden kann
(Der Inhalt der Liste im Taple kann geändert werden.)
data = (1, 'abc', 3.14)
diktieren Keiner Daten, die aus Schlüssel und Wert bestehen
Schlüssel können Zeichenfolgen, Zahlen oder Taples sein
data = {1: 'one', 'pi': 3.14}
einstellen Keiner Eine Sammlung nicht überlappender Daten
Kann festgelegte Operationen ausführen
data = {1, 'abc', 3.14}

Datenwert

In der Sprache C wird der im Quellcode geschriebene ganzzahlige Wert "1" kompiliert und in den Maschinensprachenoperanden eingebettet oder in einer Variablen vom Typ int (Speicherbereich) gespeichert. In Python wird der im Skript geschriebene ganzzahlige Wert "1" vom Interpreter als Int-Typ-Wert interpretiert, der Speicherbereich für den Int-Typ wird zugewiesen (malloc) und das Int-Typ-Objekt mit dem Wert "1" wird erstellt. Wird generiert. Der Wert des Objekts vom Typ int kann nicht umgeschrieben werden. Jedes Mal, wenn während der Programmausführung verschiedene Werte angezeigt werden, wird ein Speicherbereich gesichert und ein Wertobjekt generiert. Nicht mehr verwendete Objekte werden automatisch in den Speicher zurückgegeben. Ich werde.

In CPython werden Objekte durch Strukturen definiert.

Python-Objekt-Header-Struktur


typedef struct _object{
        Py_ssize_t ob_refcnt;            //Referenzanzahl(8 Bytes), Der Speicher wird freigegeben, wenn er 0 erreicht
        struct _typeobject* ob_type;     //Zeiger zum Eingeben von Informationen(8 Bytes)
}PyObject;

Auf Objekte vom Typ Int folgen zusätzlich zum Objektheader die Datengröße (8 Byte) und die Wertdaten (beliebige Byte). Der Datenbereich ist ein Array mit variabler Länge und kann große ganzzahlige Werte verarbeiten. Wenn der Wert "0" ist, beträgt die Summe von 16 Bytes des obigen Headers und des Datengrößenbereichs der Größe 0 24 Bytes. Wenn der Wert "1" ist, erhöht sich die Größe ein wenig, da ein Datenbereich erforderlich ist. In Python können Sie die Adresse und Größe eines Objekts nachschlagen.

>>> type(0)            #Der Typ des Wertes kann mit der Typfunktion überprüft werden
<class'int'>           #Ich weiß, dass das Wertobjekt 0 vom Typ int ist
>>> id(0)              #Die Adresse des Objekts kann mit dem Befehl id ermittelt werden
10910368               #Dezimalanzeige
>>> hex(id(0))         #16 hexadezimale Anzeige mit Hex-Funktion
'0xa67aa0'
>>> import sys         #Verwenden Sie die sys-Bibliothek
>>> sys.getsizeof(0)   # sys.Sie können die Größe eines Objekts mit der Funktion getsizeof überprüfen
24                     #Das Objekt vom Typ Int mit dem Namen 0 verwendet 24 Byte
>>> sys.getsizeof(1)   #Das Objekt vom Typ Int mit dem Namen 1 verwendet 28 Bytes
28

Beachten Sie, dass bei häufig verwendeten int-Werten im Bereich von -5 bis 256 Objekte im Voraus vorbereitet und implementiert werden, damit sie ohne Rückgabe des Speichers wiederverwendet werden können.

Variable

C-Sprachvariablen können mit Containern verglichen werden, und es fühlt sich an, als würde man einen Wert in eine Variable einfügen. Alle Python-Variablen sind Zeigervariablen. Variablen zeigen nur auf Werte. Das Gefühl "den Wert benennen". Python-Variablen werden im Variablenwörterbuch registriert, und der Variablenname ist nur eine Zeichenfolge, die als Wörterbuchschlüssel zum Abrufen des Werts verwendet wird. Variable Wörterbücher werden grob in globale variable Wörterbücher (globals ()) und lokale variable Wörterbücher (local ()) unterteilt. Sie können Variablen auch ändern, indem Sie das globale Variablenwörterbuch direkt bearbeiten.

>>> a = 123
>>> a
123
>>> globals()
{'a': 123, '__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class'_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>}
>>> globals()['a']
123
>>> globals()['a'] = 'abc'
{'a': 'abc', '__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class'_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>}
>>> a
'abc'

image.png

Verschiedene Daten können in eine Liste oder ein Taple eingefügt werden, es handelt sich lediglich um ein Zeigerarray, und das Objekt am Punktziel ist vom Typ int oder vom Typ str.

Formatierte Ausgabe

In der Sprache C verwendet die Funktion printf eine Formatzeichenfolge als Argument und zeigt sie auf der Konsole an. In Python wird eine formatierte Zeichenfolge verwendet, um eine formatierte Zeichenfolge zu erstellen, und die Druckfunktion druckt sie auf der Konsole aus. Es gibt verschiedene Möglichkeiten, es zu formatieren.

>>> print("%08x: %02x %02x %02x" % (0x138, 9, 12, 0xa))
00000138: 09 0c 0a
>>> print("{:08x}: {:02x} {:02x} {:02x}".format(0x138, 9, 12, 0xa))
00000138: 09 0c 0a
>>> addr = 0x138
>>> data = [9, 12, 0xa]
>>> print(f"{addr:08x}: {data[0]:02x} {data[1]:02x} {data[2]:02x}")
00000138: 09 0c 0a
>>> print(f"{addr:08x}:", *[f"{item:02x}" for item in data])
00000138: 09 0c 0a

Lokale Variablen

Wenn Sie in der Sprache C eine Variable in einer Funktion deklarieren, wird eine lokale Variable erstellt, und wenn Sie keine Variable deklarieren, wird eine globale Variable verwendet. In Python werden lokale Variablen erstellt, indem Variablen zugewiesen werden, ohne in einer Funktion global zu deklarieren, und indem sie global deklariert und Variablen zugewiesen werden, werden sie globalen Variablen zugewiesen. Wenn Sie jedoch auf eine Variable verweisen (wenn Sie sie zur Anzeige usw. verwenden) und sich nicht in der lokalen Variablen befindet, wird die globale Variable durchsucht.

456 wird in C-Sprache angezeigt


#include <stdio.h>

int data = 123;

void func1() {
    data = 456;  //Der globalen Variablen zuweisen, wenn die Variable nicht deklariert ist
}

void func2() {
    int data;    //Wenn Sie eine Variable deklarieren
    data = 789;  //Lokaler Variable zuweisen
}

int main(void) {
    func1();
    printf("%d\n", data);
    func2();
    printf("%d\n", data);
}

Ausführungsergebnis


456
456

789 wird in Python angezeigt


data = 123

def func1():
    data = 456    #Zuweisen zu einer lokalen Variablen beim Zuweisen ohne Deklarieren einer Variablen

def func2():
    global data   #Wenn Sie global deklarieren
    data = 789    #Der globalen Variablen zuweisen

func1()
print(data)
func2()
print(data)

Ausführungsergebnis


123
789

Satz

In der Sprache C müssen Ausdrücke unmittelbar nach if, for, while usw. in Klammern stehen. In Python müssen Sie es nicht in Klammern setzen.

C Sprache


if (data == 123) {
    printf("OK\n");
}

Python


if data == 123:
    print("OK")
Satz C Sprache Python
if if-else
If-Anweisung kann kontinuierlich in die Verarbeitung von else geschrieben werden
Wenn wahr{ }Schließen Sie mit ein, um den Einzug zu senken
if-elif-else
elif macht deutlich, dass sie den gleichen Einrückungspegel haben
for Drehen Sie die Indexnummer Drehen Sie Elemente wie Arrays
do-while Zuerst bedingungslos einmal laufen Keiner
switch-case Geteilter Fall Keiner
辞書を使ってGeteilter Fallできる
del Keiner Variablen können gelöscht werden
Bibliotheksimport #include import

Funktion

In der Sprache C ist das Schreiben nur des Funktionsnamens die Adresse der Funktion, und das Hinzufügen von () ist der Funktionsaufruf. In Python ist das Schreiben nur des Funktionsnamens ein Funktionsobjekt, und das Hinzufügen von () ist ein Funktionsaufruf. In Python wird die Funktionsdefinition in ein Funktionsobjekt kompiliert, das die Maschinensprachenanweisungen für die virtuelle Maschine enthält. Sie können Sprachanweisungen für virtuelle Maschinen innerhalb eines Funktionsobjekts rückgängig machen. Der Python-Interpreter wird zu einer virtuellen Maschine und führt Sprachanweisungen für virtuelle Maschinen aus.

>>> def hello(name):
...     print("Hello,", name)
...
>>> hello
<function hello at 0x6fffff21e18>
>>> hello("World!")
Hello, World!
>>> import dis
>>> dis.dis(hello)
  2           0 LOAD_GLOBAL              0 (print)
              2 LOAD_CONST               1 ('Hello,')
              4 LOAD_FAST                0 (name)
              6 CALL_FUNCTION            2
              8 POP_TOP
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE

In Python können Sie auch eine Funktion innerhalb einer Funktion definieren.

>>> def area(x, y):
...     def triangle():
...         return x * y / 2
...     def rectangle():
...         return x * y
...     print("Die Fläche des Dreiecks ist", triangle(), "Die Fläche des Platzes beträgt", rectangle())
...
>>> area(3, 4)
Die Fläche des Dreiecks beträgt 6.0 Die Fläche des Platzes beträgt 12

Benutzerdefinierte Daten

In der Sprache C wird ein Datensatz als Struktur definiert. In Python können Sie Klassen verwenden, um Datenblöcke zu definieren.

C Sprache


#include <stdio.h>

struct PhoneData {
    char *name;
    char *number;
};

struct PhoneData phone_book[] = {
    { "Hanako Yamada", "03-1234-56789" },
    { "Taro Suzuki", "045-9876-54321" },
};

int main() {
    for (int i = 0; i < sizeof(phone_book) / sizeof(phone_book[0]); i++) {
        printf("%s %s\n", phone_book[i].name, phone_book[i].number);
    }
}

Python



class PhoneData:
    def __init__(self, name, number):
        self.name = name
        self.number = number

phone_book = [
    PhoneData("Hanako Yamada", "03-1234-56789"),
    PhoneData("Taro Suzuki", "045-9876-54321"),
]

if __name__ == '__main__':
    for data in phone_book:
        print(data.name, data.number)

Der Inhalt ist nicht organisiert, daher werde ich ihn nach und nach hinzufügen und korrigieren. Als zweiten Schritt möchte ich ausführliche Inhalte für diejenigen schreiben, die ein tiefes Verständnis der C-Sprache haben. Wenn Sie Fragen haben, kommentieren Sie bitte.

Beispielprogramm

Sie können vergleichen, wie ein Funktionsprogramm in C-Sprache und ein objektorientiertes Programm in Python geschrieben werden.

Ich nutze den Python-ähnlichen Schreibstil voll aus.

Recommended Posts

Eine Einführung in Python für C-Sprachprogrammierer
Erste Schritte mit Python für Nicht-Ingenieure
[Einführung in Python] Hochgeschwindigkeits-Einführung in Python für vielbeschäftigte C ++ - Programmierer
Eine Einführung in Python für maschinelles Lernen
Eine Einführung in die Python-Programmierung
Einführung in Python For, While
Einführung in Protobuf-c (C-Sprache ⇔ Python)
[Python Tutorial] Eine einfache Einführung in Python
Eine Einführung in OpenCV für maschinelles Lernen
Einführung in die Python-Sprache
Einführung in OpenCV (Python) - (2)
Was ist ein Algorithmus? Einführung in den Suchalgorithmus] ~ Python ~
Eine Einführung in die objektorientierte Programmierung für Anfänger von Anfängern
Eine Einführung in die statistische Modellierung für die Datenanalyse
[Einführung in die Udemy Python3 + -Anwendung] 43. for else-Anweisung
Einführung in Python "Re" 1 Erstellen einer Ausführungsumgebung
Eine Einführung in die Sprachanalyse für Musik-Apps
Grundlegendes zur Python for Pepper-Entwicklung. -Einführung in Python Box-
Eine Einführung in selbst erstellte Python-Webanwendungen für einen trägen Webingenieur im dritten Jahr
Einführung in Python Django (2) Win
Eine Einführung in das maschinelle Lernen
Einführung in die verteilte Parallelverarbeitung von Python durch Ray
Lesehinweis: Einführung in die Datenanalyse mit Python
Python wurde von C-Programmierern gestartet
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
Einführung in die Bayes'sche Optimierung
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
[Einführung in Python] So schreiben Sie sich wiederholende Anweisungen mit for-Anweisungen
[Einführung in die Udemy Python3 + -Anwendung] 42. für Anweisung, break-Anweisung und continue-Anweisung
Wie erstelle ich ein Python-Paket (geschrieben für Praktikanten)
Einführung in Python, die auch Affen verstehen können (Teil 3)
Einführung in Python für VBA-Benutzer - Aufrufen von Python aus Excel mit xlwings-
[Python] Einführung in die Diagrammerstellung mit Corona-Virendaten [Für Anfänger]
Einführung in Python, die auch Affen verstehen können (Teil 1)
Einführung in Python, die auch Affen verstehen können (Teil 2)
Verwenden Sie eine Skriptsprache für ein komfortables C ++ - Leben - OpenCV-Port Python zu C ++ -
Prolog-Objektorientierung für Python-Programmierer
[Einführung in die Udemy Python3 + -Anwendung] 58. Lambda
[Einführung in die Udemy Python3 + -Anwendung] 31. Kommentar
Einführung in die Python Numerical Calculation Library NumPy
Trainieren! !! Einführung in Python Type (Type Hints)
[Einführung in Python] <numpy ndarray> [edit: 2020/02/22]
[Einführung in die Udemy Python3 + -Anwendung] 57. Decorator
Einführung in Python Hands On Teil 1
[Einführung in Python3 Tag 13] Kapitel 7 Zeichenfolgen (7.1-7.1.1.1)
[Einführung in Python] So analysieren Sie JSON
[Einführung in Python3 Tag 14] Kapitel 7 Zeichenfolgen (7.1.1.1 bis 7.1.1.4)
Python-Spickzettel (für C ++ erfahren)
[Einführung in die Udemy Python3 + -Anwendung] 59. Generator
[Einführung in Python3 Tag 15] Kapitel 7 Zeichenfolgen (7.1.2-7.1.2.2)
[Einführung in Python] Verwenden wir Pandas
So verpacken Sie C in Python
[Einführung in Python] Verwenden wir Pandas
[Einführung in die Udemy Python3 + -Anwendung] Zusammenfassung
[Einführung in Python] Verwenden wir Pandas
Einführung in Python Django (2) Mac Edition
Eine Alternative zu "Pause" in Python
[AWS SAM] Einführung in die Python-Version
[Einführung in Python3 Tag 21] Kapitel 10 System (10.1 bis 10.5)
Lesen von Notizen (in Python und Stan) zur Einführung in die statistische Modellierung für die Datenanalyse (Midorimoto)