GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — python-docs-id/tutorial/modules.po at 3.14 · python/python-docs-id Expand file tree/ Copy pathmodules.poMore file actions 960 lines (846 loc) · 39.4 KB / Copy pathmodules.poFile metadata and controls960 lines (846 loc) · 39.4 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 # SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: # python-doc bot, 2025 # Hengky Kurniawan, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-10-27 19:03+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: Hengky Kurniawan, 2025\n" "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/" "id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" msgid "Modules" msgstr "Modul-Modul" msgid "" "If you quit from the Python interpreter and enter it again, the definitions " "you have made (functions and variables) are lost. Therefore, if you want to " "write a somewhat longer program, you are better off using a text editor to " "prepare the input for the interpreter and running it with that file as input " "instead. This is known as creating a *script*. As your program gets " "longer, you may want to split it into several files for easier maintenance. " "You may also want to use a handy function that you've written in several " "programs without copying its definition into each program." msgstr "" "Jika Anda berhenti dari *interpreter* Python dan memasukkannya lagi, " "definisi yang Anda buat (fungsi dan variabel) akan hilang. Karena itu, jika " "Anda ingin menulis program yang agak lebih panjang, Anda lebih baik " "menggunakan editor teks untuk menyiapkan input bagi penerjemah dan " "menjalankannya dengan file itu sebagai input. Ini dikenal sebagai membuat " "*script*. Saat program Anda menjadi lebih panjang, Anda mungkin ingin " "membaginya menjadi beberapa file untuk pengelolaan yang lebih mudah. Anda " "mungkin juga ingin menggunakan fungsi praktis yang Anda tulis di beberapa " "program tanpa menyalin definisi ke setiap program." msgid "" "To support this, Python has a way to put definitions in a file and use them " "in a script or in an interactive instance of the interpreter. Such a file is " "called a *module*; definitions from a module can be *imported* into other " "modules or into the *main* module (the collection of variables that you have " "access to in a script executed at the top level and in calculator mode)." msgstr "" "Untuk mendukung ini, Python memiliki cara untuk meletakkan definisi dalam " "file dan menggunakannya dalam skrip atau dalam contoh interaktif dari " "*interpreter*. File seperti itu disebut *module*; definisi dari modul dapat " "*imported* ke modul lain atau ke modul *main* (kumpulan variabel yang Anda " "memiliki akses ke dalam skrip yang dieksekusi di tingkat atas dan dalam mode " "kalkulator)." msgid "" "A module is a file containing Python definitions and statements. The file " "name is the module name with the suffix :file:`.py` appended. Within a " "module, the module's name (as a string) is available as the value of the " "global variable ``__name__``. For instance, use your favorite text editor " "to create a file called :file:`fibo.py` in the current directory with the " "following contents::" msgstr "" "Modul adalah file yang berisi definisi dan pernyataan Python. Nama berkas " "adalah nama modul dengan akhiran :file:`.py` diakhirnya. Dalam sebuah modul, " "nama modul (sebagai string) tersedia sebagai nilai variabel global " "``__name__``. Misalnya, gunakan editor teks favorit Anda untuk membuat " "bernama bernama :file:`fibo.py` di direktori saat ini dengan konten " "berikut ::" msgid "" "# Fibonacci numbers module\n" "\n" "def fib(n):\n" " \"\"\"Write Fibonacci series up to n.\"\"\"\n" " a, b = 0, 1\n" " while a < n:\n" " print(a, end=' ')\n" " a, b = b, a+b\n" " print()\n" "\n" "def fib2(n):\n" " \"\"\"Return Fibonacci series up to n.\"\"\"\n" " result = []\n" " a, b = 0, 1\n" " while a < n:\n" " result.append(a)\n" " a, b = b, a+b\n" " return result" msgstr "" msgid "" "Now enter the Python interpreter and import this module with the following " "command::" msgstr "" "Sekarang masukkan interpreter Python dan impor modul ini dengan perintah " "berikut::" msgid ">>> import fibo" msgstr "" msgid "" "This does not add the names of the functions defined in ``fibo`` directly " "to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " "it only adds the module name ``fibo`` there. Using the module name you can " "access the functions::" msgstr "" msgid "" ">>> fibo.fib(1000)\n" "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987\n" ">>> fibo.fib2(100)\n" "[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n" ">>> fibo.__name__\n" "'fibo'" msgstr "" msgid "" "If you intend to use a function often you can assign it to a local name::" msgstr "" "Jika Anda sering ingin menggunakan suatu fungsi, Anda dapat menetapkannya ke " "nama lokal::" msgid "" ">>> fib = fibo.fib\n" ">>> fib(500)\n" "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" msgstr "" msgid "More on Modules" msgstr "Lebih lanjut tentang Modul" msgid "" "A module can contain executable statements as well as function definitions. " "These statements are intended to initialize the module. They are executed " "only the *first* time the module name is encountered in an import statement. " "[#]_ (They are also run if the file is executed as a script.)" msgstr "" "Modul dapat berisi pernyataan yang dapat dieksekusi serta definisi fungsi. " "Pernyataan ini dimaksudkan untuk menginisialisasi modul. Mereka dieksekusi " "hanya *first* kali nama modul ditemui dalam pernyataan impor. [#]_ (Mereka " "juga dijalankan jika file dieksekusi sebagai skrip.)" msgid "" "Each module has its own private namespace, which is used as the global " "namespace by all functions defined in the module. Thus, the author of a " "module can use global variables in the module without worrying about " "accidental clashes with a user's global variables. On the other hand, if you " "know what you are doing you can touch a module's global variables with the " "same notation used to refer to its functions, ``modname.itemname``." msgstr "" msgid "" "Modules can import other modules. It is customary but not required to place " "all :keyword:`import` statements at the beginning of a module (or script, " "for that matter). The imported module names, if placed at the top level of " "a module (outside any functions or classes), are added to the module's " "global namespace." msgstr "" msgid "" "There is a variant of the :keyword:`import` statement that imports names " "from a module directly into the importing module's namespace. For example::" msgstr "" msgid "" ">>> from fibo import fib, fib2\n" ">>> fib(500)\n" "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" msgstr "" msgid "" "This does not introduce the module name from which the imports are taken in " "the local namespace (so in the example, ``fibo`` is not defined)." msgstr "" msgid "There is even a variant to import all names that a module defines::" msgstr "" "Bahkan ada varian untuk mengimpor semua nama yang didefinisikan oleh modul::" msgid "" ">>> from fibo import *\n" ">>> fib(500)\n" "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" msgstr "" msgid "" "This imports all names except those beginning with an underscore (``_``). In " "most cases Python programmers do not use this facility since it introduces " "an unknown set of names into the interpreter, possibly hiding some things " "you have already defined." msgstr "" "Ini mengimpor semua nama kecuali yang dimulai dengan garis bawah (``_``). " "Dalam kebanyakan kasus, programmer Python tidak menggunakan fasilitas ini " "karena ia memperkenalkan sekumpulan nama yang tidak diketahui ke dalam " "*interpreter*, mungkin menyembunyikan beberapa hal yang sudah Anda " "definisikan." msgid "" "Note that in general the practice of importing ``*`` from a module or " "package is frowned upon, since it often causes poorly readable code. " "However, it is okay to use it to save typing in interactive sessions." msgstr "" "Perhatikan bahwa secara umum praktik mengimpor ``*`` dari modul atau paket " "tidak disukai, karena sering menyebabkan kode yang kurang dapat dibaca. " "Namun, boleh saja menggunakannya untuk menghemat pengetikan di sesi " "interaktif." msgid "" "If the module name is followed by :keyword:`!as`, then the name " "following :keyword:`!as` is bound directly to the imported module." msgstr "" "Jika nama modul diikuti oleh :keyword:`!as`, maka nama setelah :keyword:`!" "as` terikat langsung ke modul yang diimpor." msgid "" ">>> import fibo as fib\n" ">>> fib.fib(500)\n" "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" msgstr "" msgid "" "This is effectively importing the module in the same way that ``import " "fibo`` will do, with the only difference of it being available as ``fib``." msgstr "" "Ini secara efektif mengimpor modul dengan cara yang sama dengan ``import " "fibo`` akan dilakukan, dengan satu-satunya perbedaan adalah sebagai ``fib``." msgid "" "It can also be used when utilising :keyword:`from` with similar effects::" msgstr "" "Itu juga dapat digunakan ketika menggunakan :keyword:`from` dengan efek yang " "sama::" msgid "" ">>> from fibo import fib as fibonacci\n" ">>> fibonacci(500)\n" "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" msgstr "" msgid "" "For efficiency reasons, each module is only imported once per interpreter " "session. Therefore, if you change your modules, you must restart the " "interpreter -- or, if it's just one module you want to test interactively, " "use :func:`importlib.reload`, e.g. ``import importlib; " "importlib.reload(modulename)``." msgstr "" "Untuk alasan efisiensi, setiap modul hanya diimpor satu kali per sesi " "*interpreter*. Karenanya, jika Anda mengubah modul, Anda harus memulai ulang " "*interpreter* -- atau, jika hanya satu modul yang ingin Anda uji secara " "interaktif, gunakan :func:`importlib.reload`, mis. ``import importlib; " "importlib.reload(modulename)``." msgid "Executing modules as scripts" msgstr "Mengoperasikan modul sebagai skrip" msgid "When you run a Python module with ::" msgstr "Ketika Anda mengoperasikan modul Python dengan ::" msgid "python fibo.py <arguments>" msgstr "" msgid "" "the code in the module will be executed, just as if you imported it, but " "with the ``__name__`` set to ``\"__main__\"``. That means that by adding " "this code at the end of your module::" msgstr "" "kode dalam modul akan dieksekusi, sama seperti jika Anda mengimpornya, " "tetapi dengan ``__name__`` diatur ke ``\"__main__\"``. Itu berarti bahwa " "dengan menambahkan kode ini di akhir modul Anda ::" msgid "" "if __name__ == \"__main__\":\n" " import sys\n" " fib(int(sys.argv[1]))" msgstr "" msgid "" "you can make the file usable as a script as well as an importable module, " "because the code that parses the command line only runs if the module is " "executed as the \"main\" file:" msgstr "" "Anda dapat membuat berkas dapat digunakan sebagai skrip dan juga modul yang " "dapat diimpor, karena kode yang mengurai *parsing* baris perintah hanya " "beroperasi jika modul dieksekusi sebagai berkas \"main\":" msgid "" "$ python fibo.py 50\n" "0 1 1 2 3 5 8 13 21 34" msgstr "" msgid "If the module is imported, the code is not run::" msgstr "Jika modul diimpor, kode ini tidak dioperasikan ::" msgid "" ">>> import fibo\n" ">>>" msgstr "" msgid "" "This is often used either to provide a convenient user interface to a " "module, or for testing purposes (running the module as a script executes a " "test suite)." msgstr "" "Ini sering digunakan baik untuk menyediakan antarmuka pengguna yang nyaman " "ke modul, atau untuk tujuan pengujian (menjalankan modul sebagai skrip " "mengeksekusi rangkaian pengujian)." msgid "The Module Search Path" msgstr "Jalur Pencarian Modul" msgid "" "When a module named :mod:`!spam` is imported, the interpreter first searches " "for a built-in module with that name. These module names are listed " "in :data:`sys.builtin_module_names`. If not found, it then searches for a " "file named :file:`spam.py` in a list of directories given by the " "variable :data:`sys.path`. :data:`sys.path` is initialized from these " "locations:" msgstr "" msgid "" "The directory containing the input script (or the current directory when no " "file is specified)." msgstr "" "Direktori yang berisi skrip masukan (atau direktori saat ini ketika tidak " "ada file ditentukan)." msgid "" ":envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the " "shell variable :envvar:`PATH`)." msgstr "" ":envvar:`PYTHONPATH` (daftar nama direktori, dengan sintaksis yang sama " "dengan variabel shell :envvar:`PATH`)." msgid "" "The installation-dependent default (by convention including a ``site-" "packages`` directory, handled by the :mod:`site` module)." msgstr "" msgid "More details are at :ref:`sys-path-init`." msgstr "" msgid "" "On file systems which support symlinks, the directory containing the input " "script is calculated after the symlink is followed. In other words the " "directory containing the symlink is **not** added to the module search path." msgstr "" "Pada sistem file yang mendukung symlink, direktori yang berisi skrip masukan " "dihitung setelah symlink diikuti. Dengan kata lain direktori yang berisi " "symlink **not** ditambahkan ke jalur pencarian modul." msgid "" "After initialization, Python programs can modify :data:`sys.path`. The " "directory containing the script being run is placed at the beginning of the " "search path, ahead of the standard library path. This means that scripts in " "that directory will be loaded instead of modules of the same name in the " "library directory. This is an error unless the replacement is intended. See " "section :ref:`tut-standardmodules` for more information." msgstr "" "Setelah inisialisasi, program Python dapat memodifikasi :data:`sys.path`. " "Direktori yang berisi skrip yang dijalankan ditempatkan di awal jalur " "pencarian, di depan jalur pustaka standar. Ini berarti bahwa skrip dalam " "direktori itu akan dimuat bukan modul dengan nama yang sama di direktori " "pustaka. Ini adalah kesalahan kecuali penggantian memang diharapkan. Lihat " "bagian :ref:`tut-standardmodules` untuk informasi lebih lanjut." msgid "\"Compiled\" Python files" msgstr "Berkas Python \"Compiled\"" msgid "" "To speed up loading modules, Python caches the compiled version of each " "module in the ``__pycache__`` directory under the name :file:`module." "{version}.pyc`, where the version encodes the format of the compiled file; " "it generally contains the Python version number. For example, in CPython " "release 3.3 the compiled version of spam.py would be cached as ``__pycache__/" "spam.cpython-33.pyc``. This naming convention allows compiled modules from " "different releases and different versions of Python to coexist." msgstr "" "Untuk mempercepat memuat modul, Python menyimpan *cache* versi terkompilasi " "dari setiap modul di direktori ``__pycache__`` dengan nama :file:`module." "{version}.pyc`, di mana versi menyandikan format berkas terkompilasi; " "umumnya berisi nomor versi Python. Misalnya, dalam rilis CPython 3.3 versi " "yang dikompilasi dari spam.py akan di-*cache* sebagai ``__pycache__/" "spam.cpython-33.pyc``. Konvensi penamaan ini memungkinkan modul yang " "dikompilasi dari rilis yang beragam dan versi Python yang berbeda untuk " "hidup berdampingan." msgid "" "Python checks the modification date of the source against the compiled " "version to see if it's out of date and needs to be recompiled. This is a " "completely automatic process. Also, the compiled modules are platform-" "independent, so the same library can be shared among systems with different " "architectures." msgstr "" "Python memeriksa tanggal modifikasi sumber terhadap versi yang dikompilasi " "untuk melihat apakah itu kedaluwarsa dan perlu dikompilasi ulang. Ini adalah " "proses yang sepenuhnya otomatis. Juga, modul yang dikompilasi adalah " "platform-independen, sehingga perpustakaan yang sama dapat dibagi di antara " "sistem dengan arsitektur yang berbeda." msgid "" "Python does not check the cache in two circumstances. First, it always " "recompiles and does not store the result for the module that's loaded " "directly from the command line. Second, it does not check the cache if " "there is no source module. To support a non-source (compiled only) " "distribution, the compiled module must be in the source directory, and there " "must not be a source module." msgstr "" "Python tidak memeriksa *cache* dalam dua keadaan. Pertama, selalu " "mengkompilasi ulang dan tidak menyimpan hasil untuk modul yang dimuat " "langsung dari baris perintah. Kedua, itu tidak memeriksa *cache* jika tidak " "ada modul sumber. Untuk mendukung distribusi non-sumber (dikompilasi saja), " "modul yang dikompilasi harus ada di direktori sumber, dan tidak boleh ada " "modul sumber." msgid "Some tips for experts:" msgstr "Beberapa tips untuk para ahli:" msgid "" "You can use the :option:`-O` or :option:`-OO` switches on the Python command " "to reduce the size of a compiled module. The ``-O`` switch removes assert " "statements, the ``-OO`` switch removes both assert statements and __doc__ " "strings. Since some programs may rely on having these available, you should " "only use this option if you know what you're doing. \"Optimized\" modules " "have an ``opt-`` tag and are usually smaller. Future releases may change " "the effects of optimization." msgstr "" "Anda dapat menggunakan :option:`-O` atau :option:`-OO` mengaktifkan perintah " "Python untuk mengurangi ukuran modul yang dikompilasi. Saklar ``-O`` " "menghapus pernyataan tegas *assert*, saklar ``-OO`` menghapus pernyataan " "tegas *assert* dan string __doc__. Karena beberapa program bergantung pada " "ketersediaannya, Anda hanya boleh menggunakan opsi ini jika Anda tahu apa " "yang Anda lakukan. Modul \"Optimized\" memiliki tag ``opt-`` dan biasanya " "lebih kecil. Rilis di masa depan dapat mengubah efek pengoptimalan." msgid "" "A program doesn't run any faster when it is read from a ``.pyc`` file than " "when it is read from a ``.py`` file; the only thing that's faster about " "``.pyc`` files is the speed with which they are loaded." msgstr "" "Suatu program tidak berjalan lebih cepat ketika itu dibaca dari file " "``.pyc`` daripada ketika itu dibaca dari file ``.py``; satu-satunya hal yang " "lebih cepat tentang berkas ``.pyc`` adalah kecepatan memuatnya." msgid "" "The module :mod:`compileall` can create .pyc files for all modules in a " "directory." msgstr "" "Modul :mod:`compileall` dapat membuat berkas .pyc untuk semua modul dalam " "direktori." msgid "" "There is more detail on this process, including a flow chart of the " "decisions, in :pep:`3147`." msgstr "" "Ada detail lebih lanjut tentang proses ini, termasuk bagan alur keputusan, " "di :pep:`3147`." msgid "Standard Modules" msgstr "Modul Standar" msgid "" "Python comes with a library of standard modules, described in a separate " "document, the Python Library Reference (\"Library Reference\" hereafter). " "Some modules are built into the interpreter; these provide access to " "operations that are not part of the core of the language but are " "nevertheless built in, either for efficiency or to provide access to " "operating system primitives such as system calls. The set of such modules " "is a configuration option which also depends on the underlying platform. " "For example, the :mod:`winreg` module is only provided on Windows systems. " "One particular module deserves some attention: :mod:`sys`, which is built " "into every Python interpreter. The variables ``sys.ps1`` and ``sys.ps2`` " "define the strings used as primary and secondary prompts::" msgstr "" "Python dilengkapi dengan pustaka modul standar, yang dijelaskan dalam " "dokumen terpisah, Referensi Pustaka Python (\"Library Reference\" " "selanjutnya). Beberapa modul dibangun ke dalam interpreter; ini menyediakan " "akses ke operasi yang bukan bagian dari inti bahasa tetapi tetap dibangun, " "baik untuk efisiensi atau untuk menyediakan akses ke sistem operasi primitif " "seperti pemanggilan sistem. Himpunan modul tersebut adalah opsi konfigurasi " "yang juga tergantung pada platform yang mendasarinya. Sebagai contoh, " "modul :mod:`winreg` hanya disediakan pada sistem Windows. Satu modul " "tertentu patut mendapat perhatian: :mod:`sys`, yang dibangun ke dalam setiap " "interpreter Python. Variabel ``sys.ps1`` dan ``sys.ps2`` menentukan string " "yang digunakan sebagai prompt primer dan sekunder ::" msgid "" ">>> import sys\n" ">>> sys.ps1\n" "'>>> '\n" ">>> sys.ps2\n" "'... '\n" ">>> sys.ps1 = 'C> '\n" "C> print('Yuck!')\n" "Yuck!\n" "C>" msgstr "" msgid "" "These two variables are only defined if the interpreter is in interactive " "mode." msgstr "" "Kedua variabel ini hanya ditentukan jika interpreter dalam mode interaktif." msgid "" "The variable ``sys.path`` is a list of strings that determines the " "interpreter's search path for modules. It is initialized to a default path " "taken from the environment variable :envvar:`PYTHONPATH`, or from a built-in " "default if :envvar:`PYTHONPATH` is not set. You can modify it using " "standard list operations::" msgstr "" "Variabel ``sys.path`` adalah daftar string yang menentukan jalur pencarian " "*interpreter* untuk modul. Ini diinisialisasi ke jalur default yang diambil " "dari variabel lingkungan :envvar:`PYTHONPATH`, atau dari bawaan bawaan " "jika :envvar:`PYTHONPATH` tidak disetel. Anda dapat memodifikasinya " "menggunakan operasi standar untuk *list*::" msgid "" ">>> import sys\n" ">>> sys.path.append('/ufs/guido/lib/python')" msgstr "" msgid "The :func:`dir` Function" msgstr "Fungsi :func:`dir`" msgid "" "The built-in function :func:`dir` is used to find out which names a module " "defines. It returns a sorted list of strings::" msgstr "" "Fungsi bawaan :func:`dir` digunakan untuk mencari tahu nama-nama yang " "ditentukan oleh modul. Ia mengembalikan *list* string yang diurutkan::" msgid "" ">>> import fibo, sys\n" ">>> dir(fibo)\n" "['__name__', 'fib', 'fib2']\n" ">>> dir(sys)\n" "['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__',\n" " '__interactivehook__', '__loader__', '__name__', '__package__', " "'__spec__',\n" " '__stderr__', '__stdin__', '__stdout__', '__unraisablehook__',\n" " '_clear_type_cache', '_current_frames', '_debugmallocstats', '_framework',\n" " '_getframe', '_git', '_home', '_xoptions', 'abiflags', 'addaudithook',\n" " 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix',\n" " 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing',\n" " 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', " "'exc_info',\n" " 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info',\n" " 'float_repr_style', 'get_asyncgen_hooks', " "'get_coroutine_origin_tracking_depth',\n" " 'getallocatedblocks', 'getdefaultencoding', 'getdlopenflags',\n" " 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile',\n" " 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval',\n" " 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info',\n" " 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value',\n" " 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks',\n" " 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', " "'pycache_prefix',\n" " 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', " "'setdlopenflags',\n" " 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', " "'stderr',\n" " 'stdin', 'stdout', 'thread_info', 'unraisablehook', 'version', " "'version_info',\n" " 'warnoptions']" msgstr "" msgid "" "Without arguments, :func:`dir` lists the names you have defined currently::" msgstr "" "Tanpa argumen, :func:`dir` mencantumkan nama yang telah Anda tentukan saat " "ini::" msgid "" ">>> a = [1, 2, 3, 4, 5]\n" ">>> import fibo\n" ">>> fib = fibo.fib\n" ">>> dir()\n" "['__builtins__', '__name__', 'a', 'fib', 'fibo', 'sys']" msgstr "" msgid "" "Note that it lists all types of names: variables, modules, functions, etc." msgstr "" "Perhatikan bahwa ini mencantumkan semua jenis nama: variabel, modul, fungsi, " "dll." msgid "" ":func:`dir` does not list the names of built-in functions and variables. If " "you want a list of those, they are defined in the standard " "module :mod:`builtins`::" msgstr "" ":func:`dir` tidak mencantumkan nama fungsi dan variabel bawaan. Jika Anda " "ingin daftar itu, mereka didefinisikan dalam modul standar :mod:`builtins`::" msgid "" ">>> import builtins\n" ">>> dir(builtins)\n" "['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException',\n" " 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning',\n" " 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError',\n" " 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning',\n" " 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False',\n" " 'FileExistsError', 'FileNotFoundError', 'FloatingPointError',\n" " 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError',\n" " 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError',\n" " 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError',\n" " 'MemoryError', 'NameError', 'None', 'NotADirectoryError', " "'NotImplemented',\n" " 'NotImplementedError', 'OSError', 'OverflowError',\n" " 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError',\n" " 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning',\n" " 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError',\n" " 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError',\n" " 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError',\n" " 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',\n" " 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__build_class__',\n" " '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs',\n" " 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable',\n" " 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits',\n" " 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit',\n" " 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr',\n" " 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass',\n" " 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview',\n" " 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property',\n" " 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',\n" " 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars',\n" " 'zip']" msgstr "" msgid "Packages" msgstr "Paket" msgid "" "Packages are a way of structuring Python's module namespace by using " "\"dotted module names\". For example, the module name :mod:`!A.B` " "designates a submodule named ``B`` in a package named ``A``. Just like the " "use of modules saves the authors of different modules from having to worry " "about each other's global variable names, the use of dotted module names " "saves the authors of multi-module packages like NumPy or Pillow from having " "to worry about each other's module names." msgstr "" msgid "" "Suppose you want to design a collection of modules (a \"package\") for the " "uniform handling of sound files and sound data. There are many different " "sound file formats (usually recognized by their extension, for " "example: :file:`.wav`, :file:`.aiff`, :file:`.au`), so you may need to " "create and maintain a growing collection of modules for the conversion " "between the various file formats. There are also many different operations " "you might want to perform on sound data (such as mixing, adding echo, " "applying an equalizer function, creating an artificial stereo effect), so in " "addition you will be writing a never-ending stream of modules to perform " "these operations. Here's a possible structure for your package (expressed " "in terms of a hierarchical filesystem):" msgstr "" "Misalkan Anda ingin merancang koleksi modul (\"paket\") untuk penanganan " "berkas suara dan data suara yang seragam. Ada banyak format berkas suara " "yang berbeda (biasanya dikenali oleh ekstensi mereka, " "misalnya: :file:`.wav`, :file:`.aiff`, :file:`.au`), jadi Anda mungkin perlu " "membuat dan memelihara koleksi modul yang terus bertambah untuk konversi " "antara berbagai format file. Ada juga banyak operasi berbeda yang mungkin " "ingin Anda lakukan pada data suara (seperti mencampur, menambahkan gema, " "menerapkan fungsi equalizer, menciptakan efek stereo buatan), jadi selain " "itu Anda akan menulis aliran modul tanpa henti untuk melakukan operasi ini. " "Berikut adalah struktur yang mungkin untuk paket Anda (dinyatakan dalam " "hierarki sistem file):" msgid "" "sound/ Top-level package\n" " __init__.py Initialize the sound package\n" " formats/ Subpackage for file format conversions\n" " __init__.py\n" " wavread.py\n" " wavwrite.py\n" " aiffread.py\n" " aiffwrite.py\n" " auread.py\n" " auwrite.py\n" " ...\n" " effects/ Subpackage for sound effects\n" " __init__.py\n" " echo.py\n" " surround.py\n" " reverse.py\n" " ...\n" " filters/ Subpackage for filters\n" " __init__.py\n" " equalizer.py\n" " vocoder.py\n" " karaoke.py\n" " ..." msgstr "" msgid "" "When importing the package, Python searches through the directories on " "``sys.path`` looking for the package subdirectory." msgstr "" "Saat mengimpor paket, Python mencari melalui direktori pada ``sys.path`` " "mencari subdirektori paket." msgid "" "The :file:`__init__.py` files are required to make Python treat directories " "containing the file as packages (unless using a :term:`namespace package`, a " "relatively advanced feature). This prevents directories with a common name, " "such as ``string``, from unintentionally hiding valid modules that occur " "later on the module search path. In the simplest case, :file:`__init__.py` " "can just be an empty file, but it can also execute initialization code for " "the package or set the ``__all__`` variable, described later." msgstr "" msgid "" "Users of the package can import individual modules from the package, for " "example::" msgstr "Pengguna paket dapat mengimpor modul individual dari paket, misalnya::" msgid "import sound.effects.echo" msgstr "" msgid "" "This loads the submodule :mod:`!sound.effects.echo`. It must be referenced " "with its full name. ::" msgstr "" msgid "sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)" msgstr "" msgid "An alternative way of importing the submodule is::" msgstr "Cara alternatif mengimpor submodule adalah::" msgid "from sound.effects import echo" msgstr "" msgid "" "This also loads the submodule :mod:`!echo`, and makes it available without " "its package prefix, so it can be used as follows::" msgstr "" msgid "echo.echofilter(input, output, delay=0.7, atten=4)" msgstr "" msgid "" "Yet another variation is to import the desired function or variable " "directly::" msgstr "" "Namun variasi lain adalah mengimpor fungsi atau variabel yang diinginkan " "secara langsung::" msgid "from sound.effects.echo import echofilter" msgstr "" msgid "" "Again, this loads the submodule :mod:`!echo`, but this makes its " "function :func:`!echofilter` directly available::" msgstr "" msgid "echofilter(input, output, delay=0.7, atten=4)" msgstr "" msgid "" "Note that when using ``from package import item``, the item can be either a " "submodule (or subpackage) of the package, or some other name defined in the " "package, like a function, class or variable. The ``import`` statement first " "tests whether the item is defined in the package; if not, it assumes it is a " "module and attempts to load it. If it fails to find it, " "an :exc:`ImportError` exception is raised." msgstr "" "Perhatikan bahwa ketika menggunakan ``from package import item``, item " "tersebut dapat berupa submodul (atau subpaket) dari paket, atau beberapa " "nama lain yang ditentukan dalam paket, seperti fungsi, kelas atau variabel. " "Pernyataan ``import`` pertama menguji apakah item tersebut didefinisikan " "dalam paket; jika tidak, ini dianggap sebagai modul dan mencoba memuatnya. " "Jika gagal menemukannya, pengecualian :exc:`ImportError` dimunculkan." msgid "" "Contrarily, when using syntax like ``import item.subitem.subsubitem``, each " "item except for the last must be a package; the last item can be a module or " "a package but can't be a class or function or variable defined in the " "previous item." msgstr "" "Sebaliknya, ketika menggunakan sintaksis seperti ``import " "item.subitem.subsubitem``, setiap item kecuali yang terakhir harus berupa " "paket; item terakhir dapat berupa modul atau paket tetapi tidak bisa berupa " "kelas atau fungsi atau variabel yang didefinisikan dalam item sebelumnya." msgid "Importing \\* From a Package" msgstr "Mengimpor \\* Dari Paket" msgid "" "Now what happens when the user writes ``from sound.effects import *``? " "Ideally, one would hope that this somehow goes out to the filesystem, finds " "which submodules are present in the package, and imports them all. This " "could take a long time and importing sub-modules might have unwanted side-" "effects that should only happen when the sub-module is explicitly imported." msgstr "" "Sekarang apa yang terjadi ketika pengguna menulis ``from sound.effects " "import *``? Idealnya, orang akan berharap bahwa ini entah bagaimana keluar " "ke sistem file, menemukan submodul mana yang ada dalam paket, dan mengimpor " "semuanya. Ini bisa memakan waktu lama dan mengimpor submodul mungkin " "memiliki efek samping yang tidak diinginkan yang seharusnya hanya terjadi " "ketika submodul diimpor secara eksplisit." msgid "" "The only solution is for the package author to provide an explicit index of " "the package. The :keyword:`import` statement uses the following convention: " "if a package's :file:`__init__.py` code defines a list named ``__all__``, it " "is taken to be the list of module names that should be imported when ``from " "package import *`` is encountered. It is up to the package author to keep " "this list up-to-date when a new version of the package is released. Package " "authors may also decide not to support it, if they don't see a use for " "importing \\* from their package. For example, the file :file:`sound/" "effects/__init__.py` could contain the following code::" msgstr "" "Satu-satunya solusi adalah bagi pembuat paket untuk memberikan indeks paket " "secara eksplisit. Pernyataan :keyword:`import` menggunakan konvensi berikut: " "jika suatu paket punya kode :file:`__init__.py` yang mendefinisikan daftar " "bernama ``__all__``, itu diambil sebagai daftar nama modul yang harus " "diimpor ketika ``from package import *`` ditemukan. Terserah pembuat paket " "untuk tetap memperbarui daftar ini ketika versi baru dari paket dirilis. " "Pembuat paket juga dapat memutuskan untuk tidak mendukungnya, jika mereka " "tidak melihat penggunaan untuk mengimpor \\* dari paket mereka. Sebagai " "contoh, berkas :file:`sound/effects/__init__.py` dapat berisi kode berikut::" msgid "__all__ = [\"echo\", \"surround\", \"reverse\"]" msgstr "" msgid "" "This would mean that ``from sound.effects import *`` would import the three " "named submodules of the :mod:`!sound.effects` package." msgstr "" msgid "" "Be aware that submodules might become shadowed by locally defined names. For " "example, if you added a ``reverse`` function to the :file:`sound/effects/" "__init__.py` file, the ``from sound.effects import *`` would only import the " "two submodules ``echo`` and ``surround``, but *not* the ``reverse`` " "submodule, because it is shadowed by the locally defined ``reverse`` " "function::" msgstr "" msgid "" "__all__ = [\n" " \"echo\", # refers to the 'echo.py' file\n" " \"surround\", # refers to the 'surround.py' file\n" " \"reverse\", # !!! refers to the 'reverse' function now !!!\n" "]\n" "\n" "def reverse(msg: str): # <-- this name shadows the 'reverse.py' submodule\n" " return msg[::-1] # in the case of a 'from sound.effects import *'" msgstr "" msgid "" "If ``__all__`` is not defined, the statement ``from sound.effects import *`` " "does *not* import all submodules from the package :mod:`!sound.effects` into " "the current namespace; it only ensures that the package :mod:`!" "sound.effects` has been imported (possibly running any initialization code " "in :file:`__init__.py`) and then imports whatever names are defined in the " "package. This includes any names defined (and submodules explicitly loaded) " "by :file:`__init__.py`. It also includes any submodules of the package that " "were explicitly loaded by previous :keyword:`import` statements. Consider " "this code::" msgstr "" msgid "" "import sound.effects.echo\n" "import sound.effects.surround\n" "from sound.effects import *" msgstr "" msgid "" "In this example, the :mod:`!echo` and :mod:`!surround` modules are imported " "in the current namespace because they are defined in the :mod:`!" "sound.effects` package when the ``from...import`` statement is executed. " "(This also works when ``__all__`` is defined.)" msgstr "" msgid "" "Although certain modules are designed to export only names that follow " "certain patterns when you use ``import *``, it is still considered bad " "practice in production code." msgstr "" "Meskipun modul-modul tertentu dirancang hanya untuk mengekspor nama-nama " "yang mengikuti pola tertentu ketika Anda menggunakan ``import *``, itu masih " "dianggap praktik buruk dalam lingkungan kode produksi *production*." msgid "" "Remember, there is nothing wrong with using ``from package import " "specific_submodule``! In fact, this is the recommended notation unless the " "importing module needs to use submodules with the same name from different " "packages." msgstr "" "Ingat, tidak ada yang salah dengan menggunakan ``from package import " "specific_submodule``! Sebenarnya, ini adalah notasi yang disarankan kecuali " "modul impor perlu menggunakan submodul dengan nama yang sama dari paket yang " "berbeda." msgid "Intra-package References" msgstr "Referensi Intra-paket" msgid "" "When packages are structured into subpackages (as with the :mod:`!sound` " "package in the example), you can use absolute imports to refer to submodules " "of siblings packages. For example, if the module :mod:`!" "sound.filters.vocoder` needs to use the :mod:`!echo` module in the :mod:`!" "sound.effects` package, it can use ``from sound.effects import echo``." msgstr "" msgid "" "You can also write relative imports, with the ``from module import name`` " "form of import statement. These imports use leading dots to indicate the " "current and parent packages involved in the relative import. From " "the :mod:`!surround` module for example, you might use::" msgstr "" msgid "" "from . import echo\n" "from .. import formats\n" "from ..filters import equalizer" msgstr "" msgid "" "Note that relative imports are based on the name of the current module's " "package. Since the main module does not have a package, modules intended for " "use as the main module of a Python application must always use absolute " "imports." msgstr "" msgid "Footnotes" msgstr "Catatan kaki" msgid "" "In fact function definitions are also 'statements' that are 'executed'; the " "execution of a module-level function definition adds the function name to " "the module's global namespace." msgstr "" msgid "module" msgstr "modul" msgid "search" msgstr "" msgid "path" msgstr "" msgid "sys" msgstr "sys" msgid "builtins" msgstr "builtins" msgid "__all__" msgstr "__all__" |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |