{"id":11982,"date":"2024-02-05T08:31:24","date_gmt":"2024-02-05T05:31:24","guid":{"rendered":"https:\/\/www.8digi.com\/a-comprehensive-guide-to-mobile-app-development-with-python\/"},"modified":"2024-06-25T09:04:09","modified_gmt":"2024-06-25T06:04:09","slug":"a-comprehensive-guide-to-mobile-app-development-with-python","status":"publish","type":"post","link":"https:\/\/www.8digi.com\/ar\/a-comprehensive-guide-to-mobile-app-development-with-python\/","title":{"rendered":"\u062f\u0644\u064a\u0644 \u0634\u0627\u0645\u0644 \u0644\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646 Python"},"content":{"rendered":"\n<p>\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u062f\u0644\u064a\u0644\u0646\u0627 \u0627\u0644\u0634\u0627\u0645\u0644 \u0644\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646 Python! \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u0642\u0627\u0644\u060c \u0633\u0646\u063a\u0637\u064a \u0643\u0644 \u0634\u064a\u0621 \u0645\u0646 \u0623\u0633\u0627\u0633\u064a\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0628\u0628\u0627\u064a\u062b\u0648\u0646 \u0625\u0644\u0649 \u0623\u0637\u0631 \u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629. \u0633\u0648\u0627\u0621 \u0643\u0646\u062a \u0645\u0628\u062a\u062f\u0626\u064b\u0627 \u0623\u0648 \u0645\u0637\u0648\u0631\u064b\u0627 \u0630\u0627 \u062e\u0628\u0631\u0629\u060c \u0641\u0625\u0646 \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0633\u064a\u0648\u0641\u0631 \u0644\u0643 \u0631\u0624\u0649 \u0642\u064a\u0645\u0629 \u0648\u0623\u0645\u062b\u0644\u0629 \u0639\u0645\u0644\u064a\u0629 \u0644\u0645\u0633\u0627\u0639\u062f\u062a\u0643 \u0641\u064a \u0625\u0646\u0634\u0627\u0621 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643.<\/p>\n\n\n\n<p><strong>\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u062d\u062a\u0648\u064a\u0627\u062a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"#\u0645\u0642\u062f\u0645\u0629-\u0641\u064a-\u0628\u0627\u064a\u062b\u0648\u0646\">\u0645\u0642\u062f\u0645\u0629 \u0641\u064a \u0628\u0627\u064a\u062b\u0648\u0646<\/a><\/li>\n\n\n\n<li><a href=\"#\u0625\u0639\u062f\u0627\u062f-\u0628\u0627\u064a\u062b\u0648\u0646\">\u0625\u0639\u062f\u0627\u062f \u0628\u0627\u064a\u062b\u0648\u0646<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0628\u0646\u064a\u0629-\u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629-\u0648\u0623\u0646\u0648\u0627\u0639-\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\">\u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0648\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0647\u064a\u0627\u0643\u0644-\u0627\u0644\u062a\u062d\u0643\u0645\u064a\u0629\">\u0627\u0644\u0647\u064a\u0627\u0643\u0644 \u0627\u0644\u062a\u062d\u0643\u0645\u064a\u0629<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u062f\u0648\u0627\u0644\">\u0627\u0644\u062f\u0648\u0627\u0644<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0647\u064a\u0627\u0643\u0644-\u0627\u0644\u0628\u064a\u0627\u0646\u064a\u0629-\u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629\">\u0627\u0644\u0647\u064a\u0627\u0643\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u064a\u0629 \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u062a\u0639\u0627\u0645\u0644-\u0645\u0639-\u0627\u0644\u0623\u062e\u0637\u0627\u0621\">\u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0623\u062e\u0637\u0627\u0621<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0648\u062d\u062f\u0627\u062a-\u0648\u0627\u0644\u062d\u0632\u0645\">\u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0648\u0627\u0644\u062d\u0632\u0645<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a\">\u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a (Decorators)<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0645\u0648\u0644\u0651\u062f\u0627\u062a\">\u0627\u0644\u0645\u0648\u0644\u0651\u062f\u0627\u062a (Generators)<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0645\u0643\u062a\u0628\u0627\u062a-\u0648\u0627\u0644\u0623\u0637\u0631-\u0627\u0644\u0645\u0641\u064a\u062f\u0629\">\u0627\u0644\u0645\u0643\u062a\u0628\u0627\u062a \u0648\u0627\u0644\u0623\u0637\u0631 \u0627\u0644\u0645\u0641\u064a\u062f\u0629<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u062a\u0632\u0627\u0645\u0646-\u0648\u0627\u0644\u062a\u0648\u0627\u0632\u064a\">\u0627\u0644\u062a\u0632\u0627\u0645\u0646 \u0648\u0627\u0644\u062a\u0648\u0627\u0632\u064a<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645-\u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629-\u0641\u064a-\u0628\u0627\u064a\u062b\u0648\u0646\">\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629 \u0641\u064a \u0628\u0627\u064a\u062b\u0648\u0646<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\">\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631<\/a><\/li>\n\n\n\n<li><a href=\"#\u062a\u0637\u0648\u064a\u0631-\u0627\u0644\u0648\u064a\u0628-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-Flask-\u0648Django\">\u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0648\u064a\u0628 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask \u0648Django<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u062a\u062d\u0644\u064a\u0644-\u0627\u0644\u0628\u064a\u0627\u0646\u064a-\u0627\u0644\u0645\u062a\u0642\u062f\u0645-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-Pandas\">\u0627\u0644\u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u064a \u0627\u0644\u0645\u062a\u0642\u062f\u0645 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Pandas<\/a><\/li>\n\n\n\n<li><a href=\"#\u062a\u0635\u0648\u064a\u0631-\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-Matplotlib-\u0648Seaborn\">\u062a\u0635\u0648\u064a\u0631 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib \u0648Seaborn<\/a><\/li>\n\n\n\n<li><a href=\"#\u062a\u0637\u0648\u064a\u0631-\u062a\u0637\u0628\u064a\u0642\u0627\u062a-\u0627\u0644\u062c\u0648\u0627\u0644-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-\u0628\u0627\u064a\u062b\u0648\u0646\">\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646<\/a><\/li>\n\n\n\n<li><a href=\"#\u0645\u0634\u0631\u0648\u0639-\u0639\u0645\u0644\u064a-\u062a\u0637\u0628\u064a\u0642-\u0642\u0627\u0626\u0645\u0629-\u0627\u0644\u0645\u0647\u0627\u0645\">\u0645\u0634\u0631\u0648\u0639 \u0639\u0645\u0644\u064a: \u062a\u0637\u0628\u064a\u0642 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645<\/a><\/li>\n\n\n\n<li><a href=\"#\u0645\u0648\u0627\u0631\u062f-\u0625\u0636\u0627\u0641\u064a\u0629\">\u0645\u0648\u0627\u0631\u062f \u0625\u0636\u0627\u0641\u064a\u0629<\/a><\/li>\n\n\n\n<li><a href=\"#\u0627\u0644\u062e\u0627\u062a\u0645\u0629\">\u0627\u0644\u062e\u0627\u062a\u0645\u0629<\/a><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661. \u0645\u0642\u062f\u0645\u0629 \u0641\u064a \u0628\u0627\u064a\u062b\u0648\u0646 <a id=\"\u0645\u0642\u062f\u0645\u0629-\u0641\u064a-\u0628\u0627\u064a\u062b\u0648\u0646\"><\/a><\/h2>\n\n\n\n<p>\u0628\u0627\u064a\u062b\u0648\u0646 \u0647\u064a \u0644\u063a\u0629 \u0628\u0631\u0645\u062c\u0629 \u0639\u0627\u0644\u064a\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0648\u0645\u0641\u0633\u0631\u0629\u060c \u0645\u0639\u0631\u0648\u0641\u0629 \u0628\u0642\u0631\u0627\u0621\u062a\u0647\u0627 \u0627\u0644\u0633\u0647\u0644\u0629 \u0648\u0628\u0633\u0627\u0637\u062a\u0647\u0627. \u062a\u064f\u0633\u062a\u062e\u062f\u0645 \u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0648\u0627\u0633\u0639 \u0641\u064a \u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0648\u064a\u0628\u060c \u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\u060c \u0627\u0644\u062d\u0648\u0633\u0628\u0629 \u0627\u0644\u0639\u0644\u0645\u064a\u0629\u060c \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a\u060c \u0648\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0662. \u0625\u0639\u062f\u0627\u062f \u0628\u0627\u064a\u062b\u0648\u0646 <a id=\"\u0625\u0639\u062f\u0627\u062f-\u0628\u0627\u064a\u062b\u0648\u0646\"><\/a><\/h2>\n\n\n\n<p>\u0623\u0648\u0644\u0627\u064b\u060c \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u062b\u0628\u064a\u062a \u0628\u0627\u064a\u062b\u0648\u0646 \u0639\u0644\u0649 \u062c\u0647\u0627\u0632 \u0627\u0644\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \u0627\u0644\u062e\u0627\u0635 \u0628\u0643. \u064a\u0645\u0643\u0646\u0643 \u062a\u0646\u0632\u064a\u0644\u0647\u0627 \u0645\u0646 <a href=\"https:\/\/www.python.org\/\">\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064a \u0644\u0628\u0627\u064a\u062b\u0648\u0646<\/a>. \u0628\u0639\u062f \u0627\u0644\u062a\u062b\u0628\u064a\u062a\u060c \u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u064a\u0626\u0629 \u062a\u0637\u0648\u064a\u0631 \u0645\u062a\u0643\u0627\u0645\u0644\u0629 (IDE) \u0645\u062b\u0644 PyCharm\u060c VSCode\u060c \u0623\u0648 Jupyter Notebook \u0644\u0643\u062a\u0627\u0628\u0629 \u0648\u062a\u0634\u063a\u064a\u0644 \u0643\u0648\u062f \u0628\u0627\u064a\u062b\u0648\u0646.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0663. \u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0648\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a <a id=\"\u0627\u0644\u0628\u0646\u064a\u0629-\u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629-\u0648\u0623\u0646\u0648\u0627\u0639-\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\"><\/a><\/h2>\n\n\n\n<p>\u062a\u0639\u0644\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0628\u0646\u064a\u0629 \u0628\u0627\u064a\u062b\u0648\u0646 \u0648\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u0623\u0639\u062f\u0627\u062f \u0627\u0644\u0635\u062d\u064a\u062d\u0629 (integers)\u060c \u0627\u0644\u0623\u0639\u062f\u0627\u062f \u0627\u0644\u0639\u0634\u0631\u064a\u0629 (floats)\u060c \u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 (strings)\u060c \u0648\u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0628\u0648\u0644\u064a\u0627\u0646\u064a\u0629 (booleans).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0628\u0631\u0646\u0627\u0645\u062c &#8220;Hello World&#8221;<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b066c458414d90cd4dcddf2e97185c1f\"><code>print(\"Hello, World!\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0645\u062a\u063a\u064a\u0631\u0627\u062a \u0648\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-f40034c6c89ddd6a103b5c4fafddb865\"><code># \u0639\u062f\u062f \u0635\u062d\u064a\u062d\na = 10\n\n# \u0639\u062f\u062f \u0639\u0634\u0631\u064a\nb = 3.14\n\n# \u0633\u0644\u0633\u0644\u0629 \u0646\u0635\u064a\u0629\nc = \"Hello, Python\"\n\n# \u0642\u064a\u0645\u0629 \u0628\u0648\u0644\u064a\u0627\u0646\u064a\u0629\nd = True<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u062a\u0639\u0644\u064a\u0642\u0627\u062a<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6bdf5ef2cec53708f6600e78bdbd6a5a\"><code># \u0647\u0630\u0647 \u062a\u0639\u0644\u064a\u0642 \u0633\u0637\u0631 \u0648\u0627\u062d\u062f\n\n\"\"\"\n\u0647\u0630\u0647 \u062a\u0639\u0644\u064a\u0642\n\u0645\u062a\u0639\u062f\u062f \u0627\u0644\u0623\u0633\u0637\u0631\n\"\"\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0637\u0628\u0627\u0639\u0629 \u062a\u0641\u0627\u0635\u064a\u0644\u0643<\/h4>\n\n\n\n<p>\u0627\u0643\u062a\u0628 \u0633\u0643\u0631\u064a\u0628\u062a \u0628\u0627\u064a\u062b\u0648\u0646 \u064a\u0637\u0628\u0639 \u0627\u0633\u0645\u0643\u060c \u0639\u0645\u0631\u0643\u060c \u0648\u0645\u062f\u064a\u0646\u0629 \u0625\u0642\u0627\u0645\u062a\u0643.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-79dd7821ed32e7721abb16cfca0e1eb0\"><code>name = \"\u0623\u062d\u0645\u062f\"\nage = 25\ncity = \"\u0627\u0644\u062f\u0648\u062d\u0629\"\nprint(f\"\u0627\u0633\u0645\u064a {name}\u060c \u0639\u0645\u0631\u064a {age} \u0639\u0627\u0645\u064b\u0627\u060c \u0648\u0623\u0639\u064a\u0634 \u0641\u064a {city}.\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u0644\u062a\u062c\u0631\u0628\u0629 \u0645\u0639 \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a<\/h4>\n\n\n\n<p>\u062c\u0631\u0628 \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u062e\u062a\u0644\u0641\u0629 \u0648\u0627\u0637\u0628\u0639 \u0642\u064a\u0645\u0647\u0627.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-2f7f381fabc481c75dff6e1b29bda9f7\"><code>integer_value = 42\nfloat_value = 3.14159\nstring_value = \"\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0627\u0644\u0639\u0627\u0644\u0645!\"\nboolean_value = True\n\nprint(integer_value)\nprint(float_value)\nprint(string_value)\nprint(boolean_value)<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0664. \u0647\u064a\u0627\u0643\u0644 \u0627\u0644\u062a\u062d\u0643\u0645 Control Structures <a id=\"\u0627\u0644\u0647\u064a\u0627\u0643\u0644-\u0627\u0644\u062a\u062d\u0643\u0645\u064a\u0629\"><\/a><\/h2>\n\n\n\n<p>\u062a\u064f\u0633\u062a\u062e\u062f\u0645 \u0647\u064a\u0627\u0643\u0644 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u062a\u062f\u0641\u0642 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0641\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0639\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0634\u0631\u0637\u064a\u0629 Conditional Statements<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-433228185175dea3b4c877002fda6bac\"><code>x = 10\nif x &gt; 5:\n    print(\"x \u0623\u0643\u0628\u0631 \u0645\u0646 5\")\nelif x == 5:\n    print(\"x \u064a\u0633\u0627\u0648\u064a 5\")\nelse:\n    print(\"x \u0623\u0642\u0644 \u0645\u0646 5\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u062d\u0644\u0642\u0627\u062a Loops<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-2f7bda32c84ed191c59af908941a4662\"><code># \u062d\u0644\u0642\u0629 for\nfor i in range(5):\n    print(i)\n\n# \u062d\u0644\u0642\u0629 while\ni = 0\nwhile i &lt; 5:\n    print(i)\n    i += 1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0631\u0642\u0645<\/h4>\n\n\n\n<p>\u0627\u0643\u062a\u0628 \u0628\u0631\u0646\u0627\u0645\u062c \u0628\u0627\u064a\u062b\u0648\u0646 \u064a\u062a\u062d\u0642\u0642 \u0645\u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0631\u0642\u0645 \u0645\u0648\u062c\u0628\u064b\u0627\u060c \u0633\u0627\u0644\u0628\u064b\u0627\u060c \u0623\u0648 \u0635\u0641\u0631\u064b\u0627.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-e029001a2e71dd99e63986077d9be8b7\"><code>number = int(input(\"\u0623\u062f\u062e\u0644 \u0631\u0642\u0645\u064b\u0627: \"))\n\nif number &gt; 0:\n    print(\"\u0627\u0644\u0631\u0642\u0645 \u0645\u0648\u062c\u0628.\")\nelif number &lt; 0:\n    print(\"\u0627\u0644\u0631\u0642\u0645 \u0633\u0627\u0644\u0628.\")\nelse:\n    print(\"\u0627\u0644\u0631\u0642\u0645 \u0635\u0641\u0631.\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0637\u0628\u0627\u0639\u0629 \u0627\u0644\u0623\u0631\u0642\u0627\u0645<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u062d\u0644\u0642\u0629 \u062a\u0637\u0628\u0639 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0645\u0646 1 \u0625\u0644\u0649 20.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-110884199f5cb0c3c6c87f65e26b7118\"><code>for i in range(1, 21):\n    print(i)<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0665. \u0627\u0644\u062f\u0648\u0627\u0644 Functions<a id=\"\u0627\u0644\u062f\u0648\u0627\u0644\"><\/a><\/h2>\n\n\n\n<p>\u062a\u0633\u0627\u0639\u062f\u0643 \u0627\u0644\u062f\u0648\u0627\u0644 \u0641\u064a \u062a\u0646\u0638\u064a\u0645 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0625\u0644\u0649 \u0643\u062a\u0644 \u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u062f\u0648\u0627\u0644<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-5597d0d42d57b86aed21400e6030f219\"><code>def greet(name):\n    return f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c {name}\"\n\nprint(greet(\"\u0639\u0644\u064a\"))<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062f\u0627\u0644\u0629 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0636\u0631\u0648\u0628<\/h4>\n\n\n\n<p>\u0627\u0643\u062a\u0628 \u062f\u0627\u0644\u0629 \u062a\u062d\u0633\u0628 \u0627\u0644\u0645\u0636\u0631\u0648\u0628 (factorial) \u0644\u0631\u0642\u0645.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-9050271192390952dd7b1035daf0d5fb\"><code>def factorial(n):\n    if n == 0:\n        return 1\n    else:\n        return n * factorial(n - 1)\n\nprint(factorial(5))  # \u0627\u0644\u0646\u0627\u062a\u062c: 120<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062f\u0627\u0644\u0629 \u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0639\u0643\u0633\u064a\u0629<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u062f\u0627\u0644\u0629 \u062a\u062a\u062d\u0642\u0642 \u0645\u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0646\u0635\u064a\u0629 (string) \u0643\u0644\u0645\u0629 \u0639\u0643\u0633\u064a\u0629 (palindrome).<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b33210fa96750c7f393210654255c05a\"><code>def is_palindrome(s):\n    return s == s[::-1]\n\nprint(is_palindrome(\"radar\"))  # \u0627\u0644\u0646\u0627\u062a\u062c: True\nprint(is_palindrome(\"hello\"))  # \u0627\u0644\u0646\u0627\u062a\u062c: False<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0666. \u0627\u0644\u0647\u064a\u0627\u0643\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u064a\u0629 \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629 <a id=\"\u0627\u0644\u0647\u064a\u0627\u0643\u0644-\u0627\u0644\u0628\u064a\u0627\u0646\u064a\u0629-\u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629\"><\/a><\/h2>\n\n\n\n<p>\u062a\u0639\u0644\u0645 \u0639\u0646 \u062a\u0631\u0627\u0643\u064a\u0628 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629 \u0645\u062b\u0644 \u0641\u0647\u0645 \u0627\u0644\u0642\u0648\u0627\u0626\u0645 (list comprehensions) \u0648\u0627\u0644\u0642\u0648\u0627\u0645\u064a\u0633 (dictionary comprehensions).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0641\u0647\u0645 \u0627\u0644\u0642\u0648\u0627\u0626\u0645<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b575a0cf6e56220ebda2ab3f4a3bc4e0\"><code># \u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0626\u0645\u0629 \u0644\u0644\u0645\u0631\u0628\u0639\u0627\u062a\nsquares = [x ** 2 for x in range(10)]\nprint(squares)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0641\u0647\u0645 \u0627\u0644\u0642\u0648\u0627\u0645\u064a\u0633<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-e6e9ef470f3ea6f47db1547b09b659a3\"><code># \u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0645\u0648\u0633 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0648\u0645\u0631\u0628\u0639\u0627\u062a\u0647\u0627\nsquares_dict = {x: x ** 2 for x in range(10)}\nprint(squares_dict)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0627\u0644\u0632\u0648\u062c\u064a\u0629<\/h4>\n\n\n\n<p>\u0627\u0633\u062a\u062e\u062f\u0645 \u0641\u0647\u0645 \u0627\u0644\u0642\u0648\u0627\u0626\u0645 \u0644\u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0626\u0645\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0627\u0644\u0632\u0648\u062c\u064a\u0629 \u0645\u0646 1 \u0625\u0644\u0649 20.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-fdbca80b0620a967b2ad2762e5dd1677\"><code>even_numbers = [x for x in range(1, 21) if x % 2 == 0]\nprint(even_numbers)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0642\u0627\u0645\u0648\u0633 \u0627\u0644\u0645\u0643\u0639\u0628\u0627\u062a<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0642\u0627\u0645\u0648\u0633\u064b\u0627 \u064a\u0631\u0628\u0637 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0628\u0645\u0643\u0639\u0628\u0627\u062a\u0647\u0627.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-0ed36e5292b04f0da1c4f8e4fa5aa57f\"><code>cubes_dict = {x: x ** 3 for x in range(1, 11)}\nprint(cubes_dict)<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0667. \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 Error Handling<a id=\"\u0627\u0644\u062a\u0639\u0627\u0645\u0644-\u0645\u0639-\u0627\u0644\u0623\u062e\u0637\u0627\u0621\"><\/a><\/h2>\n\n\n\n<p>\u064a\u062a\u0645 \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0641\u064a \u0628\u0627\u064a\u062b\u0648\u0646 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0643\u062a\u0644 <code>try<\/code> \u0648<code>except<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0643\u062a\u0644 Try-Except Blocks<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-e9e9a9e47a63ef89133d5195630eb1ce\"><code>try:\n    result = 10 \/ 0\nexcept ZeroDivisionError:\n    print(\"\u0644\u0627 \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u0633\u0645\u0629 \u0639\u0644\u0649 \u0635\u0641\u0631!\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0627\u0633\u062a\u062b\u0646\u0627\u0621\u0627\u062a \u0627\u0644\u0645\u062e\u0635\u0635\u0629 Custom Exceptions<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-09e736a95b1cad9954c32ac81ca04234\"><code>class CustomError(Exception):\n    pass\n\ntry:\n    raise CustomError(\"\u0647\u0630\u0627 \u062e\u0637\u0623 \u0645\u062e\u0635\u0635\")\n\n\nexcept CustomError as e:\n    print(e)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062e\u0637\u0623 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a<\/h4>\n\n\n\n<p>\u0627\u0643\u062a\u0628 \u0628\u0631\u0646\u0627\u0645\u062c\u064b\u0627 \u064a\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0623\u062e\u0637\u0627\u0621 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-c13aa554fe833585ba5a4d8b422dabfd\"><code>try:\n    with open(\"non_existent_file.txt\", \"r\") as file:\n        content = file.read()\nexcept FileNotFoundError:\n    print(\"\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0644\u0641!\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062e\u0637\u0623 \u0645\u062e\u0635\u0635<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u062e\u0637\u0623 \u0645\u062e\u0635\u0635 \u0644\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u063a\u064a\u0631 \u0627\u0644\u0635\u0627\u0644\u062d\u0629 \u0641\u064a \u062f\u0627\u0644\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-7a4b06e0a8902a6f5415347b5faeeb21\"><code>class InvalidInputError(Exception):\n    pass\n\ndef check_positive(number):\n    if number &lt; 0:\n        raise InvalidInputError(\"\u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0627\u0644\u0633\u0627\u0644\u0628\u0629 \u063a\u064a\u0631 \u0645\u0633\u0645\u0648\u062d\u0629.\")\n    return number\n\ntry:\n    print(check_positive(-5))\nexcept InvalidInputError as e:\n    print(e)<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0668. \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0648\u0627\u0644\u062d\u0632\u0645 Modules and Packages<a id=\"\u0627\u0644\u0648\u062d\u062f\u0627\u062a-\u0648\u0627\u0644\u062d\u0632\u0645\"><\/a><\/h2>\n\n\n\n<p>\u062a\u0639\u0644\u0645 \u0643\u064a\u0641\u064a\u0629 \u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0648\u0627\u0644\u062d\u0632\u0645 \u0641\u064a \u0628\u0627\u064a\u062b\u0648\u0646.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0648\u062d\u062f\u0627\u062a<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-20a456fa7c52cc78ab1063320324e0f0\"><code># my_module.py\ndef greet(name):\n    return f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c {name}\"\n\n# main.py\nimport my_module\n\nprint(my_module.greet(\"\u0639\u0644\u064a\"))<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u062d\u0632\u0645<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a71db7d00861e37fa5ac09b463b21297\"><code># my_package\/__init__.py\n# my_package\/module1.py\n# my_package\/module2.py<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0648\u062d\u062f\u0629 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0633\u0627\u062d\u0627\u062a<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0648\u062d\u062f\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062f\u0627\u0644\u0629 \u062a\u062d\u0633\u0628 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0623\u0634\u0643\u0627\u0644 \u0627\u0644\u0645\u062e\u062a\u0644\u0641\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-9e8e776063b269e518caeccd64dce983\"><code># shapes.py\ndef area_of_circle(radius):\n    return 3.14159 * radius ** 2\n\ndef area_of_rectangle(length, width):\n    return length * width\n\n# main.py\nimport shapes\n\nprint(shapes.area_of_circle(5))      # \u0627\u0644\u0646\u0627\u062a\u062c: 78.53975\nprint(shapes.area_of_rectangle(4, 6)) # \u0627\u0644\u0646\u0627\u062a\u062c: 24<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u0646\u0638\u064a\u0645 \u0627\u0644\u0643\u0648\u062f \u0641\u064a \u062d\u0632\u0645<\/h4>\n\n\n\n<p>\u0646\u0638\u0645 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0641\u064a \u062d\u0632\u0645 \u0648\u0627\u0633\u062a\u0648\u0631\u062f\u0647\u0627 \u0641\u064a \u0627\u0644\u0633\u0643\u0631\u064a\u0628\u062a \u0627\u0644\u0631\u0626\u064a\u0633\u064a.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-adf4f2c33b1254ac7409711cde4931cf\"><code># my_package\/__init__.py\n# my_package\/module1.py\ndef greet(name):\n    return f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c {name}\"\n\n# my_package\/module2.py\ndef farewell(name):\n    return f\"\u0648\u062f\u0627\u0639\u064b\u0627\u060c {name}\"\n\n# main.py\nfrom my_package import module1, module2\n\nprint(module1.greet(\"\u0639\u0644\u064a\"))\nprint(module2.farewell(\"\u062e\u0627\u0644\u062f\"))<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0669. \u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a (Decorators) <a id=\"\u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a\"><\/a><\/h2>\n\n\n\n<p>\u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a \u0647\u064a \u0623\u062f\u0627\u0629 \u0642\u0648\u064a\u0629 \u0644\u062a\u0639\u062f\u064a\u0644 \u0633\u0644\u0648\u0643 \u0627\u0644\u062f\u0648\u0627\u0644 \u0623\u0648 \u0627\u0644\u0641\u0626\u0627\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a \u0641\u064a \u0627\u0644\u062f\u0648\u0627\u0644<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-73ee090dc5738e5d14818c815d909ed5\"><code>def my_decorator(func):\n    def wrapper():\n        print(\"\u0634\u064a\u0621 \u064a\u062d\u062f\u062b \u0642\u0628\u0644 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062f\u0627\u0644\u0629.\")\n        func()\n        print(\"\u0634\u064a\u0621 \u064a\u062d\u062f\u062b \u0628\u0639\u062f \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062f\u0627\u0644\u0629.\")\n    return wrapper\n\n@my_decorator\ndef say_hello():\n    print(\"\u0645\u0631\u062d\u0628\u064b\u0627!\")\n\nsay_hello()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0645\u0632\u062e\u0631\u0641\u0627\u062a \u0641\u064a \u0627\u0644\u0641\u0626\u0627\u062a<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a685fbb029681307b7767b435f01c87b\"><code>def add_methods(cls):\n    cls.new_method = lambda self: print(\"\u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u0637\u0631\u064a\u0642\u0629 \u062c\u062f\u064a\u062f\u0629\")\n    return cls\n\n@add_methods\nclass MyClass:\n    pass\n\nobj = MyClass()\nobj.new_method()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0645\u0633\u062c\u0644 \u0648\u0642\u062a \u0627\u0644\u062a\u0646\u0641\u064a\u0630<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0645\u0632\u062e\u0631\u0641\u064b\u0627 \u064a\u0633\u062c\u0644 \u0648\u0642\u062a \u062a\u0646\u0641\u064a\u0630 \u062f\u0627\u0644\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-85587ca1afb94c88302f5207f2eb140b\"><code>import time\n\ndef time_logger(func):\n    def wrapper(*args, **kwargs):\n        start_time = time.time()\n        result = func(*args, **kwargs)\n        end_time = time.time()\n        print(f\"\u0648\u0642\u062a \u0627\u0644\u062a\u0646\u0641\u064a\u0630: {end_time - start_time} \u062b\u0648\u0627\u0646\u064d\")\n        return result\n    return wrapper\n\n@time_logger\ndef slow_function():\n    time.sleep(2)\n    print(\"\u0627\u0643\u062a\u0645\u0644\u062a \u0627\u0644\u062f\u0627\u0644\u0629\")\n\nslow_function()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0625\u0636\u0627\u0641\u0629 \u0637\u0631\u064a\u0642\u0629 \u0644\u0644\u0641\u0626\u0629<\/h4>\n\n\n\n<p>\u0646\u0641\u0630 \u0645\u0632\u062e\u0631\u0641\u064b\u0627 \u064a\u0636\u064a\u0641 \u0637\u0631\u064a\u0642\u0629 \u062c\u062f\u064a\u062f\u0629 \u0625\u0644\u0649 \u0627\u0644\u0641\u0626\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-26b3cd8808d6ccc7cf4e243c42253540\"><code>def add_greeting(cls):\n    cls.greet = lambda self: print(\"\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0627\u0644\u0639\u0627\u0644\u0645!\")\n    return cls\n\n@add_greeting\nclass MyClass:\n    pass\n\nobj = MyClass()\nobj.greet()<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0660. \u0627\u0644\u0645\u0648\u0644\u0651\u062f\u0627\u062a (Generators) <a id=\"\u0627\u0644\u0645\u0648\u0644\u0651\u062f\u0627\u062a\"><\/a><\/h2>\n\n\n\n<p>\u0627\u0644\u0645\u0648\u0644\u0651\u062f\u0627\u062a \u062a\u0633\u0645\u062d \u0644\u0643 \u0628\u0627\u0644\u062a\u0646\u0642\u0644 \u0628\u064a\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u062f\u0648\u0646 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0628\u0623\u0643\u0645\u0644\u0647\u0627 \u0641\u064a \u0627\u0644\u0630\u0627\u0643\u0631\u0629.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-edcff826f25dabf8a4842c41863b9299\"><code>def my_generator():\n    for i in range(10):\n        yield i\n\nfor value in my_generator():\n    print(value)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0645\u0648\u0644\u062f \u0627\u0644\u0623\u0639\u062f\u0627\u062f \u0627\u0644\u0632\u0648\u062c\u064a\u0629<\/h4>\n\n\n\n<p>\u0627\u0643\u062a\u0628 \u062f\u0627\u0644\u0629 \u0645\u0648\u0644\u062f\u0629 \u062a\u064f\u0631\u062c\u0639 \u0627\u0644\u0623\u0639\u062f\u0627\u062f \u0627\u0644\u0632\u0648\u062c\u064a\u0629 \u062d\u062a\u0649 \u062d\u062f \u0645\u0639\u064a\u0646.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-2709d087fe4b3687ace08be9117c1710\"><code>def even_numbers(limit):\n    for i in range(limit + 1):\n        if i % 2 == 0:\n            yield i\n\nfor num in even_numbers(10):\n    print(num)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0642\u0627\u0631\u0626 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0633\u0637\u0631\u064b\u0627 \u0628\u0633\u0637\u0631<\/h4>\n\n\n\n<p>\u0627\u0633\u062a\u062e\u062f\u0645 \u0645\u0648\u0644\u062f\u064b\u0627 \u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0643\u0628\u064a\u0631\u0629 \u0633\u0637\u0631\u064b\u0627 \u0628\u0633\u0637\u0631.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6ba1606cd75c05b2512b29a0e1203c4f\"><code>def read_lines(file_path):\n    with open(file_path, \"r\") as file:\n        for line in file:\n            yield line.strip()\n\nfor line in read_lines(\"large_file.txt\"):\n    print(line)<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0661. \u0627\u0644\u0645\u0643\u062a\u0628\u0627\u062a \u0648\u0627\u0644\u0623\u0637\u0631 \u0627\u0644\u0645\u0641\u064a\u062f\u0629 <a id=\"\u0627\u0644\u0645\u0643\u062a\u0628\u0627\u062a-\u0648\u0627\u0644\u0623\u0637\u0631-\u0627\u0644\u0645\u0641\u064a\u062f\u0629\"><\/a><\/h2>\n\n\n\n<p>\u0627\u0633\u062a\u0643\u0634\u0641 \u0627\u0644\u0645\u0643\u062a\u0628\u0627\u062a \u0645\u062b\u0644 NumPy\u060c Pandas\u060c Matplotlib\u060c Flask\u060c \u0648Django.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">NumPy<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b96f2c844530ee8d8dcd2bbd3e900a4a\"><code>import numpy as np\n\narray = np.array([1, 2, 3, 4, 5])\nprint(array.mean())<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Pandas<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-0e66cff6d418d08ce8b48904129dc32e\"><code>import pandas as pd\n\ndata = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}\ndf = pd.DataFrame(data)\nprint(df)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Matplotlib<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-27a8308fe44acfecec47aeaec52b1bbc\"><code>import matplotlib.pyplot as plt\n\nx = [1, 2, 3, 4, 5]\ny = [10, 20, 25, 30, 35]\n\nplt.plot(x, y)\nplt.xlabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0633\u064a\u0646\u064a')\nplt.ylabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0635\u0627\u062f\u064a')\nplt.title('\u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a \u0639\u064a\u0646\u0629')\nplt.show()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Flask<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-2bfeee4d25de5a7c3fcfc6ff38f20e7d\"><code>from flask import Flask\n\napp = Flask(__name__)\n\n@app.route('\/')\ndef home():\n    return \"\u0645\u0631\u062d\u0628\u064b\u0627\u060c Flask!\"\n\nif __name__ == '__main__':\n    app.run(debug=True)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Django<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6bacc70f3f250da61b464cd3d0a08661\"><code># \u0647\u0630\u0627 \u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0639\u0631\u0636 \u0628\u0633\u064a\u0637 \u0641\u064a Django\n\nfrom django.http import HttpResponse\n\ndef home(request):\n    return HttpResponse(\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c Django!\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0639\u0645\u0644\u064a\u0627\u062a NumPy<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0645\u0635\u0641\u0648\u0641\u0629 NumPy \u0648\u0646\u0641\u0630 \u0639\u0645\u0644\u064a\u0627\u062a \u062d\u0633\u0627\u0628\u064a\u0629 \u0623\u0633\u0627\u0633\u064a\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-bc15748df4c842e6a77385272de3c7cb\"><code>import numpy as np\n\narray = np.array([1, 2, 3, 4, 5])\nprint(array + 10)\nprint(array * 2)\nprint(array.mean())<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u062d\u0645\u064a\u0644 CSV \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Pandas<\/h4>\n\n\n\n<p>\u062d\u0645\u0651\u0644 \u0645\u0644\u0641 CSV \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Pandas \u0648\u0646\u0641\u0630 \u062a\u062d\u0644\u064a\u0644\u064b\u0627 \u0644\u0644\u0628\u064a\u0627\u0646\u0627\u062a.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-5698646e58ae4f0ea33f8f48029fc421\"><code>import pandas as pd\n\ndf = pd.read_csv(\"data.csv\")\nprint(df.head())\nprint(df.describe())<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0631\u0633\u0645\u064b\u0627 \u0628\u064a\u0627\u0646\u064a\u064b\u0627 \u0628\u0633\u064a\u0637\u064b\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-7f87a7247a3623fc900b50db73e03712\"><code>import matplotlib.pyplot as plt\n\nx = [1, 2, 3, 4, 5]\ny = [10, 20, 30, 40, 50]\n\nplt.plot(x, y, marker='o')\nplt.xlabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0633\u064a\u0646\u064a')\nplt.ylabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0635\u0627\u062f\u064a')\nplt.title('\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a')\nplt.grid(True)\nplt.show()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u0637\u0628\u064a\u0642 \u0648\u064a\u0628 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u062a\u0637\u0628\u064a\u0642 \u0648\u064a\u0628 \u0628\u0633\u064a\u0637 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-e67b2d9a89553541fd62b0209b474435\"><code>from flask import Flask\n\napp = Flask(__name__)\n\n@app.route('\/')\ndef home():\n    return \"\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u062a\u0637\u0628\u064a\u0642 Flask!\"\n\n@app.route('\/about')\ndef about():\n    return \"\u0647\u0630\u0647 \u0635\u0641\u062d\u0629 \u062d\u0648\u0644.\"\n\nif __name__ == '__main__':\n    app.run(debug=True)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0645\u0634\u0631\u0648\u0639 Django<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639 Django \u0628\u0633\u064a\u0637 \u0648\u0623\u0636\u0641 \u0639\u0631\u0648\u0636 \u062c\u062f\u064a\u062f\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-e00e86d2be515ae2403ce9ebf90b453b\"><code># \u062a\u062b\u0628\u064a\u062a Django\npip install django\n\n# \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 Django \u062c\u062f\u064a\u062f\ndjango-admin startproject myproject\n\n# \u0625\u0646\u0634\u0627\u0621 \u062a\u0637\u0628\u064a\u0642 \u062c\u062f\u064a\u062f\ncd myproject\npython manage.py startapp myapp\n\n# \u0625\u0636\u0627\u0641\u0629 'myapp' \u0625\u0644\u0649 INSTALLED_APPS \u0641\u064a settings.py\n# \u0625\u0646\u0634\u0627\u0621 \u0639\u0631\u0636 \u0641\u064a myapp\/views.py\nfrom django.http import HttpResponse\n\ndef home(request):\n    return HttpResponse(\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c Django!\")\n\ndef contact(request):\n    return HttpResponse(\"\u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627 \u0639\u0628\u0631 contact@example.com\")\n\n# \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0639\u0631\u0636 \u0625\u0644\u0649 myapp\/urls.py\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.home),\n    path('contact\/', views.contact),\n]\n\n# \u062a\u0636\u0645\u064a\u0646 myapp.urls \u0641\u064a myproject\/urls.py\nfrom django.contrib import admin\nfrom django.urls import include, path\n\nurlpatterns = [\n    path('admin\/', admin.site.urls),\n    path('', include('myapp.urls')),\n]\n\n# \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u0627\u062f\u0645\n\n\npython manage.py runserver<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0662. \u0627\u0644\u062a\u0632\u0627\u0645\u0646 \u0648\u0627\u0644\u062a\u0648\u0627\u0632\u064a Concurrency and Parallelism<a id=\"\u0627\u0644\u062a\u0632\u0627\u0645\u0646-\u0648\u0627\u0644\u062a\u0648\u0627\u0632\u064a\"><\/a><\/h2>\n\n\n\n<p>\u062a\u0639\u0644\u0645 \u0639\u0646 \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u062a\u0632\u0627\u0645\u0646 \u0648\u0627\u0644\u062a\u0648\u0627\u0632\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 threading \u0648multiprocessing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">threading<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-02d4f72ed4ddb31bf214dd1277e9bd90\"><code>import threading\n\ndef print_numbers():\n    for i in range(10):\n        print(i)\n\nthread = threading.Thread(target=print_numbers)\nthread.start()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">multiprocessing<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-f82a9483929a756fcfbb09aa5cda5e9b\"><code>import multiprocessing\n\ndef print_numbers():\n    for i in range(10):\n        print(i)\n\nprocess = multiprocessing.Process(target=print_numbers)\nprocess.start()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u062e\u064a\u0648\u0637<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0628\u0631\u0646\u0627\u0645\u062c\u064b\u0627 \u0645\u062a\u0639\u062f\u062f \u0627\u0644\u062e\u064a\u0648\u0637 \u064a\u0637\u0628\u0639 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0628\u0627\u0644\u062a\u0648\u0627\u0632\u064a.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b222769eb5c408d9f082043aaeb5b5c7\"><code>import threading\n\ndef print_numbers():\n    for i in range(5):\n        print(f\"\u0627\u0644\u062e\u064a\u0637 {threading.current_thread().name}: {i}\")\n\nthreads = []\nfor i in range(3):\n    thread = threading.Thread(target=print_numbers, name=f\"Thread-{i}\")\n    threads.append(thread)\n    thread.start()\n\nfor thread in threads:\n    thread.join()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u0644\u0645\u0647\u0627\u0645 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a<\/h4>\n\n\n\n<p>\u0646\u0641\u0630 \u0628\u0631\u0646\u0627\u0645\u062c\u064b\u0627 \u0645\u062a\u0639\u062f\u062f \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0644\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u062d\u0633\u0627\u0628\u064a\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-ab7d63865f19a507acd74c5309b26862\"><code>import multiprocessing\n\ndef compute_square(n):\n    print(f\"\u0645\u0631\u0628\u0639 {n} \u0647\u0648 {n * n}\")\n\nnumbers = [1, 2, 3, 4, 5]\nprocesses = []\n\nfor number in numbers:\n    process = multiprocessing.Process(target=compute_square, args=(number,))\n    processes.append(process)\n    process.start()\n\nfor process in processes:\n    process.join()<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0663. \u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629 \u0641\u064a \u0628\u0627\u064a\u062b\u0648\u0646 <a id=\"\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645-\u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629-\u0641\u064a-\u0628\u0627\u064a\u062b\u0648\u0646\"><\/a><\/h2>\n\n\n\n<p>\u0627\u0633\u062a\u0643\u0634\u0641 \u0645\u0641\u0627\u0647\u064a\u0645 \u0645\u062b\u0644 \u0645\u062f\u064a\u0631\u064a \u0627\u0644\u0633\u064a\u0627\u0642 (context managers) \u0648\u062a\u0644\u0645\u064a\u062d\u0627\u062a \u0627\u0644\u0623\u0646\u0648\u0627\u0639 (type hinting).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u062f\u064a\u0631\u064a \u0627\u0644\u0633\u064a\u0627\u0642<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a877011e454a080b07cdddecc7a6f68f\"><code>with open(\"example.txt\", \"w\") as file:\n    file.write(\"\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0627\u0644\u0639\u0627\u0644\u0645!\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0644\u0645\u064a\u062d\u0627\u062a \u0627\u0644\u0623\u0646\u0648\u0627\u0639<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-82ea06a8fdc7c33c2b7e722664cdf632\"><code>def greeting(name: str) -&gt; str:\n    return f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c {name}\"\n\nprint(greeting(\"\u0639\u0644\u064a\"))<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0645\u062f\u064a\u0631 \u0633\u064a\u0627\u0642 \u0645\u062e\u0635\u0635<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0645\u062f\u064a\u0631 \u0633\u064a\u0627\u0642 \u0645\u062e\u0635\u0635 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>__enter__<\/code> \u0648 <code>__exit__<\/code>.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-924a3cb66e8ad62ef10d55f5b4037528\"><code>class CustomContextManager:\n    def __enter__(self):\n        print(\"\u062f\u062e\u0648\u0644 \u0627\u0644\u0633\u064a\u0627\u0642\")\n        return self\n\n    def __exit__(self, exc_type, exc_value, traceback):\n        print(\"\u062e\u0631\u0648\u062c \u0645\u0646 \u0627\u0644\u0633\u064a\u0627\u0642\")\n\nwith CustomContextManager():\n    print(\"\u062f\u0627\u062e\u0644 \u0627\u0644\u0633\u064a\u0627\u0642\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0625\u0636\u0627\u0641\u0629 \u062a\u0644\u0645\u064a\u062d\u0627\u062a \u0627\u0644\u0623\u0646\u0648\u0627\u0639<\/h4>\n\n\n\n<p>\u0623\u0636\u0641 \u062a\u0644\u0645\u064a\u062d\u0627\u062a \u0627\u0644\u0623\u0646\u0648\u0627\u0639 \u0625\u0644\u0649 \u0627\u0644\u062f\u0648\u0627\u0644 \u0648\u0627\u0644\u0641\u0626\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-4fcc5f9ad55e27de3cf7fb5962cc1952\"><code>def add(a: int, b: int) -&gt; int:\n    return a + b\n\nclass Person:\n    def __init__(self, name: str, age: int):\n        self.name = name\n        self.age = age\n\n    def greet(self) -&gt; str:\n        return f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c \u0627\u0633\u0645\u064a {self.name} \u0648\u0639\u0645\u0631\u064a {self.age} \u0639\u0627\u0645\u064b\u0627.\"\n\nperson = Person(\"\u0639\u0644\u064a\", 30)\nprint(person.greet())<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0664. \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 <a id=\"\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\"><\/a><\/h2>\n\n\n\n<p>\u062a\u0639\u0644\u0645 \u0643\u064a\u0641\u064a\u0629 \u0643\u062a\u0627\u0628\u0629 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0648\u062d\u062f\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>unittest<\/code> \u0648 <code>pytest<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0648\u062d\u062f\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>unittest<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6de3c952059a61f6b2df6be21076f570\"><code>import unittest\n\ndef add(a, b):\n    return a + b\n\nclass TestMath(unittest.TestCase):\n    def test_add(self):\n        self.assertEqual(add(1, 2), 3)\n\nif __name__ == '__main__':\n    unittest.main()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0648\u062d\u062f\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>pytest<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-3fc7eb44b3c1ae2a985c0c963963540d\"><code># \u0627\u062d\u0641\u0638 \u0647\u0630\u0627 \u0641\u064a \u0645\u0644\u0641 \u0628\u0627\u0633\u0645 test_example.py\ndef add(a, b):\n    return a + b\n\ndef test_add():\n    assert add(1, 2) == 3\n    assert add(-1, 1) == 0\n    assert add(0, 0) == 0\n\n# \u0634\u063a\u0644 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645: pytest test_example.py<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0648\u062d\u062f\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>unittest<\/code><\/h4>\n\n\n\n<p>\u0627\u0643\u062a\u0628 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0648\u062d\u062f\u0629 \u0644\u0644\u062f\u0648\u0627\u0644 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>unittest<\/code>.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-c626e7d5926a4d4eebf643ba53a0d073\"><code>import unittest\n\ndef multiply(a, b):\n    return a * b\n\nclass TestMath(unittest.TestCase):\n    def test_multiply(self):\n        self.assertEqual(multiply(2, 3), 6)\n        self.assertEqual(multiply(-1, 1), -1)\n        self.assertEqual(multiply(0, 5), 0)\n\nif __name__ == '__main__':\n    unittest.main()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>pytest<\/code><\/h4>\n\n\n\n<p>\u0627\u0633\u062a\u062e\u062f\u0645 <code>pytest<\/code> \u0644\u0625\u0646\u0634\u0627\u0621 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-3cc6f02107cc0afe3beb2fc0acc91d88\"><code>import pytest\n\n@pytest.mark.parametrize(\"a,b,expected\", [\n    (1, 2, 3),\n    (2, 3, 5),\n    (3, 4, 7),\n])\ndef test_add(a, b, expected):\n    assert add(a, b) == expected\n\n# \u0634\u063a\u0644 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645: pytest test_example.py<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0665. \u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0648\u064a\u0628 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask \u0648Django <a id=\"\u062a\u0637\u0648\u064a\u0631-\u0627\u0644\u0648\u064a\u0628-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-Flask-\u0648Django\"><\/a><\/h2>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0648\u064a\u0628 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask \u0648Django.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Flask &#8211; \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a REST<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-c3a33ce420a28cb03371ac8207c49172\"><code>from flask import Flask, jsonify, request\n\napp = Flask(__name__)\n\n@app.route('\/api', methods=['GET'])\ndef get_data():\n    return jsonify({\"message\": \"\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0627\u0644\u0639\u0627\u0644\u0645!\"})\n\n@app.route('\/api', methods=['POST'])\ndef post_data():\n    data = request.json\n    return jsonify(data), 201\n\nif __name__ == '__main__':\n    app.run(debug=True)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0625\u0639\u062f\u0627\u062f Django \u0627\u0644\u0623\u0633\u0627\u0633\u064a<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-69480851c8d13b1ec9abbd4d2b123fc6\"><code># \u062a\u062b\u0628\u064a\u062a Django\npip install django\n\n# \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 Django \u062c\u062f\u064a\u062f\ndjango-admin startproject myproject\n\n# \u0625\u0646\u0634\u0627\u0621 \u062a\u0637\u0628\u064a\u0642 \u062c\u062f\u064a\u062f\ncd myproject\npython manage.py startapp myapp\n\n# \u0625\u0636\u0627\u0641\u0629 'myapp' \u0625\u0644\u0649 INSTALLED_APPS \u0641\u064a settings.py\n# \u0625\u0646\u0634\u0627\u0621 \u0639\u0631\u0636 \u0641\u064a myapp\/views.py\nfrom django.http import HttpResponse\n\ndef home(request):\n    return HttpResponse(\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c Django!\")\n\ndef about(request):\n    return HttpResponse(\"\u062d\u0648\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639\")\n\n# \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0639\u0631\u0636 \u0625\u0644\u0649 myapp\/urls.py\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.home),\n    path('about\/', views.about),\n]\n\n# \u062a\u0636\u0645\u064a\u0646 myapp.urls \u0641\u064a myproject\/urls.py\nfrom django.contrib import admin\nfrom django.urls import include, path\n\nurlpatterns = [\n    path('admin\/', admin.site.urls),\n    path('', include('myapp.urls')),\n]\n\n# \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u0627\u062f\u0645\npython manage.py runserver<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a REST \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0628\u0633\u064a\u0637\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Flask.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-f16859231ad3d2ac6d4ad34057a1db1b\"><code>from flask import Flask, jsonify, request\n\napp = Flask(__name__)\n\n@app.route('\/api\/greet', methods=['GET'])\ndef greet():\n    name = request.args.get('name', '\u0627\u0644\u0639\u0627\u0644\u0645')\n    return jsonify({\"message\": f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c {name}!\"})\n\nif __name__ == '__main__':\n    app.run(debug=True)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0639\u0631\u0648\u0636 Django<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0645\u0648\u0642\u0639\u064b\u0627 \u0628\u0633\u064a\u0637\u064b\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Django \u0648\u0623\u0636\u0641 \u0639\u0631\u0648\u0636 \u062c\u062f\u064a\u062f\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-f1a39f9054de1d26543e055f1bedd4cf\"><code># \u062a\u062b\u0628\u064a\u062a Django\npip install django\n\n# \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 Django \u062c\u062f\u064a\u062f\ndjango-admin startproject myproject\n\n# \u0625\u0646\u0634\u0627\u0621 \u062a\u0637\u0628\u064a\u0642 \u062c\u062f\u064a\u062f\ncd myproject\npython manage.py startapp myapp\n\n# \u0625\u0636\u0627\u0641\u0629 'myapp' \u0625\u0644\u0649 INSTALLED_APPS \u0641\u064a settings.py\n# \u0625\u0646\u0634\u0627\u0621 \u0639\u0631\u0636 \u0641\u064a myapp\/views.py\nfrom django.http import HttpResponse\n\ndef home(request):\n    return HttpResponse(\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c Django!\")\n\ndef contact(request):\n    return HttpResponse(\"\u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627 \u0639\u0628\u0631 contact@example.com\")\n\n# \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0639\u0631\u0636 \u0625\u0644\u0649 myapp\/urls.py\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.home),\n    path('contact\/', views.contact),\n]\n\n# \u062a\u0636\u0645\u064a\u0646 myapp.urls \u0641\u064a myproject\/urls.py\nfrom django.contrib import admin\nfrom django.urls import include, path\n\nurlpatterns = [\n    path('admin\/', admin.site.urls),\n    path('', include('myapp.urls')),\n]\n\n# \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u0627\u062f\u0645\npython manage.py runserver<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0666. \u0627\u0644\u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u064a \u0627\u0644\u0645\u062a\u0642\u062f\u0645 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Pandas <a id=\"\u0627\u0644\u062a\u062d\u0644\u064a\u0644-\u0627\u0644\u0628\u064a\u0627\u0646\u064a-\u0627\u0644\u0645\u062a\u0642\u062f\u0645-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-Pandas\"><\/a><\/h2>\n\n\n\n<p>\u0642\u0645 \u0628\u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u064a \u0627\u0644\u0645\u062a\u0642\u062f\u0645 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Pandas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u062a\u062c\u0645\u064a\u0639 \u0648\u0627\u0644\u062a\u062c\u0645\u064a\u0639<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-4ac34c61e61aeda31680f091af28e726\"><code>import pandas as pd\n\ndata = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],\n        'Score': [85, 92, 78, 95, 85]}\ndf = pd.DataFrame(data)\n\n# \u0627\u0644\u062a\u062c\u0645\u064a\u0639 \u062d\u0633\u0628 \u0627\u0644\u0627\u0633\u0645 \u0648\u062d\u0633\u0627\u0628 \u0645\u062a\u0648\u0633\u0637 \u0627\u0644\u062f\u0631\u062c\u0627\u062a\ngrouped = df.groupby('Name').mean()\nprint(grouped)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062f\u0645\u062c DataFrames<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-aaea6f89414e0052ede2973d50a9df03\"><code>data1 = {'Name': ['Alice', 'Bob', 'Charlie'],\n         'Age': [25, 30, 35]}\ndf1 = pd.DataFrame(data1)\n\ndata2 = {'Name': ['Alice', 'Bob', 'David'],\n         'Salary': [70000, 80000,\n\n 90000]}\ndf2 = pd.DataFrame(data2)\n\nmerged = pd.merge(df1, df2, on='Name', how='outer')\nprint(merged)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0627\u0644\u062a\u062c\u0645\u064a\u0639 \u0648\u0627\u0644\u062a\u062c\u0645\u064a\u0639<\/h4>\n\n\n\n<p>\u062d\u0645\u0651\u0644 \u0645\u062c\u0645\u0648\u0639\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0646\u0641\u0630 \u0627\u0644\u062a\u062c\u0645\u064a\u0639 \u0648\u0627\u0644\u062a\u062c\u0645\u064a\u0639.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-253a4645de132ee04233c8bca2867cc0\"><code>import pandas as pd\n\ndata = {'Department': ['\u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a', '\u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u0628\u0634\u0631\u064a\u0629', '\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0627 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a', '\u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a', '\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0627 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a'],\n        'Employee': ['\u0639\u0644\u064a', '\u0623\u062d\u0645\u062f', '\u062e\u0627\u0644\u062f', '\u0633\u0639\u064a\u062f', '\u0645\u0627\u062c\u062f'],\n        'Salary': [50000, 60000, 70000, 55000, 65000]}\ndf = pd.DataFrame(data)\n\n# \u0627\u0644\u062a\u062c\u0645\u064a\u0639 \u062d\u0633\u0628 \u0627\u0644\u0642\u0633\u0645 \u0648\u062d\u0633\u0627\u0628 \u0645\u062a\u0648\u0633\u0637 \u0627\u0644\u0631\u0648\u0627\u062a\u0628\ngrouped = df.groupby('Department')['Salary'].mean()\nprint(grouped)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062f\u0645\u062c DataFrames<\/h4>\n\n\n\n<p>\u062f\u0645\u062c \u0627\u062b\u0646\u064a\u0646 \u0645\u0646 DataFrames \u0648\u0646\u0641\u0630 \u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-89e34c0ff653c3b97b6f6c0abeb576cd\"><code>data1 = {'Employee': ['\u0639\u0644\u064a', '\u0623\u062d\u0645\u062f', '\u062e\u0627\u0644\u062f'],\n         'Department': ['\u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a', '\u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u0628\u0634\u0631\u064a\u0629', '\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0627 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a']}\ndf1 = pd.DataFrame(data1)\n\ndata2 = {'Employee': ['\u0639\u0644\u064a', '\u062e\u0627\u0644\u062f', '\u0645\u0627\u062c\u062f'],\n         'Project': ['\u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0623', '\u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628', '\u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u062c']}\ndf2 = pd.DataFrame(data2)\n\nmerged = pd.merge(df1, df2, on='Employee', how='outer')\nprint(merged)<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0667. \u062a\u0635\u0648\u064a\u0631 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib \u0648Seaborn <a id=\"\u062a\u0635\u0648\u064a\u0631-\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-Matplotlib-\u0648Seaborn\"><\/a><\/h2>\n\n\n\n<p>\u0642\u0645 \u0628\u062a\u0635\u0648\u064a\u0631 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib \u0648Seaborn.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Matplotlib<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-226a8b17383e9fb0ebf9eb53bc55fb8d\"><code>import matplotlib.pyplot as plt\n\nx = [1, 2, 3, 4, 5]\ny = [10, 20, 25, 30, 35]\n\nplt.plot(x, y, marker='o')\nplt.xlabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0633\u064a\u0646\u064a')\nplt.ylabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0635\u0627\u062f\u064a')\nplt.title('\u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a \u0639\u064a\u0646\u0629')\nplt.show()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Seaborn<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a2d3e544cb381984fd98739f6c9a6c27\"><code>import seaborn as sns\nimport pandas as pd\n\ndata = {'X': [1, 2, 3, 4, 5], 'Y': [10, 20, 25, 30, 35]}\ndf = pd.DataFrame(data)\n\nsns.lineplot(x='X', y='Y', data=df)\nplt.title('\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Seaborn')\nplt.show()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u0631\u0633\u0645\u064b\u0627 \u0628\u064a\u0627\u0646\u064a\u064b\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Matplotlib.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-7f87a7247a3623fc900b50db73e03712\"><code>import matplotlib.pyplot as plt\n\nx = [1, 2, 3, 4, 5]\ny = [10, 20, 30, 40, 50]\n\nplt.plot(x, y, marker='o')\nplt.xlabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0633\u064a\u0646\u064a')\nplt.ylabel('\u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0635\u0627\u062f\u064a')\nplt.title('\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a')\nplt.grid(True)\nplt.show()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u0635\u0648\u064a\u0631 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Seaborn<\/h4>\n\n\n\n<p>\u0627\u0633\u062a\u062e\u062f\u0645 Seaborn \u0644\u062a\u0635\u0648\u064a\u0631 \u0645\u062c\u0645\u0648\u0639\u0629 \u0628\u064a\u0627\u0646\u0627\u062a.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-1ccc90a32fc3c5e5d970175c8c1afe24\"><code>import seaborn as sns\nimport pandas as pd\n\ndata = {'Category': ['A', 'B', 'C', 'A', 'B', 'C'],\n        'Values': [10, 20, 15, 25, 30, 35]}\ndf = pd.DataFrame(data)\n\nsns.barplot(x='Category', y='Values', data=df)\nplt.title('\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0631\u0633\u0645 \u0628\u064a\u0627\u0646\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Seaborn')\nplt.show()<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0668. \u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646 <a id=\"\u062a\u0637\u0648\u064a\u0631-\u062a\u0637\u0628\u064a\u0642\u0627\u062a-\u0627\u0644\u062c\u0648\u0627\u0644-\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645-\u0628\u0627\u064a\u062b\u0648\u0646\"><\/a><\/h2>\n\n\n\n<p>\u0627\u0633\u062a\u0643\u0634\u0641 \u0627\u0644\u0623\u0637\u0631 \u0627\u0644\u0645\u062e\u062a\u0644\u0641\u0629 \u0644\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646\u060c \u0645\u062b\u0644 Kivy\u060c BeeWare\u060c \u0648Python-for-Android.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kivy<\/h3>\n\n\n\n<p>Kivy \u0647\u064a \u0645\u0643\u062a\u0628\u0629 \u0628\u0627\u064a\u062b\u0648\u0646 \u0645\u0641\u062a\u0648\u062d\u0629 \u0627\u0644\u0645\u0635\u062f\u0631 \u0644\u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0644\u0645\u0633. \u062a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0644\u064a\u0646\u0643\u0633\u060c \u0648\u064a\u0646\u062f\u0648\u0632\u060c OS X\u060c \u0623\u0646\u062f\u0631\u0648\u064a\u062f\u060c \u0648 iOS.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0637\u0628\u064a\u0642 Kivy \u0627\u0644\u0623\u0633\u0627\u0633\u064a<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6dae08a4df7ae0a22261c5b682dc1e23\"><code>from kivy.app import App\nfrom kivy.uix.label import Label\n\nclass MyApp(App):\n    def build(self):\n        return Label(text=\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c Kivy!\")\n\nif __name__ == '__main__':\n    MyApp().run()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">BeeWare<\/h3>\n\n\n\n<p>BeeWare \u062a\u0633\u0645\u062d \u0644\u0643 \u0628\u0643\u062a\u0627\u0628\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0623\u0635\u0644\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646 \u0644\u0646\u0638\u0627\u0645 iOS\u060c \u0623\u0646\u062f\u0631\u0648\u064a\u062f\u060c \u0648\u063a\u064a\u0631\u0647\u0627 \u0645\u0646 \u0627\u0644\u0623\u0646\u0638\u0645\u0629.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0637\u0628\u064a\u0642 BeeWare \u0627\u0644\u0623\u0633\u0627\u0633\u064a<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-9ca63a463c0422d734f4d1a6039eb5e0\"><code>import toga\nfrom toga.style import Pack\nfrom toga.style.pack import COLUMN, ROW\n\nclass MyApp(toga.App):\n    def startup(self):\n        main_box = toga.Box(style=Pack(direction=COLUMN))\n\n        name_label = toga.Label('\u0627\u0633\u0645\u0643: ', style=Pack(padding=(0, 5)))\n        self.name_input = toga.TextInput(style=Pack(flex=1))\n\n        greet_button = toga.Button(\n            '\u062a\u062d\u064a\u0629',\n            on_press=self.say_hello,\n            style=Pack(padding=5)\n        )\n\n        main_box.add(name_label)\n        main_box.add(self.name_input)\n        main_box.add(greet_button)\n\n        self.main_window = toga.MainWindow(title=self.formal_name)\n        self.main_window.content = main_box\n        self.main_window.show()\n\n    def say_hello(self, widget):\n        print(f\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c {self.name_input.value}!\")\n\ndef main():\n    return MyApp()\n\nif __name__ == '__main__':\n    main().main_loop()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Python-for-Android (p4a)<\/h3>\n\n\n\n<p>Python-for-Android \u0647\u064a \u0623\u062f\u0627\u0629 \u0644\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062a APK \u0645\u0633\u062a\u0642\u0644\u0629 \u0644\u0646\u0638\u0627\u0645 \u0623\u0646\u062f\u0631\u0648\u064a\u062f.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0625\u0646\u0634\u0627\u0621 APK<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-bf2273453e505c1aef501469332b3b6e\"><code>p4a create --dist_name=myapp --bootstrap=sdl2 --requirements=kivy --package=org.example.myapp --name \"MyApp\" --version=0.1\ncd myapp\np4a apk --dist_name=myapp --release --signkey=~\/path\/to\/your.keystore<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">KivyMD<\/h3>\n\n\n\n<p>KivyMD \u0647\u064a \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0646 \u0639\u0646\u0627\u0635\u0631 \u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u0645\u0648\u0627\u062f \u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647\u0627 \u0645\u0639 Kivy.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0637\u0628\u064a\u0642 KivyMD \u0627\u0644\u0623\u0633\u0627\u0633\u064a<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a9ed8b6f44b624c6e5ba3f4dd33229a8\"><code>from kivymd.app import MDApp\nfrom kivymd.uix.label import MDLabel\n\nclass MyApp(MDApp):\n    def build(self):\n        return MDLabel(text=\"\u0645\u0631\u062d\u0628\u064b\u0627\u060c KivyMD!\", halign=\"center\")\n\nif __name__ == '__main__':\n    MyApp().run()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u0637\u0628\u064a\u0642 \u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Kivy<\/h4>\n\n\n\n<p>\u0623\u0646\u0634\u0626 \u062a\u0637\u0628\u064a\u0642 \u062c\u0648\u0627\u0644 \u0623\u0633\u0627\u0633\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Kivy.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a04d7954eacdb72e2f906d3eb9fc63db\"><code>from kivy.app import App\nfrom kivy.uix.boxlayout import BoxLayout\nfrom kivy.uix.button import Button\nfrom kivy.uix.label import Label\n\nclass MyApp(App):\n    def build(self):\n        layout = BoxLayout(orientation='vertical')\n        self.label = Label(text=\"\u0627\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u0632\u0631\")\n        button = Button(text=\"\u0627\u0636\u063a\u0637 \u0639\u0644\u064a\", on_press=self.on_button_press)\n        layout.add_widget(self.label)\n        layout.add_widget(button)\n        return layout\n\n    def on_button_press(self, instance):\n        self.label.text = \"\u062a\u0645 \u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u0632\u0631!\"\n\nif __name__ == '__main__':\n    MyApp().run()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u0637\u0628\u064a\u0642 BeeWare<\/h4>\n\n\n\n<p>\u0637\u0648\u0631 \u062a\u0637\u0628\u064a\u0642\u064b\u0627 \u0628\u0633\u064a\u0637\u064b\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 BeeWare \u0648\u0642\u0645 \u0628\u062a\u0634\u063a\u064a\u0644\u0647 \u0639\u0644\u0649 \u062c\u0647\u0627\u0632\u0643 \u0627\u0644\u062c\u0648\u0627\u0644.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b875f19820f6e91d5f60ab8304a9aadf\"><code>import toga\nfrom toga.style import Pack\nfrom toga.style.pack import COLUMN, ROW\n\nclass MyApp(toga.App):\n    def startup(self):\n        main_box = toga.Box(style=Pack(direction=COLUMN))\n\n        self.label = toga.Label('\u0627\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u0632\u0631', style=Pack(padding=(0, 5)))\n        button = toga.Button('\u0627\u0636\u063a\u0637 \u0639\u0644\u064a', on_press=self.on_button_press, style=Pack(padding=5))\n\n        main_box.add(self.label)\n        main_box.add(button)\n\n        self.main_window = toga.MainWindow(title=self.formal_name)\n        self.main_window.content = main_box\n        self.main_window.show()\n\n    def on_button_press(self, widget):\n        self.label.text = \"\u062a\u0645 \u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u0632\u0631!\"\n\ndef main():\n    return MyApp()\n\nif __name__ == '__main__':\n    main().main_loop()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062d\u0632\u0645\u0629 APK \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Python-for-Android<\/h4>\n\n\n\n<p>\u0627\u0633\u062a\u062e\u062f\u0645 Python-for-Android \u0644\u062d\u0632\u0645 \u062a\u0637\u0628\u064a\u0642 Kivy \u0641\u064a APK.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-d6b519f1e349825f30647aad47d4c421\"><code># \u062a\u0623\u0643\u062f \u0645\u0646 \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u062a\u0628\u0639\u064a\u0627\u062a \u0627\u0644\u0644\u0627\u0632\u0645\u0629\npip install python-for-android\n\n# \u0625\u0646\u0634\u0627\u0621 \u062f\u0644\u064a\u0644 \u062a\u0637\u0628\u064a\u0642 Kivy \u0648\u0645\u0644\u0641 main.py\nmkdir mykivyapp\ncd mykivyapp\necho \"from kivy.app import App\\nfrom kivy.uix.label import Label\\n\\nclass MyApp(App):\\n    def build(self):\\n        return Label(text='\u0645\u0631\u062d\u0628\u064b\u0627\u060c Kivy!')\\n\\nif __name__ == '__main__':\\n    MyApp().run()\" &gt; main.py\n\n# \u0628\u0646\u0627\u0621 APK\np4a create --dist_name=mykivyapp --bootstrap=sdl2 --requirements=kivy --package=org.example.mykivyapp --name \"MyKivyApp\" --version=0.1\ncd mykivyapp\np4a apk --dist_name=mykivyapp --release\n\n --signkey=~\/path\/to\/your.keystore<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0661\u0669. \u0645\u0634\u0631\u0648\u0639 \u0639\u0645\u0644\u064a: \u062a\u0637\u0628\u064a\u0642 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645 <a id=\"\u0645\u0634\u0631\u0648\u0639-\u0639\u0645\u0644\u064a-\u062a\u0637\u0628\u064a\u0642-\u0642\u0627\u0626\u0645\u0629-\u0627\u0644\u0645\u0647\u0627\u0645\"><\/a><\/h2>\n\n\n\n<p>\u062f\u0639\u0648\u0646\u0627 \u0646\u0636\u0639 \u0643\u0644 \u0634\u064a\u0621 \u0645\u0639\u064b\u0627 \u0648\u0646\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639\u064b\u0627 \u0643\u0627\u0645\u0644\u064b\u0627: \u062a\u0637\u0628\u064a\u0642 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Kivy \u0648SQLite.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u062b\u0628\u064a\u062a \u0627\u0644\u062a\u0628\u0639\u064a\u0627\u062a<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-1ddc687af17ea2484a11a2cde8448673\"><code>pip install kivy sqlite3<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0631\u0626\u064a\u0633\u064a \u0644\u0644\u062a\u0637\u0628\u064a\u0642<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a0eef538c92d1797a1684e25fe53bbd9\"><code>from kivy.app import App\nfrom kivy.uix.boxlayout import BoxLayout\nfrom kivy.uix.label import Label\nfrom kivy.uix.textinput import TextInput\nfrom kivy.uix.button import Button\nimport sqlite3\n\nclass ToDoApp(App):\n    def build(self):\n        self.conn = sqlite3.connect('todos.db')\n        self.create_table()\n\n        self.layout = BoxLayout(orientation='vertical')\n        self.task_input = TextInput(hint_text='\u0623\u062f\u062e\u0644 \u0645\u0647\u0645\u0629')\n        self.layout.add_widget(self.task_input)\n\n        self.add_button = Button(text='\u0625\u0636\u0627\u0641\u0629 \u0645\u0647\u0645\u0629', on_press=self.add_task)\n        self.layout.add_widget(self.add_button)\n\n        self.tasks_layout = BoxLayout(orientation='vertical')\n        self.layout.add_widget(self.tasks_layout)\n\n        self.display_tasks()\n        return self.layout\n\n    def create_table(self):\n        with self.conn:\n            self.conn.execute('CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY, task TEXT)')\n\n    def add_task(self, instance):\n        task = self.task_input.text\n        if task:\n            with self.conn:\n                self.conn.execute('INSERT INTO tasks (task) VALUES (?)', (task,))\n            self.task_input.text = ''\n            self.display_tasks()\n\n    def display_tasks(self):\n        self.tasks_layout.clear_widgets()\n        cursor = self.conn.execute('SELECT * FROM tasks')\n        for row in cursor:\n            task_label = Label(text=row[1])\n            self.tasks_layout.add_widget(task_label)\n\n    def on_stop(self):\n        self.conn.close()\n\nif __name__ == '__main__':\n    ToDoApp().run()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0627\u0631\u064a\u0646<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u0645\u062f\u064a\u062f \u062a\u0637\u0628\u064a\u0642 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645<\/h4>\n\n\n\n<p>\u0645\u062f\u062f \u062a\u0637\u0628\u064a\u0642 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645 \u0644\u064a\u0634\u0645\u0644 \u0648\u0638\u064a\u0641\u0629 \u0627\u0644\u062d\u0630\u0641 \u0648\u0627\u0644\u062a\u062d\u062f\u064a\u062b.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b9462064f591e3e54f227c650fba023d\"><code>from kivy.app import App\nfrom kivy.uix.boxlayout import BoxLayout\nfrom kivy.uix.label import Label\nfrom kivy.uix.textinput import TextInput\nfrom kivy.uix.button import Button\nfrom kivy.uix.gridlayout import GridLayout\nimport sqlite3\n\nclass ToDoApp(App):\n    def build(self):\n        self.conn = sqlite3.connect('todos.db')\n        self.create_table()\n\n        self.layout = BoxLayout(orientation='vertical')\n        self.task_input = TextInput(hint_text='\u0623\u062f\u062e\u0644 \u0645\u0647\u0645\u0629')\n        self.layout.add_widget(self.task_input)\n\n        self.add_button = Button(text='\u0625\u0636\u0627\u0641\u0629 \u0645\u0647\u0645\u0629', on_press=self.add_task)\n        self.layout.add_widget(self.add_button)\n\n        self.tasks_layout = GridLayout(cols=3)\n        self.layout.add_widget(self.tasks_layout)\n\n        self.display_tasks()\n        return self.layout\n\n    def create_table(self):\n        with self.conn:\n            self.conn.execute('CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY, task TEXT)')\n\n    def add_task(self, instance):\n        task = self.task_input.text\n        if task:\n            with self.conn:\n                self.conn.execute('INSERT INTO tasks (task) VALUES (?)', (task,))\n            self.task_input.text = ''\n            self.display_tasks()\n\n    def delete_task(self, task_id):\n        with self.conn:\n            self.conn.execute('DELETE FROM tasks WHERE id = ?', (task_id,))\n        self.display_tasks()\n\n    def update_task(self, task_id, new_task):\n        with self.conn:\n            self.conn.execute('UPDATE tasks SET task = ? WHERE id = ?', (new_task, task_id))\n        self.display_tasks()\n\n    def display_tasks(self):\n        self.tasks_layout.clear_widgets()\n        cursor = self.conn.execute('SELECT * FROM tasks')\n        for row in cursor:\n            task_id, task_text = row\n            task_label = Label(text=task_text)\n            delete_button = Button(text='\u062d\u0630\u0641', on_press=lambda instance, task_id=task_id: self.delete_task(task_id))\n            update_button = Button(text='\u062a\u062d\u062f\u064a\u062b', on_press=lambda instance, task_id=task_id: self.update_task(task_id, self.task_input.text))\n            self.tasks_layout.add_widget(task_label)\n            self.tasks_layout.add_widget(delete_button)\n            self.tasks_layout.add_widget(update_button)\n\n    def on_stop(self):\n        self.conn.close()\n\nif __name__ == '__main__':\n    ToDoApp().run()<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0646: \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0647\u0627\u0645 \u0643\u0645\u0643\u062a\u0645\u0644\u0629<\/h4>\n\n\n\n<p>\u0623\u0636\u0641 \u062e\u0627\u0635\u064a\u0629 \u0644\u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0647\u0627\u0645 \u0643\u0645\u0643\u062a\u0645\u0644\u0629.<\/p>\n\n\n\n<p><strong>\u0627\u0644\u0625\u062c\u0627\u0628\u0629:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6b33a343dac0ecd59d5b77ceada31b08\"><code>from kivy.app import App\nfrom kivy.uix.boxlayout import BoxLayout\nfrom kivy.uix.label import Label\nfrom kivy.uix.textinput import TextInput\nfrom kivy.uix.button import Button\nfrom kivy.uix.gridlayout import GridLayout\nfrom kivy.properties import BooleanProperty\nimport sqlite3\n\nclass ToDoApp(App):\n    def build(self):\n        self.conn = sqlite3.connect('todos.db')\n        self.create_table()\n\n        self.layout = BoxLayout(orientation='vertical')\n        self.task_input = TextInput(hint_text='\u0623\u062f\u062e\u0644 \u0645\u0647\u0645\u0629')\n        self.layout.add_widget(self.task_input)\n\n        self.add_button = Button(text='\u0625\u0636\u0627\u0641\u0629 \u0645\u0647\u0645\u0629', on_press=self.add_task)\n        self.layout.add_widget(self.add_button)\n\n        self.tasks_layout = GridLayout(cols=4)\n        self.layout.add_widget(self.tasks_layout)\n\n        self.display_tasks()\n        return self.layout\n\n    def create_table(self):\n        with self.conn:\n            self.conn.execute('CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY, task TEXT, completed BOOLEAN)')\n\n    def add_task(self, instance):\n        task = self.task_input.text\n        if task:\n            with self.conn:\n                self.conn.execute('INSERT INTO tasks (task, completed) VALUES (?, ?)', (task, False))\n            self.task_input.text = ''\n            self.display_tasks()\n\n    def delete_task(self, task_id):\n        with self.conn:\n            self.conn.execute('DELETE FROM tasks WHERE id = ?', (task_id,))\n        self.display_tasks()\n\n    def update_task(self, task_id, new_task):\n        with self.conn:\n            self.conn.execute('UPDATE tasks SET task = ? WHERE id = ?', (new_task, task_id))\n        self.display_tasks()\n\n    def toggle_task_completion(self, task_id, current_state):\n        with self.conn:\n            self.conn.execute('UPDATE tasks SET completed = ? WHERE id = ?', (not current_state, task_id))\n        self.display_tasks()\n\n    def display_tasks(self):\n        self.tasks_layout.clear_widgets()\n        cursor = self.conn.execute('SELECT * FROM tasks')\n        for row in cursor:\n            task_id, task_text, completed = row\n            task_label = Label(text=task_text, color=(0, 1, 0, 1) if completed else (1, 0, 0, 1))\n            delete_button = Button(text='\u062d\u0630\u0641', on_press=lambda instance, task_id=task_id: self.delete_task(task_id))\n            update_button = Button(text='\u062a\u062d\u062f\u064a\u062b', on_press=lambda instance, task_id=task_id: self.update_task(task_id, self.task_input.text))\n            toggle_button = Button(text='\u0627\u0643\u062a\u0645\u0644\u062a' if not completed else '\u063a\u064a\u0631 \u0645\u0643\u062a\u0645\u0644\u0629', on_press=lambda instance, task_id=task_id, current_state=completed: self.toggle_task_completion(task_id, current_state))\n            self.tasks_layout.add_widget(task_label)\n            self.tasks_layout.add_widget(delete_button)\n            self.tasks_layout.add_widget(update_button)\n            self.tasks_layout.add_widget(toggle_button)\n\n    def on_stop(self):\n        self.conn.close()\n\nif __name__ == '__main__':\n    ToDoApp().run()<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0662\u0660. \u0645\u0648\u0627\u0631\u062f \u0625\u0636\u0627\u0641\u064a\u0629 <a id=\"\u0645\u0648\u0627\u0631\u062f-\u0625\u0636\u0627\u0641\u064a\u0629\"><\/a><\/h2>\n\n\n\n<p>\u0625\u0644\u064a\u0643 \u0628\u0639\u0636 \u0627\u0644\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u0629 \u0627\u0644\u0645\u062c\u0627\u0646\u064a\u0629 \u0644\u0645\u0633\u0627\u0639\u062f\u062a\u0643 \u0641\u064a \u062a\u0639\u0644\u0645 \u0648\u0645\u0645\u0627\u0631\u0633\u0629 \u0628\u0627\u064a\u062b\u0648\u0646 \u0648\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062f\u0648\u0631\u0627\u062a \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.coursera.org\/specializations\/python\">Coursera: Python for Everybody<\/a> &#8211; \u0645\u062c\u0627\u0646\u064a \u0644\u0644\u0645\u0631\u0627\u062c\u0639\u0629.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.edx.org\/course\/introduction-to-computer-science-and-programming-7\">edX: Introduction to Computer Science using Python<\/a> &#8211; \u0645\u062c\u0627\u0646\u064a \u0644\u0644\u0645\u0631\u0627\u062c\u0639\u0629.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.khanacademy.org\/computing\/computer-programming\/programming\">Khan Academy: Intro to Python<\/a> &#8211; \u0645\u062c\u0627\u0646\u064a \u0644\u0644\u0648\u0635\u0648\u0644.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0643\u062a\u0628 \u0648\u062f\u0631\u0648\u0633<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/automatetheboringstuff.com\/\">Automate the Boring Stuff with Python<\/a> \u0628\u0648\u0627\u0633\u0637\u0629 Al Sweigart &#8211; \u0645\u062c\u0627\u0646\u064a \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.w3schools.com\/python\/\">W3Schools Python Tutorial<\/a> &#8211; \u062f\u0631\u0633 \u0645\u062c\u0627\u0646\u064a \u0639\u0644\u0649 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a.<\/li>\n\n\n\n<li><a href=\"https:\/\/realpython.com\/\">Real Python<\/a> &#8211; \u062f\u0631\u0648\u0633 \u0648\u0645\u0642\u0627\u0644\u0627\u062a \u0645\u062c\u0627\u0646\u064a\u0629.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0623\u062f\u0648\u0627\u062a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.jetbrains.com\/pycharm\/download\/#section=windows\">PyCharm Community Edition<\/a> &#8211; \u0628\u064a\u0626\u0629 \u062a\u0637\u0648\u064a\u0631 \u0645\u062a\u0643\u0627\u0645\u0644\u0629 \u0645\u062c\u0627\u0646\u064a\u0629 \u0644\u0628\u0627\u064a\u062b\u0648\u0646.<\/li>\n\n\n\n<li><a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a> &#8211; \u0645\u062d\u0631\u0631 \u0643\u0648\u062f \u0645\u062c\u0627\u0646\u064a \u0645\u0639 \u062f\u0639\u0645 \u0628\u0627\u064a\u062b\u0648\u0646.<\/li>\n\n\n\n<li><a href=\"https:\/\/jupyter.org\/\">Jupyter Notebook<\/a> &#8211; \u0623\u062f\u0627\u0629 \u0645\u062c\u0627\u0646\u064a\u0629 \u0644\u0644\u0639\u0644\u0645 \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a \u0648\u0627\u0644\u062d\u0648\u0633\u0628\u0629 \u0627\u0644\u0639\u0644\u0645\u064a\u0629.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u0646\u0635\u0627\u062a \u0644\u0644\u0645\u0645\u0627\u0631\u0633\u0629<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/leetcode.com\/\">LeetCode<\/a> &#8211; \u062a\u062d\u062f\u064a\u0627\u062a \u0628\u0631\u0645\u062c\u0629 \u0645\u062c\u0627\u0646\u064a\u0629 \u0648\u0645\u0634\u0627\u0643\u0644 \u0644\u0644\u0645\u0645\u0627\u0631\u0633\u0629.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.hackerrank.com\/domains\/tutorials\/10-days-of-python\">HackerRank<\/a> &#8211; \u062a\u062d\u062f\u064a\u0627\u062a \u0628\u0631\u0645\u062c\u0629 \u0645\u062c\u0627\u0646\u064a\u0629 \u0648\u0645\u0634<\/li>\n<\/ul>\n\n\n\n<p>\u0627\u0643\u0644 \u0644\u0644\u0645\u0645\u0627\u0631\u0633\u0629.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.codewars.com\/\">Codewars<\/a> &#8211; \u062a\u062d\u062f\u064a\u0627\u062a \u0628\u0631\u0645\u062c\u0629 \u0645\u062c\u0627\u0646\u064a\u0629 \u0648\u0645\u0634\u0627\u0643\u0644 \u0644\u0644\u0645\u0645\u0627\u0631\u0633\u0629.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0662\u0661. \u0627\u0644\u062e\u0627\u062a\u0645\u0629 <a id=\"\u0627\u0644\u062e\u0627\u062a\u0645\u0629\"><\/a><\/h2>\n\n\n\n<p>\u0646\u0623\u0645\u0644 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0642\u062f \u0642\u062f\u0645 \u0644\u0643 \u0631\u0624\u0649 \u0642\u064a\u0645\u0629 \u062d\u0648\u0644 \u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646. \u0641\u064a \u0625\u064a\u062a \u062f\u064a\u062c\u064a \u0644\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644\u060c \u0646\u062d\u0646 \u0645\u062a\u062e\u0635\u0635\u0648\u0646 \u0641\u064a \u0625\u0646\u0634\u0627\u0621 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0639\u0627\u0644\u064a\u0629 \u0627\u0644\u062c\u0648\u062f\u0629 \u0627\u0644\u0645\u0635\u0645\u0645\u0629 \u062e\u0635\u064a\u0635\u064b\u0627 \u0644\u062a\u0644\u0628\u064a\u0629 \u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a\u0643. \u0627\u062a\u0635\u0644 \u0628\u0646\u0627 \u0639\u0628\u0631 WhatsApp <a href=\"https:\/\/wa.me\/97460077635\">https:\/\/wa.me\/97460077635<\/a>\u060c \u0623\u0648 \u0627\u062a\u0635\u0644 \u0639\u0644\u0649 +97455574988\u060c \u0623\u0648 \u0631\u0627\u0633\u0644\u0646\u0627 \u0639\u0628\u0631 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a info@8digi.com \u0644\u0645\u0646\u0627\u0642\u0634\u0629 \u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a\u0643 \u0641\u064a \u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u0628\u0627\u062a\u0628\u0627\u0639 \u0647\u0630\u0647 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0645\u0642\u062f\u0645\u060c \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062f\u0621 \u0641\u064a \u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0627\u064a\u062b\u0648\u0646. \u0646\u062a\u0645\u0646\u0649 \u0644\u0643 \u0628\u0631\u0645\u062c\u0629 \u0633\u0639\u064a\u062f\u0629!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u062f\u0644\u064a\u0644\u0646\u0627 \u0627\u0644\u0634\u0627\u0645\u0644 \u0644\u062a\u0637\u0648\u064a\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062c\u0648\u0627\u0644&#8230;<\/p>\n","protected":false},"author":2,"featured_media":11977,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_nwseo_native_title":"","_nwseo_native_description":"","_nwseo_title":"","_nwseo_description":"","_nwseo_canonical":"","_nwseo_social_image":"","_nwseo_social_title":"","_nwseo_social_description":"","_nwseo_focus_keyword":"","_nwseo_noindex":"","_nwseo_nofollow":"","_nwseo_schema_type":"BlogPosting","_nwseo_priority_keywords":"","footnotes":""},"categories":[122,454,248,314,367],"tags":[456,458,296,457,455],"class_list":["post-11982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles-ar","category-python-ar","category-mobile-app-ar","category-mobile-app-development-ar","category-learn-ar","tag-mobile-app-development-qatar-ar","tag-python-ar","tag-mobile-app-development-ar","tag-mobile-app-development-with-python-ar","tag-learn-python-ar"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/posts\/11982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/comments?post=11982"}],"version-history":[{"count":0,"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/posts\/11982\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/media\/11977"}],"wp:attachment":[{"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/media?parent=11982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/categories?post=11982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.8digi.com\/ar\/wp-json\/wp\/v2\/tags?post=11982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}