-
-
Notifications
You must be signed in to change notification settings - Fork 130
Expand file tree
/
Copy pathcpython.py
More file actions
83 lines (82 loc) · 5.52 KB
/
cpython.py
File metadata and controls
83 lines (82 loc) · 5.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"""Выполнение заданий по Cpython#4."""
# 1. Что такое CPython и чем он отличается от Python?
# Ответ: Cpython это официальная версия на писанная на С, отличается тем что выполняет байт-код и имеет интерпритатор.
# 3. Сколько существует реализаций Python, и какая из них самая популярная?
# Ответ: существует 6 реализаций, самая популярная Cpython.
# 4. На каком языке написан CPython?
# Ответ: на Python и C.
# 5. (опционально) Кто создал CPython?
# Ответ: Гвидо
# 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?
# Ответ: потому что ядро написано на языке С
# 7. Напишите путь к Интерпретатору CPython на вашем компьютере
# Ответ:"C:\Users\user\AppData\Local\Programs\Python\Python312\python.exe"
# 8. Что содержится в папке include в CPython?
# Ответ: файлы Python
# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб
# Ответ: https://github.com/python/cpython
# 11. Какая команда используется для запуска файла с помощью CPython?
# Ответ: run (print)
# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?
# Ответ: можно. Для итерпретатора нет разницы
# 13. Как указать путь к интерпретатору и файлу для выполнения кода?
# Ответ: напимать путь интерпретатора и через пробел добавить путь к файлу нажать ввод.
# 14. Чем PyPy отличается от CPython?
# Ответ: PyPy отличается тем? что работает в 10 раз быстрее чем Cpython
# 15. Почему PyPy не может использоваться для всех проектов на Python?
# Ответ: он относительно новый и мы не можем использовать его везде, только точечно.
# 16. Где можно скачать PyPy?
# Ответ: на сайте PyPy.org
# 17. Как установить PyPy после скачивания?
# Ответ: запустить файл с расширением .exe
# 18. Как запустить файл с помощью PyPy?
# Ответ: нужно копировать руть интерпретатора и в терминале через пробел указать путь к исполняемому файлу нажать ввод.
# 19. Почему PyPy выполняет код быстрее, чем CPython?
# Ответ:
# CPython:
# Работает как интерпретатор
# Читает исходный код построчно и сразу выполняет его
# Каждый раз при запуске программы заново переводит код в байт-код и выполняет его
# Не запоминает, что делала программа в прошлый раз
# PyPy:
# Использует JIT-компилятор
# Сначала наблюдает за работой программы
# Определяет самые "горячие" участки кода (которые выполняются чаще всего)
# Компилирует эти участки в машинный код прямо во время выполнения
# При повторном выполнении использует уже скомпилированный код
#
# Задание 1: Поиск и установка CPython
# - C:\Users\user>python --version
# Python 3.11.7
#
# Задание 2: Исследование структуры CPython
# - C:\Users\user\AppData\Local\Programs\Python\Python312\python.exe
# - все файлы на C
#
# Задание 3: Запуск файла с помощью CPython
# - C:\Users\user>C:\Users\user\AppData\Local\Programs\Python\Python312\python.exe C:\Users\user\AppData\Local\Programs\Python\Python312\example.txt
# Привет от CPython!
# - C:\Users\user>C:\Users\user\AppData\Local\Programs\Python\Python312\python.exe C:\Users\user\AppData\Local\Programs\Python\Python312\example.py
# Привет от CPython!
#
# Задание 4: Установка и использование PyPy
# - C:\Users\user>C:\pypy3.11-v7.3.21-win64\python3.11.exe C:\Users\user\AppData\Local\Programs\Python\Python312\example_pypy.py
# ╨Я╤А╨╕╨▓╨╡╤В ╨╛╤В ╨┐╨╕╨┐╨╕! - проблема с кодировкой (пытался решить но не получилось)
#
# Задание 5: Сравнение производительности CPython и PyPy
#
# CPython
# 1/C:\Users\user>C:\cpython-3.12.13\PCbuild\amd64\python.exe C:\MyProjectsPy\performance_test.py
# Result: 49999995000000
# Execution time: 0.8902642726898193 seconds
#
# PyPy
# C:\Users\user>C:\pypy3.11-v7.3.21-win64\pypy3.11.exe C:\MyProjectsPy\performance_test.py
# Result: 49999995000000
# Execution time: 0.010732650756835938 seconds
#
# Разница по скорости в 83 раза! (однако...)
#
#
#
#