[{"data":1,"prerenderedAt":603},["ShallowReactive",2],{"content:\u002Fpost\u002Fpython-1":3,"surround:\u002Fpost\u002Fpython-1":592},{"id":4,"title":5,"body":6,"categories":569,"date":571,"description":572,"draft":573,"extension":574,"image":575,"meta":576,"navigation":578,"path":579,"permalink":575,"published":575,"readingTime":580,"recommend":575,"references":575,"seo":585,"sitemap":586,"stem":587,"tags":588,"type":589,"updated":590,"__hash__":591},"content\u002Fpost\u002Fpython-1.md","Python基础教程1",{"type":7,"value":8,"toc":544},"minimark",[9,17,21,24,27,30,36,39,42,47,89,93,123,127,170,174,177,184,194,197,200,203,217,220,226,229,235,238,241,244,247,253,256,262,265,272,278,284,287,290,294,306,312,330,336,339,350,353,359,362,368,372,375,395,399,402,413,418,421,428,434,441,447,454,460,463,469,480,486,492,495,498,504,507,512,515,518,521,535,538,541],[10,11,12,13],"p",{},"@",[14,15,16],"span",{},"toc",[18,19,20],"h2",{"id":20},"前言",[10,22,23],{},"好久没正式的做过教程了，今天突发奇想，根据菜鸟教程和我的理解写了本教程，如有错误请提出。教程内使用Python3。",[10,25,26],{},"这是教程的第一部分。",[18,28,29],{"id":29},"简介",[31,32,33],"blockquote",{},[10,34,35],{},"Python is a programming language that lets you work quickly and integrate systems more effectively.\nPython是一种编程语言，可以让您快速工作并更有效地集成系统。",[10,37,38],{},"Python 以简洁、易读的语法著称。支持面向对象、过程式和函数式编程范式。被广泛应用于 Web 开发、科学计算、人工智能等领域。不需要编译，可直接运行。",[18,40,41],{"id":41},"下载与安装",[43,44,46],"h4",{"id":45},"windows-平台","Windows 平台",[48,49,50,66,72,78],"ol",{},[51,52,53,57,58,65],"li",{},[54,55,56],"strong",{},"访问官方网站："," 前往 ",[59,60,64],"a",{"href":61,"rel":62},"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F",[63],"nofollow","Python 官方网站","。",[51,67,68,71],{},[54,69,70],{},"下载 Python 安装程序："," 在网站上找到最新版本的 Python，并选择对应的 Windows 安装程序（通常是 .exe 文件）。",[51,73,74,77],{},[54,75,76],{},"运行安装程序："," 双击下载的安装程序文件，按照提示完成安装。",[51,79,80,83,84,88],{},[54,81,82],{},"验证安装："," 打开命令提示符（在开始菜单中搜索“cmd”），输入 ",[85,86,87],"code",{"code":87},"python --version","，如果显示 Python 的版本号，则说明安装成功。",[43,90,92],{"id":91},"macos-平台","macOS 平台",[48,94,95,105,115],{},[51,96,97,100,101,104],{},[54,98,99],{},"使用 Homebrew 安装："," 如果你已经安装了 Homebrew，可以在终端中运行 ",[85,102,103],{"code":103},"brew install python"," 来安装 Python。",[51,106,107,110,111,114],{},[54,108,109],{},"手动安装："," 访问 ",[59,112,64],{"href":61,"rel":113},[63],"，下载 macOS 版本的安装程序，并按照提示进行安装。",[51,116,117,119,120,88],{},[54,118,82],{}," 打开终端，输入 ",[85,121,122],{"code":122},"python3 --version",[43,124,126],{"id":125},"linux-平台","Linux 平台",[48,128,129,155,164],{},[51,130,131,134,135],{},[54,132,133],{},"使用系统包管理器："," 大多数 Linux 发行版都包含 Python，默认安装在系统中。你可以使用包管理器（如 apt、yum、dnf 等）来安装。\n",[136,137,138,145],"ul",{},[51,139,140,141,144],{},"在 Debian\u002FUbuntu 上，可以运行 ",[85,142,143],{"code":143},"sudo apt-get install python3"," 来安装 Python 3。",[51,146,147,148,151,152,144],{},"在 CentOS\u002FRHEL 上，可以运行 ",[85,149,150],{"code":150},"sudo yum install python3"," 或 ",[85,153,154],{"code":154},"sudo dnf install python3",[51,156,157,159,160,163],{},[54,158,109],{}," 如果你想要安装其他版本或者最新版本的 Python，可以从 ",[59,161,64],{"href":61,"rel":162},[63]," 下载源代码并进行编译安装。",[51,165,166,119,168,88],{},[54,167,82],{},[85,169,122],{"code":122},[18,171,173],{"id":172},"python基础语法","Python基础语法",[43,175,176],{"id":176},"编码",[10,178,179,180,183],{},"默认情况下，Python 3 源码文件以 ",[54,181,182],{},"UTF-8"," 编码。你可以使用以下代码指定编码：",[185,186,191],"pre",{"className":187,"code":189,"language":190},[188],"language-text","# -*- coding: cp-1252 -*-\n","text",[85,192,189],{"__ignoreMap":193},"",[10,195,196],{},"代码的意思是使用Windows-1252 字符集中的字符编码。",[43,198,199],{"id":199},"标识符",[10,201,202],{},"标识符是在编程语言中用来标识变量、函数、类或其他用户定义的对象的名称。在Python中，标识符遵循以下规则：",[136,204,205,208,211,214],{},[51,206,207],{},"标识符可以是由字母（大小写均可）、数字和下划线组成的任意长度的字符序列，但不能以数字开头。",[51,209,210],{},"标识符不能是Python的关键字（如if、else、for等），也不能是内置函数或对象的名称。",[51,212,213],{},"标识符是区分大小写的，即大小写字母被视为不同的标识符。",[51,215,216],{},"一般情况下，使用有描述性的名称作为标识符，可以增强代码的可读性。",[10,218,219],{},"例如，在Python中，以下是有效的标识符：",[185,221,224],{"className":222,"code":223,"language":190},[188],"my_variable\nmyFunction\nMyClass\nvariable1\n_var\n",[85,225,223],{"__ignoreMap":193},[10,227,228],{},"而以下则是无效的标识符：",[185,230,233],{"className":231,"code":232,"language":190},[188],"1variable   # 以数字开头\nif          # 是Python的关键字\nfor         # 是Python的关键字\nmy-variable # 包含非法字符“-”\n",[85,234,232],{"__ignoreMap":193},[10,236,237],{},"那么，什么是Python关键字呢？",[43,239,240],{"id":240},"关键字",[10,242,243],{},"关键字也被称为保留字。Python 保留字是指被编程语言保留并具有特殊含义的单词或标识符。这些保留字用于表示语法结构、控制流程、定义变量等，在编写程序时不能用作普通标识符或变量名。",[10,245,246],{},"要查看 Python 中的保留字，可以使用 Python 的内置函数 keyword.kwlist。",[185,248,251],{"className":249,"code":250,"language":190},[188],"import keyword\nprint(keyword.kwlist)\n",[85,252,250],{"__ignoreMap":193},[10,254,255],{},"在3.12版本中，有以下保留字：",[185,257,260],{"className":258,"code":259,"language":190},[188],"['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']\n",[85,261,259],{"__ignoreMap":193},[43,263,264],{"id":264},"注释",[10,266,267,268,271],{},"在Python中，注释以",[85,269,270],{"code":270},"#","开头。",[185,273,276],{"className":274,"code":275,"language":190},[188],"# 我是注释\n# 我是第二个注释\nprint('Hello,world')\n",[85,277,275],{"__ignoreMap":193},[10,279,280,281,65],{},"运行结果为",[85,282,283],{"code":283},"Hello,world",[43,285,286],{"id":286},"行与缩进",[10,288,289],{},"在 Python 中，行与缩进的意义非常重要，它们直接影响了代码的结构和执行逻辑.",[291,292,293],"h5",{"id":293},"行的意义",[136,295,296,299],{},[51,297,298],{},"是语句的分隔： 在 Python 中，每行通常对应着一个语句，这意味着每行结束就是一个语句的结束。",[51,300,301,302,305],{},"多行语句： Python 使用反斜杠 ",[85,303,304],{"code":304},"\\"," 来表示一行语句延续到下一行，这样可以编写多行语句。",[185,307,310],{"className":308,"code":309,"language":190},[188],"# 多行语句示例\ntotal = 1 + \\\n        2 + \\\n        3\n",[85,311,309],{"__ignoreMap":193},[10,313,314,315,318,319,322,323,326,327,329],{},"在 ",[85,316,317],{"code":317},"[]",", ",[85,320,321],{"code":321},"{}",", 或 ",[85,324,325],{"code":325},"()"," 中的多行语句，不需要使用反斜杠 ",[85,328,304],{"code":304},"，例如：",[185,331,334],{"className":332,"code":333,"language":190},[188],"total = ['item_one', 'item_two', 'item_three',\n        'item_four', 'item_five']\n",[85,335,333],{"__ignoreMap":193},[291,337,338],{"id":338},"缩进的意义",[136,340,341,347],{},[51,342,343,344,346],{},"代码块的表示： Python 使用缩进来表示代码块的结构，相同缩进的语句被视为一个代码块。在其他编程语言中，常用大括号 ",[85,345,321],{"code":321}," 来表示代码块，而在 Python 中，缩进扮演了类似的角色。",[51,348,349],{},"语句块的执行： 缩进决定了代码的执行逻辑，Python 通过缩进来确定语句块的开始和结束。缩进的方式通常是使用空格或制表符，但在同一个代码块中必须保持一致。",[10,351,352],{},"缩进的空格数是可变的，但是同一个代码块的语句必须包含相同的缩进空格数。",[185,354,357],{"className":355,"code":356,"language":190},[188],"if a==1:\n    print (\"True\")\nelse:\n    print (\"False\")\n",[85,358,356],{"__ignoreMap":193},[10,360,361],{},"当最后一行语句缩进数的空格数不一致时，运行会出现错误。错误代码如下：",[185,363,366],{"className":364,"code":365,"language":190},[188],"if a==1:\n    print (\"test\")\n    print (\"True\")\nelse:\n    print (\"test\")   \n  print (\"False\")   #缩进不一致\n",[85,367,365],{"__ignoreMap":193},[43,369,371],{"id":370},"数字number类型","数字(Number)类型",[10,373,374],{},"在 Python 中，数字（Number）类型包括以下几种：",[136,376,377,380,383,386,389,392],{},[51,378,379],{},"整数（int）： 整数是不带小数点的数字，可以是正数、负数或零。例如：-10、0、42等。",[51,381,382],{},"浮点数（float）： 浮点数是带有小数点的数字，可以是正数、负数或零。例如：3.14、-0.001、2.0等。",[51,384,385],{},"复数（complex）： 复数是具有实部和虚部的数字，虚部用 j 或 J 表示。例如：3 + 4j、-2.5 + 1.7j等。",[51,387,388],{},"布尔型（bool）： 布尔型只有两个取值，即 True 和 False，用于表示逻辑真和逻辑假。",[51,390,391],{},"十进制（decimal）： 十进制是一种精确的十进制浮点数，适用于财务应用和其它需要精确计算的场合。",[51,393,394],{},"分数（Fraction）： 分数是 Python 提供的用于精确表示有理数的类型，用于表示分数形式的数字。",[43,396,398],{"id":397},"字符串string","字符串（String）",[10,400,401],{},"字符串（String）是 Python 中表示文本数据的数据类型，用于表示字符序列。字符串在 Python 中是不可变的，即创建后不能修改。",[10,403,404,405,408,409,412],{},"在 Python 中，字符串可以用单引号（",[85,406,407],{"code":407},"'","）或双引号（",[85,410,411],{"code":411},"\"","）括起来，例如 'hello' 或 \"world\"。",[31,414,415],{},[10,416,417],{},"以下内容由ChatGPT生成，仅供参考。",[10,419,420],{},"字符串的基本操作",[10,422,423,424,427],{},"字符串连接： 使用加号（",[85,425,426],{"code":426},"+","）可以将两个字符串连接起来。",[185,429,432],{"className":430,"code":431,"language":190},[188],"str1 = \"Hello\"\nstr2 = \"world\"\nresult = str1 + \" \" + str2\nprint(result)  # 输出：Hello world\n",[85,433,431],{"__ignoreMap":193},[10,435,436,437,440],{},"字符串重复： 使用乘号（",[85,438,439],{"code":439},"*","）可以重复一个字符串多次。",[185,442,445],{"className":443,"code":444,"language":190},[188],"str1 = \"Python\"\nresult = str1 * 3\nprint(result)  # 输出：PythonPythonPython\n",[85,446,444],{"__ignoreMap":193},[10,448,449,450,453],{},"获取字符串长度： 使用 ",[85,451,452],{"code":452},"len()"," 函数可以获取字符串的长度。",[185,455,458],{"className":456,"code":457,"language":190},[188],"str1 = \"Python\"\nlength = len(str1)\nprint(length)  # 输出：6\n",[85,459,457],{"__ignoreMap":193},[10,461,462],{},"索引和切片： 可以使用索引和切片来访问字符串中的字符或子串。",[185,464,467],{"className":465,"code":466,"language":190},[188],"str1 = \"Python\"\nprint(str1[0])     # 输出：P\nprint(str1[-1])    # 输出：n\nprint(str1[2:4])   # 输出：th\n",[85,468,466],{"__ignoreMap":193},[10,470,471,472,475,476,479],{},"字符串格式化： 使用字符串的 ",[85,473,474],{"code":474},"format()"," 方法或 ",[85,477,478],{"code":478},"f-string","（Python 3.6+）可以进行字符串格式化。",[185,481,484],{"className":482,"code":483,"language":190},[188],"name = \"Alice\"\nage = 30\nprint(\"My name is {} and I am {} years old.\".format(name, age))\n# 输出：My name is Alice and I am 30 years old.\n",[85,485,483],{"__ignoreMap":193},[185,487,490],{"className":488,"code":489,"language":190},[188],"# 或者使用 f-string\nprint(f\"My name is {name} and I am {age} years old.\")\n# 输出：My name is Alice and I am 30 years old.\n",[85,491,489],{"__ignoreMap":193},[10,493,494],{},"字符串常用方法",[10,496,497],{},"Python 中字符串类型提供了丰富的方法来操作字符串，常用方法包括：",[185,499,502],{"className":500,"code":501,"language":190},[188],"upper()：将字符串转换为大写。\nlower()：将字符串转换为小写。\nstrip()：去除字符串两端的空白字符。\nreplace(old, new)：将字符串中的旧子串替换为新子串。\nsplit(separator)：将字符串按指定分隔符分割成列表。\njoin(iterable)：将列表中的字符串连接成一个新的字符串。\nfind(substring)：查找子串在字符串中的第一个索引。\ncount(substring)：统计子串在字符串中出现的次数。\n",[85,503,501],{"__ignoreMap":193},[10,505,506],{},"等等。",[31,508,509],{},[10,510,511],{},"ChatGPT生成部分结束",[43,513,514],{"id":514},"空行",[10,516,517],{},"空行是指在代码中没有任何可见字符的行，即完全为空白的行。",[10,519,520],{},"在 Python 中，空行通常用于分隔不同的代码块或增加代码的可读性。空行在语法上不影响代码的执行，但可以使代码结构更清晰，易于阅读和维护。",[136,522,523,526,529,532],{},[51,524,525],{},"可以在函数之间或类之间添加空行来分隔不同的函数或类定义。",[51,527,528],{},"在代码逻辑的不同部分之间添加空行，可以提高代码的可读性。",[51,530,531],{},"在长代码行之间添加空行，也可以增加代码的可读性。",[51,533,534],{},"在文件的开头或结尾添加空行，能使代码更加整洁。",[10,536,537],{},"空行也是程序代码的一部分。",[539,540],"hr",{},[10,542,543],{},"教程第一部分完结。",{"title":193,"searchDepth":545,"depth":545,"links":546},4,[547,549,550,555],{"id":20,"depth":548,"text":20},2,{"id":29,"depth":548,"text":29},{"id":41,"depth":548,"text":41,"children":551},[552,553,554],{"id":45,"depth":545,"text":46},{"id":91,"depth":545,"text":92},{"id":125,"depth":545,"text":126},{"id":172,"depth":548,"text":173,"children":556},[557,558,559,560,561,566,567,568],{"id":176,"depth":545,"text":176},{"id":199,"depth":545,"text":199},{"id":240,"depth":545,"text":240},{"id":264,"depth":545,"text":264},{"id":286,"depth":545,"text":286,"children":562},[563,565],{"id":293,"depth":564,"text":293},5,{"id":338,"depth":564,"text":338},{"id":370,"depth":545,"text":371},{"id":397,"depth":545,"text":398},{"id":514,"depth":545,"text":514},[570],"开发","2024-08-31 21:04:00","本文是Python入门教程的第一部分，主要涵盖环境搭建与基础语法。教程首先介绍Python的特点（简洁、多范式、跨平台）及无需编译的特性，然后详细说明在Windows、macOS、Linux三大平台上的下载与安装方法，并……",false,"md",null,{"slots":577},{},true,"\u002Fpost\u002Fpython-1",{"text":581,"minutes":582,"time":583,"words":584},"12 min read",11.235,674100,2247,{"title":5,"description":572},{"loc":579},"post\u002Fpython-1",[],"tech","2026-07-27 17:00:07","dq5v6MfuGrMBIfOQknqhkFCm5ncQPHU0mtqWh9RpVg8",[593,598],{"title":594,"path":595,"stem":596,"date":597,"type":589,"children":-1},"HTML","\u002Fpost\u002Fhtml-css-quick-start","post\u002Fhtml-css-quick-start","2024-08-31 21:01:00",{"title":599,"path":600,"stem":601,"date":602,"type":589,"children":-1},"组件样式示例","\u002Fpost\u002Fgrammar","post\u002Fgrammar","2024-09-21 23:18:18",1793526966716]