π§ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ C Π½Π° Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
#include <stdio.h>
int main() {
printf("ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!");
return 0;
}
Π’ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π½Π° Python ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
print("ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!")
2. ΠΠ·ΡΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ C ΠΈ Python, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠΈΠΏΠ°Ρ
Π΄Π°Π½Π½ΡΡ
, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ
ΠΈ ΡΡΡΡΠΊΡΡΡΠ°Ρ
ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
3. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΠΈΡ
Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² Python. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ `printf()` Π² C ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ `print()` Π² Python.
4. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅Ρ Π»ΠΈ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ C Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² Python. ΠΡΠ»ΠΈ Π΅ΡΡΡ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ² Python ΠΈΠ»ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
5. ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ C Π½Π° Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ C Π½Π° Python?
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C ΠΊ Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΈΠΆΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ°Π³Π°Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Ρ C Π½Π° Python.
1. ΠΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Ρ C Π½Π° Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π Python Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΊΠΎΠ΄Ρ Π½Π° C.
import math
import os
2. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
Python ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· C Π² Python. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΡ ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ :
# Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
c_int = 10
python_int = int(c_int)
# ΠΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
c_float = 3.14
python_float = float(c_float)
# Π‘ΡΡΠΎΠΊΠΈ
c_string = "Hello"
python_string = str(c_string)
3. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΈ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΈ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈΠ· C Π² Python Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ:
# Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
# C
if (x > y) {
// some code
}
# Python
if x > y:
# some code
# Π¦ΠΈΠΊΠ»Ρ
# C
for (int i = 0; i < 10; i++) {
// some code
}
# Python
for i in range(10):
# some code
4. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠΈΡΡ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· C Π½Π° Python. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
# Π€ΡΠ½ΠΊΡΠΈΠΈ
# C
int add(int a, int b) {
return a + b;
}
# Python
def add(a, b):
return a + b
# Π‘ΠΏΠΈΡΠΊΠΈ
# C
int c_array[5] = {1, 2, 3, 4, 5};
# Python
python_list = [1, 2, 3, 4, 5]
# Π‘Π»ΠΎΠ²Π°ΡΠΈ
# C
struct c_struct {
int id;
char name[20];
};
# Python
python_dict = {"id": 1, "name": "John"}
5. ΠΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ pdb
, ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ unittest
.
# ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
import pdb
def divide(a, b):
result = 0
pdb.set_trace() # Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°
try:
result = a / b
except ZeroDivisionError:
print("ΠΡΠΈΠ±ΠΊΠ°: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ")
return result
divide(10, 0)
# ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
import unittest
def add(a, b):
return a + b
class MyTest(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
if __name__ == '__main__':
unittest.main()
6. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ. Π Python Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (docstrings
) ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π΄Π»Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
"""
ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ
ΡΠΈΡΠ΅Π».
:param a: ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
:param b: Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
:return: ΡΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π»
"""
def add(a, b):
return a + b
# ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
# ΠΡΠΎ ΡΠΈΠΊΠ» for
for i in range(10):
# ΠΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if
if i % 2 == 0:
print(i)
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΡΠ·ΡΠΊΠ° C Π½Π° Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡΠΈΠΌ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ. ΠΡΡΡΠΈΠ² ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π²Π°ΠΌ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°!