{"id":86,"date":"2026-08-06T00:27:52","date_gmt":"2026-08-05T16:27:52","guid":{"rendered":"https:\/\/ltrainyard.icu\/?p=86"},"modified":"2026-08-06T00:43:05","modified_gmt":"2026-08-05T16:43:05","slug":"day-10-%e6%a8%a1%e5%9d%97%e4%b8%8e%e5%8c%85%ef%bc%9aimport%e3%80%81%e6%a0%87%e5%87%86%e5%ba%93%e4%b8%8e%e8%87%aa%e5%ae%9a%e4%b9%89%e6%a8%a1%e5%9d%97","status":"publish","type":"post","link":"https:\/\/ltrainyard.icu\/index.php\/2026\/08\/06\/day-10-%e6%a8%a1%e5%9d%97%e4%b8%8e%e5%8c%85%ef%bc%9aimport%e3%80%81%e6%a0%87%e5%87%86%e5%ba%93%e4%b8%8e%e8%87%aa%e5%ae%9a%e4%b9%89%e6%a8%a1%e5%9d%97\/","title":{"rendered":"| Day 10 | \u6a21\u5757\u4e0e\u5305\uff1aimport\u3001\u6807\u51c6\u5e93\u4e0e\u81ea\u5b9a\u4e49\u6a21\u5757 |"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">1 \u6a21\u5757\u7684\u672c\u8d28 \u2014\u2014 .py \u6587\u4ef6\u5c31\u662f\u6a21\u5757<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u5b66\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6a21\u5757<\/strong>\uff08module\uff09\u5c31\u662f\u4e00\u4e2a <code>.py<\/code> \u6587\u4ef6\uff0c\u6587\u4ef6\u91cc\u5199\u7684\u51fd\u6570\u3001\u53d8\u91cf\u3001\u7c7b\u90fd\u53ef\u4ee5\u88ab\u5176\u4ed6\u6587\u4ef6\u5bfc\u5165\u4f7f\u7528\u3002\u5b83\u662f Python \u7ec4\u7ec7\u4ee3\u7801\u7684\u6700\u5c0f\u5355\u4f4d\uff1a<strong>\u590d\u7528<\/strong>\uff08\u5199\u4e00\u6b21\u5230\u5904\u7528\uff09\u3001<strong>\u9694\u79bb<\/strong>\uff08\u6bcf\u4e2a\u6587\u4ef6\u53ea\u7ba1\u4e00\u4ef6\u4e8b\uff09\u3001<strong>\u534f\u4f5c<\/strong>\uff08\u591a\u4eba\u5404\u5199\u5404\u7684\u6587\u4ef6\uff09\u3002\u5230\u6628\u5929\u4e3a\u6b62\uff0c\u6240\u6709\u4ee3\u7801\u90fd\u662f\u300c\u4e00\u4e2a\u6587\u4ef6\u4ece\u5934\u5199\u5230\u5c3e\u300d\uff1b\u771f\u5b9e\u9879\u76ee\u52a8\u8f84\u51e0\u5343\u4e0a\u4e07\u884c\uff0c\u5168\u5806\u5728\u4e00\u4e2a\u6587\u4ef6\u91cc\u6ca1\u6cd5\u7ef4\u62a4\u2014\u2014\u6a21\u5757\u5c31\u662f\u628a\u4ee3\u7801\u6309\u529f\u80fd\u62c6\u6210\u4e00\u4e2a\u4e2a\u6587\u4ef6\uff0c\u9700\u8981\u65f6\u5bfc\u5165\u4f7f\u7528\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e95\u5c42\u539f\u7406<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import math<\/code> \u80cc\u540e\u505a\u4e86\u4e09\u4ef6\u4e8b\uff1a\u2460 <strong>\u627e\u5230<\/strong> <code>math.py<\/code> \u6587\u4ef6\uff08\u6309 sys.path \u91cc\u7684\u76ee\u5f55\u987a\u5e8f\u67e5\u627e\uff09\uff1b\u2461 <strong>\u6267\u884c<\/strong> \u6574\u4e2a\u6587\u4ef6\uff08\u6a21\u5757\u9876\u5c42\u7684\u4ee3\u7801\u4f1a\u771f\u5b9e\u8fd0\u884c\u4e00\u904d\uff09\uff1b\u2462 \u628a\u6a21\u5757\u5bf9\u8c61<strong>\u7ed1\u5b9a<\/strong>\u5230\u540d\u5b57 <code>math<\/code> \u4e0a\u3002\u4e4b\u540e <code>math.sqrt<\/code> \u5c31\u662f\u300c\u4ece math \u8fd9\u4e2a\u6a21\u5757\u5bf9\u8c61\u91cc\u53d6 sqrt \u5c5e\u6027\u300d\u3002\u6bcf\u4e2a\u6a21\u5757\u53ea\u88ab\u5b8c\u6574\u6267\u884c\u4e00\u6b21\uff0c\u4e4b\u540e\u90fd\u4ece <code>sys.modules<\/code> \u7f13\u5b58\u91cc\u76f4\u63a5\u53d6\u2014\u2014\u6240\u4ee5\u5bfc\u5165\u591a\u6b21\u4e0d\u4f1a\u91cd\u590d\u6267\u884c\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u751f\u6d3b\u7c7b\u6bd4<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6a21\u5757\u50cf<strong>\u96f6\u4ef6\u4ed3\u5e93\u91cc\u7684\u8d27\u67b6<\/strong>\uff1a\u6bcf\u4e2a\u8d27\u67b6\uff08.py \u6587\u4ef6\uff09\u4e0a\u6574\u6574\u9f50\u9f50\u6446\u7740\u4e00\u7c7b\u96f6\u4ef6\uff08\u51fd\u6570\u3001\u53d8\u91cf\uff09\uff0c\u8d27\u67b6\u4e0a\u6709\u6807\u7b7e\uff08\u6a21\u5757\u540d\uff09\u3002\u4f60\u60f3\u7528\u300c\u5e73\u65b9\u6839\u300d\u8fd9\u4e2a\u96f6\u4ef6\uff0c\u5c31\u53bb <code>math<\/code> \u8d27\u67b6\u53d6\uff1a<code>math.sqrt<\/code>\u3002\u96f6\u4ef6\u653e\u4ed3\u5e93\u91cc\uff0c\u8c01\u9700\u8981\u8c01\u6765\u53d6\uff0c\u4e0d\u7528\u6bcf\u4e2a\u8f66\u95f4\uff08\u6587\u4ef6\uff09\u90fd\u81ea\u5df1\u9020\u4e00\u904d\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\u4e8b\u9879\u603b\u7ed3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 <strong>\u6a21\u5757\u662f\u4e00\u4e2a\u5bf9\u8c61\uff0c\u7528\u300c\u6a21\u5757\u540d.\u540d\u5b57\u300d\u53d6\u91cc\u9762\u7684\u4e1c\u897f<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import math\nprint(type(math))        # \u6a21\u5757\u7684\u7c7b\u578b\u662f module\nprint(math.sqrt(81))     # \u4ece math \u91cc\u53d6 sqrt \u51fd\u6570\u6765\u7528\nprint(math.pi)           # \u4ece math \u91cc\u53d6\u53d8\u91cf pi\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;class 'module'&gt;\n9.0\n3.141592653589793\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6a21\u5757\u91cc\u4e0d\u4ec5\u6709\u51fd\u6570\uff0c\u8fd8\u6709 <code>pi<\/code> \u8fd9\u6837\u7684\u5e38\u91cf\u53d8\u91cf\u2014\u2014\u5b83\u4eec\u7edf\u4e00\u53eb\u6a21\u5757\u7684\u300c\u540d\u5b57\u300d\uff08name\uff09\u3002\u62ff\u5230\u4e0d\u719f\u6089\u7684\u6a21\u5757\u65f6\uff0c\u53ef\u4ee5\u7528 <code>dir(\u6a21\u5757)<\/code> \u5217\u51fa\u5168\u90e8\u540d\u5b57\u3001\u7528 <code>hasattr(\u6a21\u5757, \"\u540d\u5b57\")<\/code> \u9a8c\u8bc1\u662f\u5426\u5b58\u5728\u2014\u2014\u8fd9\u4e24\u4e2a\u662f\u300c\u63a2\u7d22\u6a21\u5757\u300d\u7684\u4e07\u80fd\u94a5\u5319\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2 <strong>\u6bcf\u4e2a\u6a21\u5757\u53ea\u6267\u884c\u4e00\u6b21\u2014\u2014\u5bfc\u5165\u591a\u6b21\u4e0d\u4f1a\u91cd\u590d\u52a0\u8f7d<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import sys\nimport math\nprint(\"\u7b2c\u4e00\u6b21\u5bfc\u5165\u540e\uff1a\", \"math\" in sys.modules)\nimport math                      # \u518d\u5bfc\u5165\u4e00\u6b21\uff0c\u4e0d\u4f1a\u91cd\u65b0\u6267\u884c math \u6587\u4ef6\nprint(\"math \u8fd8\u662f\u540c\u4e00\u4e2a\u5bf9\u8c61\uff1a\", sys.modules&#91;\"math\"] is math)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u7b2c\u4e00\u6b21\u5bfc\u5165\u540e\uff1a True\nmath \u8fd8\u662f\u540c\u4e00\u4e2a\u5bf9\u8c61\uff1a True\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sys.modules<\/code> \u662f\u300c\u5df2\u5bfc\u5165\u6a21\u5757\u7684\u7f13\u5b58\u5b57\u5178\u300d\u3002\u4efb\u4f55\u5730\u65b9\u518d <code>import math<\/code>\uff0cPython \u76f4\u63a5\u4ece\u7f13\u5b58\u53d6\uff0c<strong>\u4e0d\u4f1a\u91cd\u65b0\u6267\u884c<\/strong>\u2014\u2014\u6a21\u5757\u5bfc\u5165\u662f\u300c\u5355\u4f8b\u300d\u7684\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6613\u9519\u70b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>import mathh<\/code>\uff08\u62fc\u5199\u9519\u8bef\uff09 \u2192 \u95ee\u9898\uff1a\u62a5 <code>ModuleNotFoundError: No module named 'mathh'<\/code> \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u68c0\u67e5\u6a21\u5757\u540d\u62fc\u5199\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a\u53ea <code>import math<\/code> \u5374\u76f4\u63a5\u5199 <code>sqrt(16)<\/code> \u2192 \u95ee\u9898\uff1a\u62a5 <code>NameError<\/code>\uff0csqrt \u4e0d\u5728\u5f53\u524d\u547d\u540d\u7a7a\u95f4 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u5199 <code>math.sqrt(16)<\/code>\uff08\u5e26\u6a21\u5757\u540d\u524d\u7f00\uff09\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a\u81ea\u5df1\u5efa\u4e86\u4e2a\u53eb <code>math.py<\/code> \u7684\u6587\u4ef6 \u2192 \u95ee\u9898\uff1a\u4f60\u7684\u6587\u4ef6\u4f1a\u300c\u9876\u6389\u300d\u6807\u51c6\u5e93 math\uff0c\u884c\u4e3a\u5168\u4e71 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u81ea\u5b9a\u4e49\u6587\u4ef6\u4e0d\u8981\u7528\u6807\u51c6\u5e93\u6a21\u5757\u540d\u547d\u540d\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8bb0\u5fc6\u53e3\u8bc0<\/strong>\uff1a\u6a21\u5757\u5c31\u662f .py\uff0cimport \u4e09\u8fde\uff1a\u627e\u5230\u3001\u6267\u884c\u3001\u7ed1\u540d\u5b57\uff1b\u53ea\u8dd1\u4e00\u6b21\u8fdb\u7f13\u5b58\uff0c\u6a21\u5757\u540d\u524d\u7f00\u522b\u5fd8\u5199\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2 import \u7684\u4e24\u79cd\u59ff\u52bf \u2014\u2014 \u6574\u6a21\u5757\u5bfc\u5165 vs \u7cbe\u51c6\u5bfc\u5165<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u5b66\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import math<\/code> \u5bfc\u5165\u6574\u4e2a\u6a21\u5757\uff08\u8981\u7528 <code>math.<\/code> \u524d\u7f00\uff09\uff1b<code>from math import sqrt<\/code> \u53ea\u628a\u67d0\u4e2a\u540d\u5b57\u300c\u590d\u5236\u300d\u8fdb\u5f53\u524d\u6587\u4ef6\uff08\u76f4\u63a5\u7528\uff09\u3002\u52a0\u4e0a <code>as<\/code> \u522b\u540d\u53ef\u4ee5\u7ed9\u957f\u540d\u5b57\u8d77\u77ed\u540d\u3002\u4e09\u79cd\u59ff\u52bf\u5404\u6709\u9002\u7528\u573a\u666f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e95\u5c42\u539f\u7406<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import math<\/code> \u662f\u628a\u6a21\u5757\u5bf9\u8c61\u7ed1\u5b9a\u5230 <code>math<\/code> \u8fd9\u4e2a\u540d\u5b57\uff1b<code>from math import sqrt<\/code> \u5219\u662f\u300c\u4ece math \u5bf9\u8c61\u91cc\u53d6\u51fa sqrt \u5c5e\u6027\uff0c\u7ed1\u5b9a\u5230\u5f53\u524d\u6a21\u5757\u7684 sqrt \u540d\u5b57\u300d\u2014\u2014\u76f8\u5f53\u4e8e\u4e00\u6b21\u300c\u590d\u5236\u5f15\u7528\u300d\u3002\u6240\u4ee5\u4e4b\u540e\u76f4\u63a5\u7528 <code>sqrt<\/code> \u5c31\u884c\uff0c\u4f46 <code>math<\/code> \u8fd9\u4e2a\u540d\u5b57\u672c\u8eab\u6ca1\u6709\u7ed1\u5b9a\uff0c\u5199 <code>math.sqrt<\/code> \u4f1a NameError\u3002<code>import math as m<\/code> \u53ea\u662f\u628a\u6a21\u5757\u5bf9\u8c61\u7ed1\u5b9a\u5230\u540d\u5b57 m \u4e0a\uff08<code>as<\/code> = alias\uff0c\u522b\u540d\uff09\u3002\u8981\u6ce8\u610f\uff1afrom \u5bfc\u5165\u5982\u679c\u548c\u4f60\u5df2\u6709\u7684\u53d8\u91cf\u540c\u540d\uff0c\u4f1a<strong>\u8986\u76d6<\/strong>\u4f60\u7684\u53d8\u91cf\u2014\u2014\u8fd9\u662f\u5b83\u6700\u5927\u7684\u5751\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u751f\u6d3b\u7c7b\u6bd4<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e24\u79cd\u59ff\u52bf\u50cf<strong>\u8d85\u5e02\u8d2d\u7269<\/strong>\uff1a<code>import math<\/code> \u662f\u628a<strong>\u6574\u4e2a\u8d85\u5e02<\/strong>\u642c\u56de\u5bb6\uff0c\u5bb6\u91cc\u591a\u4e86\u300cmath \u8d85\u5e02\u300d\uff0c\u62ff\u4e1c\u897f\u8981\u5199\u300c\u53bb math \u8d85\u5e02\u62ff sqrt\u300d\uff1b<code>from math import sqrt<\/code> \u662f\u53ea<strong>\u4e70\u8d70 sqrt \u8fd9\u4e00\u4e2a\u5546\u54c1<\/strong>\uff0c\u56de\u5bb6\u76f4\u63a5\u7528\uff0c\u4f46\u5bb6\u91cc\u5e76\u6ca1\u6709\u300cmath \u8d85\u5e02\u300d\u8fd9\u4e2a\u540d\u5b57\u3002<code>as<\/code> \u5219\u50cf\u7ed9\u4e70\u56de\u6765\u7684\u4e1c\u897f\u8d34\u4e2a\u81ea\u5df1\u7684\u6807\u7b7e\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\u4e8b\u9879\u603b\u7ed3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 <strong>from \u5bfc\u5165\u4f1a\u8986\u76d6\u540c\u540d\u53d8\u91cf\uff08\u91cd\u8981\u5751\uff01\uff09<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sqrt = 100                     # 1. \u81ea\u5df1\u5148\u5b9a\u4e49\u4e86\u4e00\u4e2a\u53d8\u91cf sqrt\nfrom math import sqrt          # 2. from \u5bfc\u5165\u628a sqrt \u8986\u76d6\u6210\u4e86 math \u7684\u51fd\u6570\n\nprint(sqrt)                    # \u73b0\u5728 sqrt \u662f\u51fd\u6570\uff0c\u4e0d\u518d\u662f 100\nprint(sqrt(16))                # \u53ef\u4ee5\u5f53\u51fd\u6570\u7528\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;built-in function sqrt&gt;\n4.0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>from math import sqrt<\/code> \u628a sqrt \u8fd9\u4e2a\u540d\u5b57<strong>\u91cd\u65b0\u7ed1\u5b9a<\/strong>\u5230 math.sqrt \u51fd\u6570\u4e0a\uff0c\u539f\u6765\u7684 100 \u88ab\u8986\u76d6\u4e22\u5931\u3002\u8fd9\u89e3\u91ca\u4e86\u4e3a\u4ec0\u4e48\u56e2\u961f\u89c4\u8303\u63a8\u8350\u591a\u7528 <code>import math<\/code> \u5f62\u5f0f\u2014\u2014\u524d\u7f00\u80fd\u907f\u514d\u8fd9\u79cd\u300c\u540d\u5b57\u88ab\u6084\u6084\u8986\u76d6\u300d\u7684\u610f\u5916\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2 <strong>as \u522b\u540d\u2014\u2014\u7ed9\u540d\u5b57\u8d77\u77ed\u540d<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import random as r              # \u6a21\u5757\u8d77\u522b\u540d\nfrom math import sqrt as s      # \u51fd\u6570\u8d77\u522b\u540d\n\nprint(s(144))                   # \u7528\u522b\u540d\u8c03\u7528\nprint(r.randint(1, 3))          # 1~3 \u968f\u673a\u6574\u6570\uff08\u6bcf\u6b21\u8fd0\u884c\u53ef\u80fd\u4e0d\u540c\uff09\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>12.0\n2\uff08\u6bcf\u6b21\u8fd0\u884c\u7ed3\u679c\u53ef\u80fd\u4e0d\u540c\uff09\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u957f\u6a21\u5757\u540d\uff08\u5982 <code>import numpy as np<\/code>\uff09\u6216\u91cd\u540d\u51b2\u7a81\u65f6\u7279\u522b\u597d\u7528\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6613\u9519\u70b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>from math import sqrt<\/code> \u540e\u53c8\u5199 <code>math.sqrt(9)<\/code> \u2192 \u95ee\u9898\uff1a\u62a5 <code>NameError: name 'math' is not defined<\/code> \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u7528 from \u5bfc\u5165\u5c31\u7528\u88f8\u540d\u5b57\uff1b\u60f3\u5199 math. \u524d\u7f00\u5c31\u7528 import math\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>from math import *<\/code> \u2192 \u95ee\u9898\uff1a\u628a math \u6240\u6709\u540d\u5b57\u585e\u8fdb\u6765\uff0c\u53ef\u80fd\u8986\u76d6\u4f60\u7684\u53d8\u91cf\uff0c\u56e2\u961f\u89c4\u8303\u7981\u6b62 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u660e\u786e\u5bfc\u5165\u9700\u8981\u7684\u540d\u5b57\uff1a<code>from math import sqrt, pi<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8bb0\u5fc6\u53e3\u8bc0<\/strong>\uff1aimport \u6574\u6a21\u5757\uff0c\u524d\u7f00\u6765\u8bbf\u95ee\uff1bfrom \u7cbe\u51c6\u62ff\uff0c\u88f8\u540d\u76f4\u63a5\u7528\uff1bas \u8d77\u522b\u540d\uff0c\u8986\u76d6\u8981\u63d0\u9632\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3 \u6807\u51c6\u5e93\u5b9e\u6218 \u2014\u2014 math \/ random \/ os \/ sys \u56db\u5927\u91d1\u521a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u5b66\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6807\u51c6\u5e93\u662f Python \u81ea\u5e26\u7684\u300c\u767e\u5b9d\u7bb1\u300d\uff0c\u88c5\u4e86\u51e0\u767e\u4e2a\u73b0\u6210\u6a21\u5757\u3002\u4eca\u5929\u5148\u8ba4\u8bc6\u6700\u5e38\u7528\u7684\u56db\u4e2a\uff1a<strong>math<\/strong>\uff08\u6570\u5b66\u8ba1\u7b97\uff09\u3001<strong>random<\/strong>\uff08\u968f\u673a\u6570\uff09\u3001<strong>os<\/strong>\uff08\u64cd\u4f5c\u7cfb\u7edf\uff09\u3001<strong>sys<\/strong>\uff08\u7cfb\u7edf\u53c2\u6570\uff09\u3002\u5b66\u4f1a\u7528\u6807\u51c6\u5e93\uff0c\u662f\u300c\u4e0d\u91cd\u590d\u9020\u8f6e\u5b50\u300d\u7684\u7b2c\u4e00\u6b65\u2014\u2014\u4f60\u8981\u7684\u529f\u80fd\uff0c\u5927\u6982\u7387\u522b\u4eba\u5df2\u7ecf\u5199\u597d\u4e86\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e95\u5c42\u539f\u7406<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6807\u51c6\u5e93\u6a21\u5757\u90fd\u662f C \u6216 Python \u5199\u7684\u3001\u968f Python \u4e00\u8d77\u5b89\u88c5\u7684\u73b0\u6210\u4ee3\u7801\u3002\u5b83\u4eec\u4e0e\u666e\u901a\u6a21\u5757\u7684\u5bfc\u5165\u673a\u5236\u5b8c\u5168\u4e00\u6837\uff1a\u6309 sys.path \u67e5\u627e\u3001\u6267\u884c\u3001\u7ed1\u5b9a\u540d\u5b57\u3002math \u91cc\u7684\u51fd\u6570\uff08\u5982 sqrt\uff09\u7528 C \u5b9e\u73b0\uff0c\u6bd4 Python \u624b\u5199\u5feb\u51e0\u5341\u4e0a\u767e\u500d\uff1brandom \u7528\u300c\u6885\u68ee\u65cb\u8f6c\u300d\u7b97\u6cd5\u751f\u6210\u4f2a\u968f\u673a\u6570\uff08\u4ece\u79cd\u5b50\u51fa\u53d1\uff0c\u770b\u8d77\u6765\u968f\u673a\u4f46\u53ef\u590d\u73b0\uff09\uff1bos \u5c01\u88c5\u4e86\u64cd\u4f5c\u7cfb\u7edf\u7684 API\uff1bsys \u76f4\u63a5\u66b4\u9732\u89e3\u91ca\u5668\u8fd0\u884c\u72b6\u6001\uff08\u7248\u672c\u3001\u53c2\u6570\u3001\u8def\u5f84\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u751f\u6d3b\u7c7b\u6bd4<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6807\u51c6\u5e93\u50cf<strong>\u5b9c\u5bb6\u7684\u6837\u677f\u95f4<\/strong>\uff1a\u4f60\u4e0d\u9700\u8981\u4ece\u96f6\u8bbe\u8ba1\u5bb6\u5177\uff0c\u6837\u677f\u95f4\u91cc\u5168\u662f\u88c5\u597d\u7684\u65b9\u6848\u2014\u2014<code>math<\/code> \u662f\u8ba1\u7b97\u5668\u67dc\u53f0\uff0c<code>random<\/code> \u662f\u62bd\u5956\u8f6c\u76d8\u67dc\u53f0\uff0c<code>os<\/code> \u662f\u7269\u4e1a\u529e\u516c\u5ba4\uff08\u7ba1\u76ee\u5f55\u3001\u7ba1\u8def\u5f84\uff09\uff0c<code>sys<\/code> \u662f\u524d\u53f0\u670d\u52a1\u53f0\uff08\u544a\u8bc9\u4f60\u672c\u673a\u4fe1\u606f\uff09\u3002\u9700\u8981\u4ec0\u4e48\u529f\u80fd\uff0c\u76f4\u63a5\u53bb\u5bf9\u5e94\u67dc\u53f0\u53d6\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\u4e8b\u9879\u603b\u7ed3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 <strong>math\u2014\u2014\u6570\u5b66\u8ba1\u7b97<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import math\nprint(math.sqrt(144))       # \u5e73\u65b9\u6839\uff1a12.0\nprint(math.fabs(-7))        # \u7edd\u5bf9\u503c\uff1a7.0\nprint(math.pow(2, 10))      # 2 \u7684 10 \u6b21\u65b9\uff1a1024.0\nprint(math.factorial(5))    # \u9636\u4e58\uff1a120\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">2 <strong>random\u2014\u2014\u968f\u673a\u6570<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import random\nprint(random.randint(1, 6))     # 1~6 \u7684\u968f\u673a\u6574\u6570\nprint(random.choice(&#91;\"\u77f3\u5934\", \"\u526a\u5200\", \"\u5e03\"]))   # \u4ece\u5217\u8868\u968f\u673a\u9009\u4e00\u4e2a\nprint(round(random.random(), 4))    # 0~1 \u4e4b\u95f4\u7684\u968f\u673a\u5c0f\u6570\uff08\u4fdd\u7559 4 \u4f4d\uff09\nnums = &#91;1, 2, 3, 4, 5]\nrandom.shuffle(nums)             # \u539f\u5730\u6253\u4e71\u5217\u8868\u987a\u5e8f\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff08\u6bcf\u6b21\u8fd0\u884c\u4e0d\u540c\uff0c\u793a\u4f8b\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>5\n\u526a\u5200\n0.6374\n&#91;3, 5, 1, 4, 2]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3 <strong>os\u2014\u2014\u64cd\u4f5c\u7cfb\u7edf<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\nprint(os.path.join(\"data\", \"notes\", \"hello.txt\"))   # \u62fc\u63a5\u8def\u5f84\nprint(os.path.exists(\"hello.txt\"))                   # \u6587\u4ef6\u662f\u5426\u5b58\u5728\nprint(os.getcwd())                                   # \u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff08Windows \u793a\u4f8b\uff1bgetcwd \u53d6\u51b3\u4e8e\u8fd0\u884c\u76ee\u5f55\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data\\notes\\hello.txt\nFalse\nC:\\Users\\...\\Temp\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>os.path.join<\/code> \u6309\u5f53\u524d\u7cfb\u7edf\u7684\u4e60\u60ef\u62fc\u63a5\u8def\u5f84\uff08Windows \u7528 <code>\\<\/code>\u3001Linux\/macOS \u7528 <code>\/<\/code>\uff09\uff0c\u8de8\u5e73\u53f0\u4e0d\u62a5\u9519\u2014\u2014\u6587\u4ef6\u76f8\u5173\u7684\u7a0b\u5e8f\u51e0\u4e4e\u90fd\u8981\u7528\u5230 os\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4 <strong>sys\u2014\u2014\u7cfb\u7edf\u53c2\u6570<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import sys\nprint(sys.version)          # Python \u7248\u672c\u53f7\nprint(sys.argv)             # \u547d\u4ee4\u884c\u53c2\u6570\u5217\u8868\uff08\u8fd0\u884c\u811a\u672c\u65f6\u4f20\u5165\uff09\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c <code>python test.py a b<\/code> \u65f6\uff0c<code>sys.argv<\/code> \u662f <code>['test.py', 'a', 'b']<\/code>\u2014\u2014\u4e0b\u6807 0 \u662f\u811a\u672c\u672c\u8eab\uff0c\u53c2\u6570\u4ece\u4e0b\u6807 1 \u5f00\u59cb\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6613\u9519\u70b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>random.random()<\/code> \u60f3\u8981 1<del>6 \u7684\u6574\u6570 \u2192 \u95ee\u9898\uff1a\u5f97\u5230\u7684\u662f 0<\/del>1 \u7684\u5c0f\u6570 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u6574\u6570\u968f\u673a\u7528 <code>random.randint(1, 6)<\/code>\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>math.sqrt(\"16\")<\/code> \u4f20\u5b57\u7b26\u4e32 \u2192 \u95ee\u9898\uff1a\u62a5 <code>TypeError<\/code>\uff0c\u6570\u5b66\u51fd\u6570\u53ea\u63a5\u53d7\u6570\u5b57 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u5148\u8f6c\u6570\u5b57\uff1a<code>math.sqrt(int(\"16\"))<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8bb0\u5fc6\u53e3\u8bc0<\/strong>\uff1amath \u7b97\u6570\uff0crandom \u968f\u673a\uff0cos \u7ba1\u7cfb\u7edf\uff0csys \u67e5\u81ea\u5df1\uff1b\u6807\u51c6\u5e93\u5e38\u67e5\u6587\u6863\uff0c\u4e0d\u9020\u8f6e\u5b50\u7701\u529b\u6c14\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4 \u81ea\u5b9a\u4e49\u6a21\u5757\u4e0e <strong>name<\/strong> \u9b54\u6cd5 \u2014\u2014 \u5199\u81ea\u5df1\u7684 .py \u6587\u4ef6<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u5b66\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u81ea\u5df1\u5199\u7684 <code>.py<\/code> \u6587\u4ef6\u5c31\u662f\u81ea\u5b9a\u4e49\u6a21\u5757\uff0c\u653e\u5728\u540c\u4e00\u76ee\u5f55\u5373\u53ef\u88ab\u5bfc\u5165\u3002\u4f46\u76f4\u63a5\u8fd0\u884c\u548c\u88ab\u5bfc\u5165\u65f6\uff0c\u6587\u4ef6\u7684\u884c\u4e3a\u5e94\u8be5\u4e0d\u540c\uff1a\u88ab\u5bfc\u5165\u65f6\u4e0d\u8be5\u6267\u884c\u300c\u6d4b\u8bd5\u4ee3\u7801\u300d\u3002<code>if __name__ == \"__main__\":<\/code> \u5c31\u662f\u533a\u5206\u300c\u76f4\u63a5\u8fd0\u884c \/ \u88ab\u5bfc\u5165\u300d\u7684\u6807\u51c6\u5199\u6cd5\u2014\u2014\u6bcf\u4e2a Python \u6587\u4ef6\u7684\u6807\u51c6\u7ed3\u5c3e\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e95\u5c42\u539f\u7406<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Python \u6267\u884c\u4efb\u4f55\u6587\u4ef6\u65f6\u90fd\u4f1a\u7ed9\u5b83\u8bbe\u7f6e\u4e00\u4e2a\u5185\u7f6e\u53d8\u91cf <code>__name__<\/code>\uff1a<strong>\u76f4\u63a5\u8fd0\u884c<\/strong>\u65f6\u503c\u662f\u5b57\u7b26\u4e32 <code>\"__main__\"<\/code>\uff1b<strong>\u88ab import \u5bfc\u5165<\/strong>\u65f6\u503c\u662f<strong>\u6a21\u5757\u540d<\/strong>\uff08\u5982 <code>\"my_tools\"<\/code>\uff09\u3002\u6240\u4ee5 <code>if __name__ == \"__main__\":<\/code> \u7684\u610f\u601d\u662f\u300c\u53ea\u6709\u5f53\u6211\u88ab\u76f4\u63a5\u8fd0\u884c\u65f6\u624d\u6267\u884c\u8fd9\u6bb5\u4ee3\u7801\u300d\u3002\u88ab\u5bfc\u5165\u65f6\u6761\u4ef6\u4e3a\u5047\uff0c\u6d4b\u8bd5\u4ee3\u7801\u81ea\u7136\u8df3\u8fc7\u2014\u2014\u540c\u4e00\u4e2a\u6587\u4ef6\uff0c\u4e24\u79cd\u8eab\u4efd\uff0c\u4e00\u5957\u5224\u65ad\u641e\u5b9a\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u751f\u6d3b\u7c7b\u6bd4<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>__name__<\/code> \u50cf<strong>\u5458\u5de5\u5de5\u724c\u4e0a\u7684\u300c\u503c\u73ed\u8eab\u4efd\u300d<\/strong>\uff1a\u767d\u5929\u4e0a\u73ed\uff08\u88ab\u5bfc\u5165\uff09\u65f6\uff0c\u80f8\u724c\u5199\u7684\u662f\u300c\u90e8\u95e8-\u5c97\u4f4d\u300d\uff08\u6a21\u5757\u540d\uff09\uff0c\u53ea\u5e72\u672c\u804c\u5de5\u4f5c\uff1b\u4e0b\u73ed\u56de\u5bb6\uff08\u76f4\u63a5\u8fd0\u884c\uff09\u65f6\uff0c\u8eab\u4efd\u662f\u300c\u4e3b\u4eba\u300d\uff08<code>__main__<\/code>\uff09\uff0c\u53ef\u4ee5\u505a\u81ea\u6211\u68c0\u67e5\uff08\u8fd0\u884c\u6d4b\u8bd5\u4ee3\u7801\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\u4e8b\u9879\u603b\u7ed3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 <strong>\u81ea\u5b9a\u4e49\u6a21\u5757 my_tools.py\uff08\u65b0\u5efa\u8fd9\u4e2a\u6587\u4ef6\uff09<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def add(a, b):\n    \"\"\"\u4e24\u6570\u76f8\u52a0\"\"\"\n    return a + b\n\n\ndef is_even(n):\n    \"\"\"\u5224\u65ad n \u662f\u5426\u4e3a\u5076\u6570\"\"\"\n    return n % 2 == 0\n\n\nPI = 3.14159\n\nif __name__ == \"__main__\":\n    # \u53ea\u6709\u76f4\u63a5\u8fd0\u884c my_tools.py \u65f6\u624d\u6267\u884c\u4e0b\u9762\u7684\u81ea\u6d4b\n    print(\"\u81ea\u6d4b add(1, 2)\uff1a\", add(1, 2))\n    print(\"\u81ea\u6d4b is_even(4)\uff1a\", is_even(4))\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">2 <strong>use_tools.py\uff08\u4e0e my_tools.py \u653e\u540c\u4e00\u76ee\u5f55\uff09\u2014\u2014\u5bfc\u5165\u5e76\u4f7f\u7528<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import my_tools\nfrom my_tools import is_even, PI\n\nprint(my_tools.add(3, 5))     # \u7528\u6a21\u5757\u540d\u524d\u7f00\u8bbf\u95ee\nprint(is_even(10))            # \u76f4\u63a5\u7528\u5bfc\u5165\u7684\u540d\u5b57\nprint(PI)                     # \u5bfc\u5165\u7684\u5e38\u91cf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>8\nTrue\n3.14159\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import my_tools<\/code> \u65f6\uff0cPython \u4f1a\u6267\u884c my_tools.py \u6587\u4ef6\u2014\u2014\u4f46 <code>__name__<\/code> \u6b64\u65f6\u662f <code>\"my_tools\"<\/code> \u800c\u4e0d\u662f <code>\"__main__\"<\/code>\uff0c\u6240\u4ee5\u81ea\u6d4b\u4ee3\u7801<strong>\u4e0d\u4f1a<\/strong>\u6267\u884c\u3002\u4e24\u4e2a\u6587\u4ef6\u5fc5\u987b\u653e\u5728<strong>\u540c\u4e00\u4e2a\u76ee\u5f55<\/strong>\u4e0b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6613\u9519\u70b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9519\u8bef\u5199\u6cd5\uff1a\u6d4b\u8bd5\u4ee3\u7801\u76f4\u63a5\u5199\u5728\u6587\u4ef6\u9876\u5c42 \u2192 \u95ee\u9898\uff1a\u88ab import \u65f6\u6d4b\u8bd5\u4ee3\u7801\u4e5f\u6267\u884c\uff0c\u5c4f\u5e55\u4e0a\u4e71\u6253\u4e1c\u897f \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u6d4b\u8bd5\u4ee3\u7801\u5168\u90e8\u653e\u8fdb <code>if __name__ == \"__main__\":<\/code>\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>if __name__ == \"main\":<\/code>\uff08\u5c11\u4e86\u53cc\u4e0b\u5212\u7ebf\uff09 \u2192 \u95ee\u9898\uff1a\u6761\u4ef6\u6c38\u8fdc\u4e3a\u5047\uff0c\u76f4\u63a5\u8fd0\u884c\u65f6\u81ea\u6d4b\u4e0d\u6267\u884c \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u5199\u5168\uff1a<code>if __name__ == \"__main__\":<\/code>\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a\u81ea\u5b9a\u4e49\u6a21\u5757\u6ca1\u653e\u5728\u5f53\u524d\u76ee\u5f55 \u2192 \u95ee\u9898\uff1a\u62a5 <code>ModuleNotFoundError<\/code> \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u88ab\u5bfc\u5165\u6587\u4ef6\u4e0e\u4f7f\u7528\u6587\u4ef6\u653e\u540c\u4e00\u76ee\u5f55\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8bb0\u5fc6\u53e3\u8bc0<\/strong>\uff1a\u76f4\u63a5\u8fd0\u884c __main__\uff0c\u88ab\u5bfc\u6a21\u5757\u540d\uff1b\u6d4b\u8bd5\u653e\u8fdb\u53e3\u5224\u65ad\uff0c\u4e00\u4e2a\u6587\u4ef6\u4e24\u79cd\u8eab\u4efd\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5 \u5305 \u2014\u2014 \u628a\u6a21\u5757\u88c5\u8fdb\u6587\u4ef6\u5939<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u5b66\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5305<\/strong>\uff08package\uff09\u662f<strong>\u5e26 <code>__init__.py<\/code> \u7684\u6587\u4ef6\u5939<\/strong>\uff0c\u7528\u6765\u7ec4\u7ec7\u591a\u4e2a\u76f8\u5173\u6a21\u5757\u3002\u6a21\u5757\u4e00\u591a\uff0c\u5168\u5e73\u94fa\u5728\u76ee\u5f55\u91cc\u4f1a\u4e71\uff1b\u5305\u8ba9\u4f60\u7528\u300c\u5305\u540d.\u6a21\u5757\u540d\u300d\u5206\u5c42\u7ba1\u7406\uff0c\u5c31\u50cf\u6587\u4ef6\u5939\u5957\u6587\u4ef6\u5939\u3002\u771f\u5b9e\u9879\u76ee\uff08Django\u3001Flask \u90fd\u662f\u51e0\u5341\u4e0a\u767e\u4e2a\u6a21\u5757\uff09\u5168\u9760\u5305\u6765\u7ec4\u7ec7\uff0c\u4eca\u5929\u5148\u5efa\u7acb\u6982\u5ff5\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e95\u5c42\u539f\u7406<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Python \u628a\u300c\u542b <code>__init__.py<\/code> \u7684\u6587\u4ef6\u5939\u300d\u5f53\u4f5c\u5305\uff1a\u5bfc\u5165 <code>mypkg.tools<\/code> \u65f6\uff0c\u5148\u6267\u884c <code>mypkg\/__init__.py<\/code>\uff08\u53ef\u653e\u5305\u7ea7\u521d\u59cb\u5316\u4ee3\u7801\uff0c\u4e5f\u53ef\u4e3a\u7a7a\uff09\uff0c\u518d\u6267\u884c <code>mypkg\/tools.py<\/code>\u3002<code>__init__.py<\/code> \u662f\u5305\u7684\u300c\u8eab\u4efd\u8bc1\u300d\u2014\u2014\u6709\u4e86\u5b83\uff0c\u6587\u4ef6\u5939\u624d\u80fd\u88ab\u5f53\u6210\u5305\u5bfc\u5165\u3002Python 3 \u8fd8\u652f\u6301\u300c\u547d\u540d\u7a7a\u95f4\u5305\u300d\uff08\u6ca1\u6709 <strong>init<\/strong>.py \u4e5f\u80fd\u5bfc\uff09\uff0c\u4f46\u89c4\u8303\u505a\u6cd5\u4ecd\u7136\u662f\u663e\u5f0f\u521b\u5efa <code>__init__.py<\/code>\u3002\u70b9\u53f7 <code>.<\/code> \u5728\u5bfc\u5165\u8bed\u53e5\u91cc\u5c31\u662f\u300c\u8fdb\u5165\u4e0b\u4e00\u5c42\u300d\u7684\u610f\u601d\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u751f\u6d3b\u7c7b\u6bd4<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5305\u50cf<strong>\u529e\u516c\u5ba4\u7684\u6587\u4ef6\u67dc<\/strong>\uff1a\u6a21\u5757\u662f\u67dc\u5b50\u91cc\u7684\u6587\u4ef6\u5939\uff0c\u5305\u662f<strong>\u5e26\u6807\u7b7e\u7684\u67dc\u5b50<\/strong>\uff08\u6807\u7b7e\u5c31\u662f <code>__init__.py<\/code>\uff09\u3002\u627e\u6587\u4ef6\u65f6\u5148\u627e\u5230\u67dc\u5b50\uff08\u5305\u540d\uff09\uff0c\u518d\u627e\u6587\u4ef6\u5939\uff08\u6a21\u5757\u540d\uff09\uff1a\u300c\u8d22\u52a1\u67dc.\u62a5\u9500\u5355\u300d= <code>mypkg.tools<\/code>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\u4e8b\u9879\u603b\u7ed3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 <strong>\u6807\u51c6\u5e93\u91cc\u7684\u300c\u5305\u300d\u2014\u2014xml \u5c31\u662f\u4e00\u4e2a\u5305<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import xml\nprint(type(xml))                       # xml \u662f\u5305\uff0c\u672c\u8d28\u4e5f\u662f\u6a21\u5757\nprint(\"\u672a\u5bfc\u5165\u65f6\u6709\u6ca1\u6709 etree\uff1a\", hasattr(xml, \"etree\"))   # \u5b50\u6a21\u5757\u4e0d\u4f1a\u81ea\u52a8\u52a0\u8f7d\n\nimport xml.etree.ElementTree as ET     # \u5305\u540d.\u6a21\u5757\u540d.\u7c7b\u540d\uff0c\u5206\u5c42\u5bfc\u5165\nroot = ET.fromstring(\"&lt;name&gt;Python&lt;\/name&gt;\")\nprint(root.tag, root.text)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;class 'module'&gt;\n\u672a\u5bfc\u5165\u65f6\u6709\u6ca1\u6709 etree\uff1a False\nname Python\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>import xml<\/code> \u53ea\u52a0\u8f7d\u5305\u672c\u8eab\uff0c\u5b50\u6a21\u5757 <code>etree<\/code> \u4e0d\u4f1a\u81ea\u52a8\u52a0\u8f7d\uff08\u6240\u4ee5 hasattr \u662f False\uff09\uff1b<code>import xml.etree.ElementTree as ET<\/code> \u7528\u70b9\u53f7\u4e00\u5c42\u5c42\u8fdb\u5230\u5177\u4f53\u6a21\u5757\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2 <strong>\u5efa\u5305\u7684\u76ee\u5f55\u7ed3\u6784<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mypkg\/                # \u5305\uff1a\u4e00\u4e2a\u6587\u4ef6\u5939\n  __init__.py         # \u5305\u7684\u6807\u5fd7\u6587\u4ef6\uff08\u53ef\u4ee5\u662f\u7a7a\u6587\u4ef6\uff09\n  tools.py            # \u6a21\u5757 1\n  data.py             # \u6a21\u5757 2\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>import mypkg.tools          # \u7528 \u5305\u540d.\u6a21\u5757\u540d \u5bfc\u5165\nfrom mypkg import data      # \u4e5f\u53ef\u4ee5\u8fd9\u6837\nfrom mypkg.tools import add # \u6216\u76f4\u63a5\u5bfc\u5165\u6a21\u5757\u91cc\u7684\u51fd\u6570\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6613\u9519\u70b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9519\u8bef\u5199\u6cd5\uff1a\u5fd8\u4e86\u5efa <code>__init__.py<\/code> \u2192 \u95ee\u9898\uff1a\u8001\u7248\u672c Python \u65e0\u6cd5\u5bfc\u5165\u8be5\u6587\u4ef6\u5939\uff083.3+ \u6709\u517c\u5bb9\u4f46\u4e0d\u7b26\u5408\u89c4\u8303\uff09 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u6bcf\u4e2a\u5305\u6587\u4ef6\u5939\u91cc\u90fd\u653e\u4e00\u4e2a <code>__init__.py<\/code>\uff08\u53ef\u7a7a\uff09\u3002<\/li>\n\n\n\n<li>\u9519\u8bef\u5199\u6cd5\uff1a<code>import mypkg.tools<\/code> \u540e\u76f4\u63a5\u5199 <code>tools.add(1, 2)<\/code> \u2192 \u95ee\u9898\uff1a\u62a5 <code>NameError<\/code>\uff0ctools \u6ca1\u7ed1\u5b9a\u5230\u5f53\u524d\u547d\u540d\u7a7a\u95f4 \u2192 \u6b63\u786e\u5199\u6cd5\uff1a\u7528\u5168\u540d <code>mypkg.tools.add(1, 2)<\/code>\uff0c\u6216 <code>from mypkg import tools<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8bb0\u5fc6\u53e3\u8bc0<\/strong>\uff1a\u5305\u662f\u6587\u4ef6\u5939\uff0c\u5e26\u8bc1 __init__\uff1b\u70b9\u53f7\u8fdb\u5c42\u7ea7\uff0c\u5305\u540d\u70b9\u6a21\u5757\uff1b\u5b50\u6a21\u5757\u4e0d\u81ea\u52a8\uff0c\u5bfc\u5165\u624d\u52a0\u8f7d\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6 \u52a8\u624b\u5b9e\u8df5\uff1a\u968f\u673a\u5bc6\u7801\u751f\u6210\u5668<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u628a\u4eca\u5929\u5b66\u7684 <code>random<\/code>\u3001\u81ea\u5b9a\u4e49\u6a21\u5757\u3001\u51fd\u6570\u7ec4\u5408\u8d77\u6765\uff1a\u505a\u4e00\u4e2a\u5bc6\u7801\u751f\u6210\u5668\uff0c\u53ef\u4ee5\u6307\u5b9a\u957f\u5ea6\u548c\u662f\u5426\u5305\u542b\u6570\u5b57\u3001\u5927\u5c0f\u5199\u3001\u7279\u6b8a\u7b26\u53f7\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u968f\u673a\u5bc6\u7801\u751f\u6210\u5668\nimport random\nimport string\n\n\ndef generate_password(length=12, use_digits=True, use_special=True):\n    \"\"\"\u751f\u6210\u957f\u5ea6\u4e3a length \u7684\u968f\u673a\u5bc6\u7801\n\n    \u53c2\u6570\uff1a\n        length:     \u5bc6\u7801\u957f\u5ea6\n        use_digits: \u662f\u5426\u5305\u542b\u6570\u5b57\n        use_special: \u662f\u5426\u5305\u542b\u7279\u6b8a\u7b26\u53f7\n    \"\"\"\n    chars = string.ascii_letters          # \u6240\u6709\u5927\u5c0f\u5199\u5b57\u6bcd\n    if use_digits:\n        chars = chars + string.digits     # \u52a0\u4e0a\u6570\u5b57\n    if use_special:\n        chars = chars + string.punctuation  # \u52a0\u4e0a\u7279\u6b8a\u7b26\u53f7\n\n    password = \"\"\n    for i in range(length):\n        password = password + random.choice(chars)\n    return password\n\n\nif __name__ == \"__main__\":\n    print(\"\u9ed8\u8ba4\u5bc6\u7801\uff0812\u4f4d\uff0c\u542b\u6570\u5b57\u548c\u7b26\u53f7\uff09\uff1a\", generate_password())\n    print(\"\u7eaf\u5b57\u6bcd\u5bc6\u7801\uff088\u4f4d\uff09\uff1a\", generate_password(8, False, False))\n    print(\"\u542b\u6570\u5b57\u4e0d\u542b\u7b26\u53f7\uff0816\u4f4d\uff09\uff1a\", generate_password(16, True, False))\n    print(\"\u5f88\u957f\u7684\u5bc6\u7801\uff0820\u4f4d\uff09\uff1a\", generate_password(20))\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u7ed3\u679c\uff08\u6bcf\u6b21\u4e0d\u540c\uff0c\u793a\u4f8b\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u9ed8\u8ba4\u5bc6\u7801\uff0812\u4f4d\uff0c\u542b\u6570\u5b57\u548c\u7b26\u53f7\uff09\uff1a G7&amp;kL#q2@xWp\n\u7eaf\u5b57\u6bcd\u5bc6\u7801\uff088\u4f4d\uff09\uff1a QwErTyUi\n\u542b\u6570\u5b57\u4e0d\u542b\u7b26\u53f7\uff0816\u4f4d\uff09\uff1a A1b2C3d4E5f6G7h8\n\u5f88\u957f\u7684\u5bc6\u7801\uff0820\u4f4d\uff09\uff1a !xZ9&amp;vB3@kL5#nP7*qW2\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b8c\u6210\u6807\u51c6<\/strong>\uff1a\u8fd0\u884c\u540e\u80fd\u770b\u5230 4 \u79cd\u4e0d\u540c\u89c4\u5219\u7684\u5bc6\u7801\uff1b\u4fee\u6539 <code>generate_password<\/code> \u7684\u9ed8\u8ba4\u53c2\u6570\uff0c\u518d\u751f\u6210\u300c\u53ea\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u957f\u5ea6 6\u300d\u7684\u5bc6\u7801\u3002\u60f3\u4e00\u60f3\uff1a<code>string<\/code> \u662f\u6807\u51c6\u5e93\uff0c<code>string.ascii_letters<\/code>\u3001<code>string.digits<\/code>\u3001<code>string.punctuation<\/code> \u5206\u522b\u662f\u4ec0\u4e48\uff0c\u7528 <code>print<\/code> \u770b\u4e00\u770b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4eca\u65e5\u603b\u7ed3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6a21\u5757\u662f\u4ec0\u4e48\uff1a<code>.py<\/code> \u6587\u4ef6\u5c31\u662f\u6a21\u5757\uff1b<code>import<\/code> \u4e09\u4ef6\u4e8b\u2014\u2014\u627e\u5230\u3001\u6267\u884c\u3001\u7ed1\u5b9a\u540d\u5b57\uff0c\u4e14\u53ea\u6267\u884c\u4e00\u6b21\uff08sys.modules \u7f13\u5b58\uff09\n<code>import \u6a21\u5757<\/code> \u7528 <code>\u6a21\u5757.\u540d\u5b57<\/code> \u8bbf\u95ee\uff1b<code>from \u6a21\u5757 import \u540d\u5b57<\/code> \u76f4\u63a5\u4f7f\u7528\uff1b<code>as<\/code> \u53ef\u8d77\u522b\u540d\uff1b<code>from ... import *<\/code> \u8981\u907f\u514d\n<code>from ... import ...<\/code> \u4f1a\u8986\u76d6\u540c\u540d\u53d8\u91cf\uff0c\u8fd9\u662f\u5b83\u6700\u5927\u7684\u5751\uff0c\u591a\u7528 <code>import \u6a21\u5757<\/code> \u66f4\u5b89\u5168\n\u6807\u51c6\u5e93\u56db\u5927\u91d1\u521a\uff1a<code>math<\/code> \u7b97\u6570\u5b66\u3001<code>random<\/code> \u9020\u968f\u673a\u3001<code>os<\/code> \u7ba1\u7cfb\u7edf\u3001<code>sys<\/code> \u67e5\u53c2\u6570\n\u81ea\u5b9a\u4e49\u6a21\u5757\u653e\u540c\u4e00\u76ee\u5f55\u5373\u53ef\u5bfc\u5165\uff1b\u6d4b\u8bd5\u4ee3\u7801\u653e <code>if __name__ == \"__main__\":<\/code> \u91cc\uff0c\u76f4\u63a5\u8fd0\u884c\u624d\u6267\u884c\u3001\u88ab\u5bfc\u5165\u4e0d\u6267\u884c\n\u5305 = \u5e26 <code>__init__.py<\/code> \u7684\u6587\u4ef6\u5939\uff0c\u7528\u70b9\u53f7\u5206\u5c42\u5bfc\u5165\uff1b\u5b50\u6a21\u5757\u4e0d\u4f1a\u81ea\u52a8\u52a0\u8f7d\n\u5b8c\u6210\u968f\u673a\u5bc6\u7801\u751f\u6210\u5668\uff0c\u5e76\u5c1d\u8bd5\u6539\u53c2\u6570\u751f\u6210\u4e0d\u540c\u89c4\u5219\u7684\u5bc6\u7801<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u62a5\u9519<\/th><th>\u539f\u56e0<\/th><th>\u4fee\u590d<\/th><\/tr><\/thead><tbody><tr><td><code>ModuleNotFoundError: No module named 'xxx'<\/code><\/td><td>\u6a21\u5757\u4e0d\u5b58\u5728\u3001\u6ca1\u5b89\u88c5\uff0c\u6216\u81ea\u5b9a\u4e49\u6a21\u5757\u4e0d\u5728\u540c\u4e00\u76ee\u5f55<\/td><td>\u68c0\u67e5\u540d\u5b57\u62fc\u5199\uff1b\u81ea\u5b9a\u4e49\u6a21\u5757\u653e\u5728\u5f53\u524d\u76ee\u5f55\uff1b\u7b2c\u4e09\u65b9\u5e93\u7528 pip \u5b89\u88c5<\/td><\/tr><tr><td><code>AttributeError: module 'xxx' has no attribute 'yyy'<\/code><\/td><td>\u6a21\u5757\u91cc\u6ca1\u6709\u8fd9\u4e2a\u51fd\u6570\/\u5c5e\u6027<\/td><td>\u68c0\u67e5\u51fd\u6570\u540d\u62fc\u5199\uff1b\u7528 <code>dir(\u6a21\u5757)<\/code> \u770b\u6a21\u5757\u91cc\u6709\u4ec0\u4e48<\/td><\/tr><tr><td><code>ImportError: cannot import name 'xxx'<\/code><\/td><td>from \u5bfc\u5165\u7684\u540d\u5b57\u5728\u6a21\u5757\u91cc\u4e0d\u5b58\u5728<\/td><td>\u786e\u8ba4\u6a21\u5757\u91cc\u786e\u5b9e\u5b9a\u4e49\u4e86\u8be5\u540d\u5b57<\/td><\/tr><tr><td><code>NameError: name 'math' is not defined<\/code><\/td><td>\u7528\u4e86 <code>math.xxx<\/code> \u4f46\u53ea <code>from math import sqrt<\/code><\/td><td>\u7528 <code>import math<\/code> \u624d\u80fd\u5199 <code>math.xxx<\/code>\uff0c\u6216\u76f4\u63a5\u5bfc\u5165\u4f60\u8981\u7684\u51fd\u6570<\/td><\/tr><tr><td><code>RecursionError<\/code> \u6216\u884c\u4e3a\u5f02\u5e38\uff08\u5bfc\u5165\u65f6\u6253\u5370\u4e86\u6d4b\u8bd5\u8f93\u51fa\uff09<\/td><td>\u81ea\u5b9a\u4e49\u6a21\u5757\u91cc\u6d4b\u8bd5\u4ee3\u7801\u6ca1\u653e\u5728 <code>if __name__ == \"__main__\":<\/code> \u91cc<\/td><td>\u628a\u6d4b\u8bd5\u4ee3\u7801\u653e\u8fdb <code>if __name__ == \"__main__\":<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>1 \u6a21\u5757\u7684\u672c\u8d28 \u2014\u2014 .py \u6587\u4ef6\u5c31\u662f\u6a21\u5757 \u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u5b66\uff1f \u6a21\u5757\uff08module\uff09\u5c31\u662f\u4e00\u4e2a .py \u6587\u4ef6\uff0c\u6587 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[16,9],"tags":[],"class_list":["post-86","post","type-post","status-publish","format-standard","hentry","category-python","category-code-dev"],"_links":{"self":[{"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/posts\/86","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/comments?post=86"}],"version-history":[{"count":2,"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/posts\/86\/revisions"}],"predecessor-version":[{"id":139,"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/posts\/86\/revisions\/139"}],"wp:attachment":[{"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/media?parent=86"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/categories?post=86"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ltrainyard.icu\/index.php\/wp-json\/wp\/v2\/tags?post=86"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}