{"id":58,"date":"2025-09-24T22:19:24","date_gmt":"2025-09-24T20:19:24","guid":{"rendered":"http:\/\/python-ai.pl\/?p=58"},"modified":"2025-09-24T22:19:24","modified_gmt":"2025-09-24T20:19:24","slug":"moduly-i-pakiety","status":"publish","type":"post","link":"https:\/\/python-ai.pl\/?p=58","title":{"rendered":"Modu\u0142y i pakiety"},"content":{"rendered":"\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group has-background\" style=\"background:linear-gradient(135deg,rgb(6,147,227) 0%,rgba(217,252,134,0.9) 41%,rgb(155,81,224) 100%)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading\">Modu\u0142y i pakiety w Pythonie<\/h4>\n\n\n\n<p>Modu\u0142y i pakiety pozwalaj\u0105 na organizacj\u0119 kodu, reu\u017cywalno\u015b\u0107 i lepsz\u0105 struktur\u0119 projekt\u00f3w.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Co to s\u0105 modu\u0142y?<\/h4>\n\n\n\n<p>Modu\u0142 to plik Python z rozszerzeniem <code>.py<\/code>, kt\u00f3ry zawiera funkcje, klasy i zmienne. Mo\u017cesz go importowa\u0107 w innych plikach.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tworzenie w\u0142asnego modu\u0142u:<\/h4>\n\n\n\n<p>Stw\u00f3rz plik <code>math_utils.py<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# math_utils.py\nPI = 3.14159\n\ndef add(a, b):\n    return a + b\n\ndef subtract(a, b):\n    return a - b\n\ndef multiply(a, b):\n    return a * b\n\ndef divide(a, b):\n    if b == 0:\n        raise ValueError(&quot;Nie mo\u017cna dzieli\u0107 przez zero!&quot;)\n    return a \/ b\n\ndef power(base, exponent):\n    return base ** exponent\n\nclass Calculator:\n    def __init__(self):\n        self.history = []\n    \n    def calculate(self, operation, a, b):\n        if operation == &quot;add&quot;:\n            result = add(a, b)\n        elif operation == &quot;subtract&quot;:\n            result = subtract(a, b)\n        elif operation == &quot;multiply&quot;:\n            result = multiply(a, b)\n        elif operation == &quot;divide&quot;:\n            result = divide(a, b)\n        else:\n            raise ValueError(&quot;Nieznana operacja&quot;)\n        \n        self.history.append(f&quot;{a} {operation} {b} = {result}&quot;)\n        return result\n    \n    def get_history(self):\n        return self.history\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># math_utils.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">PI = <\/span><span style=\"color: #B5CEA8\">3.14159<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">add<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> a + b<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">subtract<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> a - b<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">multiply<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> a * b<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">divide<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> b == <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">raise<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">ValueError<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Nie mo\u017cna dzieli\u0107 przez zero!&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> a \/ b<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">power<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">base<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">exponent<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> base ** exponent<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">class<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">Calculator<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">__init__<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">self<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">self<\/span><span style=\"color: #D4D4D4\">.history = []<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">calculate<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">self<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">operation<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> operation == <\/span><span style=\"color: #CE9178\">&quot;add&quot;<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            result = add(a, b)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">elif<\/span><span style=\"color: #D4D4D4\"> operation == <\/span><span style=\"color: #CE9178\">&quot;subtract&quot;<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            result = subtract(a, b)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">elif<\/span><span style=\"color: #D4D4D4\"> operation == <\/span><span style=\"color: #CE9178\">&quot;multiply&quot;<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            result = multiply(a, b)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">elif<\/span><span style=\"color: #D4D4D4\"> operation == <\/span><span style=\"color: #CE9178\">&quot;divide&quot;<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            result = divide(a, b)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">else<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">raise<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">ValueError<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Nieznana operacja&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">self<\/span><span style=\"color: #D4D4D4\">.history.append(<\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">a<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">operation<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">b<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\"> = <\/span><span style=\"color: #569CD6\">{<\/span><span style=\"color: #D4D4D4\">result<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> result<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">get_history<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">self<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">self<\/span><span style=\"color: #D4D4D4\">.history<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Importowanie modu\u0142\u00f3w:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Import ca\u0142ego modu\u0142u\nimport math_utils\n\nresult = math_utils.add(5, 3)\nprint(result)  # 8\n\n# Import konkretnych funkcji\nfrom math_utils import add, subtract, PI\n\nprint(add(10, 5))      # 15\nprint(subtract(10, 5)) # 5\nprint(PI)              # 3.14159\n\n# Import z aliasem\nimport math_utils as mu\n\nresult = mu.multiply(4, 6)\nprint(result)  # 24\n\n# Import wszystkiego (niezalecane)\nfrom math_utils import *\n\nresult = power(2, 8)\nprint(result)  # 256\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Import ca\u0142ego modu\u0142u<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> math_utils<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">result = math_utils.add(<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(result)  <\/span><span style=\"color: #6A9955\"># 8<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Import konkretnych funkcji<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> math_utils <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> add, subtract, PI<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(add(<\/span><span style=\"color: #B5CEA8\">10<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">))      <\/span><span style=\"color: #6A9955\"># 15<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(subtract(<\/span><span style=\"color: #B5CEA8\">10<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">)) <\/span><span style=\"color: #6A9955\"># 5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(PI)              <\/span><span style=\"color: #6A9955\"># 3.14159<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Import z aliasem<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> math_utils <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> mu<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">result = mu.multiply(<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(result)  <\/span><span style=\"color: #6A9955\"># 24<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Import wszystkiego (niezalecane)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> math_utils <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> *<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">result = power(<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(result)  <\/span><span style=\"color: #6A9955\"># 256<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Wbudowane modu\u0142y Pythona:<\/h4>\n\n\n\n<p>Python ma wiele wbudowanych modu\u0142\u00f3w:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Modu\u0142 math - funkcje matematyczne\nimport math\n\nprint(math.sqrt(16))      # 4.0\nprint(math.ceil(3.7))     # 4\nprint(math.floor(3.7))    # 3\nprint(math.pi)            # 3.141592653589793\n\n# Modu\u0142 random - liczby losowe\nimport random\n\nprint(random.randint(1, 10))  # Losowa liczba od 1 do 10\nprint(random.choice(&#91;'a', 'b', 'c'&#93;))  # Losowy element z listy\nprint(random.random())        # Losowa liczba od 0 do 1\n\n# Modu\u0142 datetime - praca z datami\nfrom datetime import datetime, timedelta\n\nnow = datetime.now()\nprint(now)  # Aktualna data i czas\n\ntomorrow = now + timedelta(days=1)\nprint(tomorrow)  # Jutro\n\n# Modu\u0142 os - operacje systemowe\nimport os\n\nprint(os.getcwd())        # Aktualny katalog\nprint(os.listdir('.'))    # Lista plik\u00f3w w katalogu\nprint(os.path.exists('test.txt'))  # Czy plik istnieje\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Modu\u0142 math - funkcje matematyczne<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> math<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(math.sqrt(<\/span><span style=\"color: #B5CEA8\">16<\/span><span style=\"color: #D4D4D4\">))      <\/span><span style=\"color: #6A9955\"># 4.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(math.ceil(<\/span><span style=\"color: #B5CEA8\">3.7<\/span><span style=\"color: #D4D4D4\">))     <\/span><span style=\"color: #6A9955\"># 4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(math.floor(<\/span><span style=\"color: #B5CEA8\">3.7<\/span><span style=\"color: #D4D4D4\">))    <\/span><span style=\"color: #6A9955\"># 3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(math.pi)            <\/span><span style=\"color: #6A9955\"># 3.141592653589793<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Modu\u0142 random - liczby losowe<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> random<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(random.randint(<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">10<\/span><span style=\"color: #D4D4D4\">))  <\/span><span style=\"color: #6A9955\"># Losowa liczba od 1 do 10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(random.choice(&#91;<\/span><span style=\"color: #CE9178\">&#39;a&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;b&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;c&#39;<\/span><span style=\"color: #D4D4D4\">&#93;))  <\/span><span style=\"color: #6A9955\"># Losowy element z listy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(random.random())        <\/span><span style=\"color: #6A9955\"># Losowa liczba od 0 do 1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Modu\u0142 datetime - praca z datami<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> datetime <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> datetime, timedelta<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">now = datetime.now()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(now)  <\/span><span style=\"color: #6A9955\"># Aktualna data i czas<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">tomorrow = now + timedelta(<\/span><span style=\"color: #9CDCFE\">days<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(tomorrow)  <\/span><span style=\"color: #6A9955\"># Jutro<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Modu\u0142 os - operacje systemowe<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> os<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(os.getcwd())        <\/span><span style=\"color: #6A9955\"># Aktualny katalog<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(os.listdir(<\/span><span style=\"color: #CE9178\">&#39;.&#39;<\/span><span style=\"color: #D4D4D4\">))    <\/span><span style=\"color: #6A9955\"># Lista plik\u00f3w w katalogu<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(os.path.exists(<\/span><span style=\"color: #CE9178\">&#39;test.txt&#39;<\/span><span style=\"color: #D4D4D4\">))  <\/span><span style=\"color: #6A9955\"># Czy plik istnieje<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Tworzenie pakiet\u00f3w:<\/h4>\n\n\n\n<p>Pakiet to katalog zawieraj\u0105cy modu\u0142y i plik <code>__init__.py<\/code>.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Struktura pakietu:\n# mypackage\/\n#     __init__.py\n#     module1.py\n#     module2.py\n#     subpackage\/\n#         __init__.py\n#         module3.py\n\n# __init__.py - mo\u017ce by\u0107 pusty lub zawiera\u0107 kod inicjalizacyjny\n# __init__.py\nfrom .module1 import function1\nfrom .module2 import Class1\n\n__version__ = &quot;1.0.0&quot;\n__author__ = &quot;Tw\u00f3j Name&quot;\n\n# module1.py\ndef function1():\n    return &quot;Hello from module1&quot;\n\n# module2.py\nclass Class1:\n    def __init__(self):\n        self.name = &quot;Class1&quot;\n    \n    def greet(self):\n        return f&quot;Hello from {self.name}&quot;\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Struktura pakietu:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># mypackage\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">#     __init__.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">#     module1.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">#     module2.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">#     subpackage\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">#         __init__.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">#         module3.py<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># __init__.py - mo\u017ce by\u0107 pusty lub zawiera\u0107 kod inicjalizacyjny<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># __init__.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> .module1 <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> function1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> .module2 <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> Class1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">__version__<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;1.0.0&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">__author__ = <\/span><span style=\"color: #CE9178\">&quot;Tw\u00f3j Name&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># module1.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">function1<\/span><span style=\"color: #D4D4D4\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;Hello from module1&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># module2.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">class<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">Class1<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">__init__<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">self<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">self<\/span><span style=\"color: #D4D4D4\">.name = <\/span><span style=\"color: #CE9178\">&quot;Class1&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">greet<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">self<\/span><span style=\"color: #D4D4D4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">f<\/span><span style=\"color: #CE9178\">&quot;Hello from <\/span><span style=\"color: #569CD6\">{self<\/span><span style=\"color: #D4D4D4\">.name<\/span><span style=\"color: #569CD6\">}<\/span><span style=\"color: #CE9178\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Importowanie z pakiet\u00f3w:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Import z pakietu\nimport mypackage.module1\nfrom mypackage import module2\nfrom mypackage.module1 import function1\n\n# U\u017cycie\nresult = mypackage.module1.function1()\nprint(result)  # Hello from module1\n\nobj = module2.Class1()\nprint(obj.greet())  # Hello from Class1\n\nprint(function1())  # Hello from module1\n\n# Import z subpakietu\nfrom mypackage.subpackage import module3\nfrom mypackage.subpackage.module3 import some_function\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Import z pakietu<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> mypackage.module1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> mypackage <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> module2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> mypackage.module1 <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> function1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># U\u017cycie<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">result = mypackage.module1.function1()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(result)  <\/span><span style=\"color: #6A9955\"># Hello from module1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">obj = module2.Class1()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(obj.greet())  <\/span><span style=\"color: #6A9955\"># Hello from Class1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(function1())  <\/span><span style=\"color: #6A9955\"># Hello from module1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Import z subpakietu<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> mypackage.subpackage <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> module3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">from<\/span><span style=\"color: #D4D4D4\"> mypackage.subpackage.module3 <\/span><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> some_function<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Instalowanie pakiet\u00f3w z PyPI:<\/h4>\n\n\n\n<p>U\u017cywaj\u0105c pip mo\u017cesz instalowa\u0107 pakiety z Python Package Index (PyPI):<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# W terminalu:\n# pip install requests\n# pip install numpy\n# pip install pandas\n\n# W kodzie:\nimport requests\n\n# Pobieranie danych z API\nresponse = requests.get('https:\/\/api.github.com\/users\/octocat')\ndata = response.json()\nprint(data&#91;'login'&#93;)  # octocat\n\nimport numpy as np\n\n# Operacje na tablicach\narr = np.array(&#91;1, 2, 3, 4, 5&#93;)\nprint(arr * 2)  # &#91;2 4 6 8 10&#93;\nprint(np.mean(arr))  # 3.0\n\nimport pandas as pd\n\n# Praca z danymi\ndf = pd.DataFrame({\n    'Name': &#91;'Jan', 'Anna', 'Piotr'&#93;,\n    'Age': &#91;25, 30, 28&#93;,\n    'City': &#91;'Warszawa', 'Krak\u00f3w', 'Gda\u0144sk'&#93;\n})\nprint(df)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># W terminalu:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># pip install requests<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># pip install numpy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># pip install pandas<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># W kodzie:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> requests<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Pobieranie danych z API<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">response = requests.get(<\/span><span style=\"color: #CE9178\">&#39;https:\/\/api.github.com\/users\/octocat&#39;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">data = response.json()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(data&#91;<\/span><span style=\"color: #CE9178\">&#39;login&#39;<\/span><span style=\"color: #D4D4D4\">&#93;)  <\/span><span style=\"color: #6A9955\"># octocat<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> numpy <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> np<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Operacje na tablicach<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">arr = np.array(&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(arr * <\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">)  <\/span><span style=\"color: #6A9955\"># &#91;2 4 6 8 10&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(np.mean(arr))  <\/span><span style=\"color: #6A9955\"># 3.0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">import<\/span><span style=\"color: #D4D4D4\"> pandas <\/span><span style=\"color: #C586C0\">as<\/span><span style=\"color: #D4D4D4\"> pd<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Praca z danymi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">df = pd.DataFrame({<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&#39;Name&#39;<\/span><span style=\"color: #D4D4D4\">: &#91;<\/span><span style=\"color: #CE9178\">&#39;Jan&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;Anna&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;Piotr&#39;<\/span><span style=\"color: #D4D4D4\">&#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&#39;Age&#39;<\/span><span style=\"color: #D4D4D4\">: &#91;<\/span><span style=\"color: #B5CEA8\">25<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">30<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">28<\/span><span style=\"color: #D4D4D4\">&#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #CE9178\">&#39;City&#39;<\/span><span style=\"color: #D4D4D4\">: &#91;<\/span><span style=\"color: #CE9178\">&#39;Warszawa&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;Krak\u00f3w&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;Gda\u0144sk&#39;<\/span><span style=\"color: #D4D4D4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">})<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(df)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Wirtualne \u015brodowiska:<\/h4>\n\n\n\n<p>Wirtualne \u015brodowiska pozwalaj\u0105 na izolacj\u0119 zale\u017cno\u015bci projekt\u00f3w:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# Tworzenie wirtualnego \u015brodowiska\n# python -m venv myenv\n\n# Aktywacja (Windows):\n# myenv\\Scripts\\activate\n\n# Aktywacja (Linux\/Mac):\n# source myenv\/bin\/activate\n\n# Instalowanie pakiet\u00f3w w \u015brodowisku\n# pip install package_name\n\n# Dezaktywacja\n# deactivate\n\n# Lista zainstalowanych pakiet\u00f3w\n# pip list\n\n# Zapisanie zale\u017cno\u015bci\n# pip freeze &gt; requirements.txt\n\n# Instalowanie z pliku requirements.txt\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Tworzenie wirtualnego \u015brodowiska<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># python -m venv myenv<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Aktywacja (Windows):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># myenv\\Scripts\\activate<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Aktywacja (Linux\/Mac):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># source myenv\/bin\/activate<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Instalowanie pakiet\u00f3w w \u015brodowisku<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># pip install package_name<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Dezaktywacja<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># deactivate<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Lista zainstalowanych pakiet\u00f3w<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># pip list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Zapisanie zale\u017cno\u015bci<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># pip freeze &gt; requirements.txt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Instalowanie z pliku requirements.txt<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Dobre praktyki:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>U\u017cywaj opisowych nazw modu\u0142\u00f3w i pakiet\u00f3w<\/li>\n\n\n\n<li>Umieszczaj kod wykonywalny w bloku <code>if __name__ == \"__main__\":<\/code><\/li>\n\n\n\n<li>Unikaj importowania wszystkiego z <code>from module import *<\/code><\/li>\n\n\n\n<li>U\u017cywaj wirtualnych \u015brodowisk dla ka\u017cdego projektu<\/li>\n\n\n\n<li>Dokumentuj swoje modu\u0142y i pakiety<\/li>\n\n\n\n<li>U\u017cywaj <code>__init__.py<\/code> do kontrolowania import\u00f3w<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Przyk\u0142ad z <code>__name__<\/code>:<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"# mymodule.py\ndef my_function():\n    return &quot;Hello from my_function&quot;\n\nif __name__ == &quot;__main__&quot;:\n    # Ten kod wykona si\u0119 tylko gdy uruchomimy plik bezpo\u015brednio\n    print(&quot;Uruchamiam modu\u0142 bezpo\u015brednio&quot;)\n    print(my_function())\nelse:\n    # Ten kod wykona si\u0119 gdy modu\u0142 zostanie zaimportowany\n    print(&quot;Modu\u0142 zosta\u0142 zaimportowany&quot;)\n\n# Gdy uruchomimy: python mymodule.py\n# Wy\u015bwietli: &quot;Uruchamiam modu\u0142 bezpo\u015brednio&quot; i &quot;Hello from my_function&quot;\n\n# Gdy zaimportujemy: import mymodule\n# Wy\u015bwietli tylko: &quot;Modu\u0142 zosta\u0142 zaimportowany&quot;\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># mymodule.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">def<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">my_function<\/span><span style=\"color: #D4D4D4\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;Hello from my_function&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">__name__<\/span><span style=\"color: #D4D4D4\"> == <\/span><span style=\"color: #CE9178\">&quot;__main__&quot;<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\"># Ten kod wykona si\u0119 tylko gdy uruchomimy plik bezpo\u015brednio<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Uruchamiam modu\u0142 bezpo\u015brednio&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(my_function())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">else<\/span><span style=\"color: #D4D4D4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\"># Ten kod wykona si\u0119 gdy modu\u0142 zostanie zaimportowany<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">print<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;Modu\u0142 zosta\u0142 zaimportowany&quot;<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Gdy uruchomimy: python mymodule.py<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Wy\u015bwietli: &quot;Uruchamiam modu\u0142 bezpo\u015brednio&quot; i &quot;Hello from my_function&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Gdy zaimportujemy: import mymodule<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Wy\u015bwietli tylko: &quot;Modu\u0142 zosta\u0142 zaimportowany&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\u0106wiczenie:<\/h4>\n\n\n\n<p>Stw\u00f3rz w\u0142asny modu\u0142 z funkcjami matematycznymi i zaimportuj go w g\u0142\u00f3wnym programie.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Uwaga:<\/h4>\n\n\n\n<p>Przyk\u0142ady z zewn\u0119trznymi bibliotekami (requests, numpy, pandas) nie dzia\u0142aj\u0105 w edytorze online &#8211; wymagaj\u0105 instalacji w lokalnym \u015brodowisku Python. Niekt\u00f3re wbudowane modu\u0142y (os, datetime) r\u00f3wnie\u017c mog\u0105 nie dzia\u0142a\u0107 w edytorze online.<\/p>\n<\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Modu\u0142y i pakiety w Pythonie Modu\u0142y i pakiety pozwalaj\u0105 na organizacj\u0119 kodu, reu\u017cywalno\u015b\u0107 i lepsz\u0105 struktur\u0119 projekt\u00f3w. Co to s\u0105 modu\u0142y? Modu\u0142 to plik Python z rozszerzeniem .py, kt\u00f3ry zawiera funkcje, klasy i zmienne. Mo\u017cesz go importowa\u0107 w innych plikach. Tworzenie w\u0142asnego modu\u0142u: Stw\u00f3rz plik math_utils.py: Importowanie modu\u0142\u00f3w: Wbudowane modu\u0142y Pythona: Python ma wiele wbudowanych [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,3],"tags":[6,24,25,5],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-kurs","category-python","tag-kurs","tag-moduly","tag-pakiety","tag-python"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=58"}],"version-history":[{"count":1,"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":59,"href":"https:\/\/python-ai.pl\/index.php?rest_route=\/wp\/v2\/posts\/58\/revisions\/59"}],"wp:attachment":[{"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/python-ai.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}