Python编程:初入Python魔法世界

一、常量表达式

在编程中,常量指的是在程序执行期间其值不会改变的数据项。虽然 Python 并没有专门的语法来定义常量(不像某些其他语言如 Java 中有 final 关键字),但在实践中,我们通常通过约定俗成的方式来表示一个变量是一个“常量”:

示例:

# 算术表达式
a = 5 + 3 * 2  # 结果为 11,注意乘法优先于加法# 关系表达式
b = 10 > 5     # b 的值为 True# 逻辑表达式
c = (10 > 5) and (2 < 3)  # c 的值为 True
print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

  • 代码里的print() 是 Python 中的一个内置函数,用于将内容输出到终端(屏幕)上

它是我们最常用的调试工具之一,可以让我们看到程序运行时的中间结果、变量值、提示信息等。这个我们后续详谈

  • 可以使用+-*/()等运算符进行算术运算,先算乘除后算加减
  • 运算符和数字之间,可以没有空格,但是一般习惯上写一个空格(比较美观)
  1. 例如 1 + 2 - 3 这样是算式,在编程语言中被称为表达式,而运行后的结果,就是这个表达式的返回值
  2. 其中1,2,3这种被称为字面值常量, +-*/ 这种被称为运算符或者操作符

表达式的类型:

算术表达式:涉及数值及其运算符(如 +-*/)。

关系表达式:比较两个值(如 ==!=><)。

逻辑表达式:结合多个条件(如 andornot)。

这里注意一下,我们发现第三个表达式计算出来后是 1.66666666665,而不是1。而我们熟悉了c或者java的兄弟可能觉得很奇怪,其实在Python中得到的结果则是一个小数,更符合日常使用的直觉

例如:给定四个分数,65.5 , 89.0 , 12.9 , 32.2 ,编写代码,求这四个分数的平均数

print((65.5 + 89.0 + 12.9 + 32.2) / 4)

二、变量和类型

2.1 变量是啥?

有的时候,我们需要进行的计算可能会复杂一点,计算过程中需要把一些中间结果保存起来,那么这个时候就是通过变量这个东西

就例如我们现在要计算一个方差

  • 给四个数, 67.5 , 89.0 , 12.9 , 32.2,编写代码,求这四个数的方差
  • 方差计算过程:取每一项,减去平均值,计算平方,再求和,最后除以(项数 - 1)
  1. 计算这四个数的平均值
  2. 取每一项,减去平均值,计算平方,再求和  把最后的值给total
  3. 把total除以(项数 - 1)
  4. 将结果打印出来
avg = (67.5 + 89.0 + 12.9 + 32.2)/4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2
result = total / 3
print(result)

 注意:avg,total,result都是变量

**在python里面表示乘方运算。 **2就是平方

而变量可以视为是一块可以存放数据的一个空间,而这个空间是开辟在内存中过地方的

 想象内存是一个大仓库,有许多小格子,每个格子有唯一编号(地址)。当我们声明一个变量 int avg = 30;,计算机在仓库中找到一个空闲格子,放进去30,并记下标签“age”指向那个格子编号。(图上一个存放50.400000000000006)

2.2 变量的语法 

2.2.1 变量的定义

a = 10
//a是变量名。
// 10是值。   
//变量名+赋值运算符+值

创建变量非常简单:

  • a是变量名。当我们创建很多个变量的时候,大家的变量名要取一个有意义,例如你创建的变量是用来计数的,就可以取为count
  • = 为赋值运算符,表示把 = 右侧的数据放到 = 左侧空间中 ,注意,是由右向左

注意事项(规则):

  • 变量名由数字、字母、下划线构成
  • 数字不能开头
  • 变量名不能和“关键字重复”。例如:print 
  • 变量名大小写敏感。num和Num是两个不同的变量名

变量取名建议:

  • 变量名最好用有意义的单词来表示,就是我刚刚说的
  • 驼峰命名法(CamelCase):首个单词小写,后续单词首字母大写,如 $userName$(常用于Java、JavaScript)。
  • 蛇形命名法(snake_case):单词间用下划线连接,如 $user_name$(常用于Python、Ruby)。
  • 常量命名:全大写加下划线,如 $MAX_VALUE$。

2.2.2 变量的使用

读取变量的值:

a = 10
print(a)

 修改变量的值

a = 10
pritn(a)
#修改a
a = 20
print(a)

当然,我们也可以使用其他的变量来修改需要修改的值

a = 10
b = 20
a = b
print(a)
print(b)

一开始对变量a和b进行初始化,随后 a = b,将b的值赋给a,这样就把a的值给改变了!!! 

2.2.3 变量的类型 

变量里面存储的不仅仅是数字,还可以存储其他种类的数据,未来区分不同种类的数据,我们引入了“类型”这一概念。

注意:Python和C++/java等语言不同,Python的变量类型是不需要显示指定的,而是在赋值的时候确定的

例如c++和java

//在 C++ 和 Java 中,变量类型必须在定义时明确写出,否则编译器会报错int age = 20;         // 必须显式指定类型
string name = "Tom";

而Python: 

x = 10          # x 是整数
x = "Hello"     # x 变成字符串
x = [1, 2, 3]   # x 变成列表
2.2.3.1 整数
a = 10
print(type(a))

PS:pyte和print类似,也是Python内置的函数,pyte可以来查看一个变量的类型

这里注意一个点:Python的int类型变量,所表示的不是四个字节,而是 没有上限 的,只要内存足够大,理论上就可以表示无限大小的数组

2.2.3.2 浮点数
a = 0.5
print(type(a))

字符串需要用 ' (单引号)或者 " (双引号) ,被这两个符号所包围起来的就被称为字符串。可以用来表示文本

注意'hello'和"hello"是等价的

可以使用 len 函数来计算一个字符串的长度

a = 'hello'
print(len(a))

 

可以使用+针对两个字符串的拼接

a = "hello"
b = " world"
print(a+b)

a = "hello"
b = 1
print(a+b)

此处只是字符串相加,不能拿字符串和其他类型相加 

2.2.3.4 布尔

布尔类型是一个特殊的类型(用于逻辑判断),取值只有两种:True(真)和False(假)

PS:这里True(真)和False(假)必须是首字母大写的

而真假是什么?

例如:

女生每月会有生理期(真)

男士每月会有生理期(假)

a = True
print(type(a))
b = False
print(type(b))

 三、变量类型的意义

类型决定了数据在内存中占据多大内存空间

  • float类型在内存中占据8个字节
  • int 动态扩容
  • bool为一个字节

类型约定了能对这个变量做了什么样的工作

  • 例如int / float 类型的变量,可以进行+ - * / 等操作
  • 而str类型的变量,只能进行+(并且行为是字符串拼接),不能进行 - * / ,但是还能使用len等其他操作 

四、动态类型特性 

在Python中,一个变量是什么类型,是可以在"程序运行"过程中发生变化的(也就是变量类型是可以改变的)。这个特性称为“动态类型”

a = 10
print(type(a))
a = 'hello'
print(type(a))

大家注意,程序执行过程中,a的类型从int变为str了,而这是在c++/Java中是不行的

  • 静态类型

程序运行时,变量的类型始终不变

  • 动态类型

程序运行时,变量的类型是可以改变的

一个编程语言,是否为动态类型,只取决于运行时,类型是否发生改变,不取决于变量定义的时候是否声明类型

当然了,动态类型是一把双刃剑

  • 对于中小型程序,他能大大节约代码量 
  • 对于大型程序,则提高了模块之间交互的成本(A提供的代码很难被B看懂)

其实这就是为什么很多公司一开始使用Python语言来完成项目,而后期又要针对原来的代码用其他语言重构

 五、注释

在编程中,注释就是写在代码中、给程序员看的“说明文字”。它不会被 Python 解释器执行,也就是说,计算机不会运行注释里的内容,但它是写给人看的

5.1 注释的作用

注释的作用

  • 解释代码:让别人(或未来的你)更容易理解代码的意图。
  • 调试代码:暂时屏蔽某段代码,方便调试。
  • 文档说明:在大型项目中,注释可以作为文档的一部分,说明函数、类或模块的功能。
  • 协作沟通:多人协作时,注释可以说明你为什么这样写代码。

5.2 注释的方式

5.2.1.单行注释

使用 # 符号,从 # 开始到这一行的末尾都会被当作注释。

# 这是一个打印语句,输出“你好,Python!”
print("你好,Python!")

5.2.2 多行注释(块注释)

虽然 Python 没有专门的多行注释语法,但我们可以使用三引号 '''""" 来实现多行注释:

'''
这是一个多行注释的例子。
你可以在这里写很多行说明。
这些内容不会被执行。
'''
print("多行注释演示")

注意:严格来说,三引号是字符串,如果它没有被赋值给变量,也不会被运行,因此可以当作注释使用。但在某些上下文中,它可能作为文档字符串(docstring)使用,我们后面会专门讲解。

5.2.3 注释的使用规范 

 注释的使用规范(建议):

类型写法示例
单行注释# 注释内容# 计算两个数的和
行末注释代码 # 注释x = 5 # 设置初始值
多行注释''' 注释内容 ''' 或 """ 注释内容 """
"""
这是一个函数说明:
输入两个参数,返回它们的和。
"""

5.2.4 优秀注释的例子 

注释写得好,代码更清晰!

# 定义两个变量
a = 3
b = 4# 计算平方和
c = a**2 + b**2# 输出结果
print(c)

对比没有注释的版本: 

a = 3
b = 4
c = a**2 + b**2
print(c)

你觉得哪种更容易理解呢?没错,加上注释之后,即使是一个新接触这段代码的人,也能迅速理解每一行代码的目的。

六、输入输出

6.1 和用户交用

  • 用户把消息传递给程序的过程,称为"输入"
  • 用户把结果展示给用户的过程,称为"输出"

输入输出的最基本方法就是控制台:用户通过控制台输入一些字符串,程序再通过控制台打印一些字符串

vs code运行程序的时候,下方弹出的窗口就是控制台

Mac OS自带的终端,也可以视为控制台

输入输出的最常见方法是图形化界面。我们平常对于电脑的操作基本都是图形化界面 

6.2 通过控制台输出

Python使用print函数输出到控制台

print('hello')

不仅可以输出一个字符串,还可以输出一个其他类型的变量

a = 10
print(a)
b = True
print(b)

  

更多的时候,我们希望能够输出的内容是混合了字符串的变量

例如:输出num = 10

num = 10
print(f'num = {num}')

  注意:这里的 f'num = {num}' 是一种格式化字符串,使用{}来嵌入变量或表达式

例如:

#格式化字符串
a = 10
#希望数字和字符串混在一起
print(f'a = {a + 10}')

6.3 通过控制台输入

Python使用input函数输入,从控制台读取用户的输入

# 通过控制台输入
num = 0
num = input('请输入一个整数:')
print(f'你输入的整数是{num}')

当我们在控制台输入10,再按回车,就运行完成

注意:

  • input的参数相当于一个"提示信息",也可以没有
  • input的返回值就是用户输入的内容,是字符串类型 

 下面这个代码大家想想会输出什么?两数相加吗?

a = input('请输入一个整数:')
b = input('请输入二个整数:')print(f'a + b = {a + b}')

答案显而易见:此处的结果是字符串的连接而不是算术运算

那我们该怎么进行算术运算呢:转换类型

a = input('请输入一个整数:')
b = input('请输入二个整数:')a = int(a)
b = int(b)print(f'a + b = {a + b}')

小练习:输入5个小数,求5个小数的平均值

a = input('请输入一个整数:')
b = input('请输入二个整数:')
c = input('请输入三个整数:')
d = input('请输入四个整数:')
e = input('请输入五个整数:')a = int(a)
b = int(b)
c = int(c)
d = int(d)
e = int(e)avg = (a + b + c + d + e)/5
print(f'平均值: {avg}')


七、运算符

7.1 算术运算符

+ - * / % ** // 这种进行算术运算的运算符,称为算术运算符

算术规则:先算乘方,然后是乘除,最后是加减。如果运算过程中想修改默认的运行程序,就需要加上“()”

注意1:/中不能用0作为除数。否则会抛出异常

print(10/0)

 注意2 :整数/整数结果可能是小数,而不会截断

print(1/2)

 注意3:%不是“百分数”,而是求余数

print(7%2)

 关于求余数,有些同学容易蒙,其实这个就是我们小学学过的

7除以2,商3余1

注意4: **是乘方,不光能算整数次方,还可以算小数次方

print(4 ** 2)
print(4 ** 0.5)

注意5:  //是取整除法(也叫地板除)整数除以整数,结果还是整数(舍弃小数部分,并向下取整,不是四舍五入)

print(7 // 2)
print(-7 // 2)

7.2 关系运算符 

<  <=  >  >=   ==   !=  这一系列的运算符被称为关系运算符

  • <= 是"小于等于"
  • >= 是"大于等于"
  • == 是"等于"
  • != 是"不等于"

7.2.1 如果关系符合,则返回Ture,如果不符合,返回False

a = 10
b = 20
print(a < b)
print(a <= b)
print(a < b)
print(a >= b)
print(a == b)
print(a != b)

7.2.2 关系运算符不光针对整数/浮点数进行比较,还能针对字符串进行比较

a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a < b)
print(a >= b)
print(a == b)
print(a != b)

注意: 

  • 直接使用 == 或者 != 即可对字符串内容判断是否相等
  • 字符串比较大小,规则是“字典序”

字典序:

一个随意单词,例如absorb,这个单词再字典里都是按照字母顺序排列,如果首个字母相同,就比较第二个字母

我们认为一个单词再字典上越靠前,就越小,越靠后,就越大

7.2.3 对于浮点数来说,不要使用==判断相等

print(0.1 + 0.2 = 0.3)

浮点数在计算机中的表示并不是精确的!在计算过程中,就很容易出现非常小的误差

print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)

可以看到 0.1+0.2 其实不是0.3,而是一个和0.3极其接近的0.30000000004

那么该如何操作来得到我们理想的0.3呢:做差来判定差值小于允许的误差范围

a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.0000001)

八、逻辑运算符 

8.1 and  or  not

 像 and、or、not 这一系列的运算符被称为 逻辑运算符

  • and:表并且,两侧操作数均为Ture,最终结果为Ture,否则为False(一假则假)
  • or:表或者,两侧操作数均为False,最终结果为False,否则为Ture(一真则真)
  • not:逻辑取反,操作数本身为Ture,则返回False,则返回Ture

a = 10
b = 20
c = 30print(a < b and b < c)
print(a < b and b > c)print(a > b or b > c)
print(a < b or b > c)print(not a < b)
print(not a > b)

另一种写法:我们可以把  print(a < b and b < c)  等价于 a < b < c

8.2 短路求值

和其他编程语言类似,Python也存在短路求值的规则

  • 关于and,如果左侧表达式为False,则整体一定为False,右侧表达式不再执行
  • 对于or , 如果左侧表达式为Ture,则整体一定为Ture,右侧表达式不再执行
print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)

 九、赋值运算符

9.1 = 的使用

= 表示赋值,这个我们已经用过很多次了

=除了基本的用法外,还可以同时针对多个变量进行复制

9.1.1 链式赋值

a = b = 10

9.1.2 多元赋值

a, b = 10, 20

9.1.3 小案例:交换两个变量

基于链式复制(基础写法):

a = 10
b = 20tmp = a
a = b
b = tmp
  • 先定义两个变量a,b
  • 将a的值赋给一个空变量
  • 再见b的值赋给a
  • 最后把空变量(这是存放的是a的值)赋给b

举个小例子:我们要将酱油和醋换一下,那这时候就一定要有个开瓶子暂时存放,让其中一个空出来,就例如让酱油空出来(酱油倒入tmp),这时候就可以把醋倒入酱油内

 

基于多元赋值:

a = 10
b = 20a , b = b , a

9.2 复合赋值运算符

Python还有一些 复合赋值运算符 ,例如:+=   -=   *=   /=   %=

a = 10
a = a+1
a += 1
print(a)

 a += 1 等价于 a = a+1


本节完 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90724.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android WorkManager 详解:高效管理后台任务

引言在现代移动应用开发中&#xff0c;后台任务处理是一个至关重要的功能。从同步数据到定期备份&#xff0c;从发送通知到处理耗时操作&#xff0c;后台任务无处不在。然而&#xff0c;Android系统对后台任务的限制越来越严格&#xff0c;开发者需要找到既高效又符合系统规范的…

MCU(微控制器)中的高电平与低电平?

MCU&#xff08;微控制器&#xff09;中的高电平与低电平&#xff1f; 在数字电路和MCU&#xff08;微控制器&#xff09;中&#xff0c;**高电平&#xff08;High Level&#xff09;和低电平&#xff08;Low Level&#xff09;**是两种基本的逻辑状态&#xff0c;用于表示二进…

前端项目下载发票pdf文件要求改文件名笔记

1、a链接&#xff08;修改失败&#xff0c;存在跨域&#xff09;<el-table-columnalignrightlabel"下载地址"width"200"><template slot-scope"{row}"><a :href"row.dataUrl" download"文件名">下载</…

Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)

一、List 概述List 是一个不可变的有序集合&#xff0c;一旦创建就不能修改其内容&#xff0c;即不能添加、删除、更改元素List 提供了丰富的操作函数来处理数据二、创建 List 1、基础创建 通过 listOf 函数创建&#xff08;推荐&#xff09; // 创建一个 List&#xff0c;包含…

HarmonyOS NEXT 系列之规范开发三方共享包

规范开发三方共享包〇、前言一、了解评分规则二、规范开发共享包1、规范开源协议名称写法2、将 oh-package.json5 文件补充完整3、补充 example 目录4、基本的 README 和 CHANGELOG三、ohpm 包的源码隔离特性〇、前言 对于开发者来说&#xff0c;对外发布代码制品&#xff0c;…

[电网备考]计算机组成与原理

计算机系统概述 计算机发展历程 从数据表示: 计算机可以分为数字计算机与模拟计算机 1946 第一台电子数字计算机 ENIAC 在宾夕法尼亚大学诞生,标志进入电子计算机时代时间计算机发展阶段1946-1958电子管计算机时代1958-1964晶体管计算机时代1964-1971集成电路计算机时代1971-至…

8.c语言指针

内存管理C语言中&#xff0c;栈内存&#xff08;局部变量&#xff09;自动分配/释放&#xff0c;静态区&#xff08;全局、静态变量&#xff09;编译时分配&#xff1b;堆内存需手动分配/释放&#xff0c;核心函数有3个&#xff1a;malloc函数原型&#xff1a;void* malloc(siz…

使用GPU训练模型

本文代码详解参考&#xff1a; 模型训练基础流程-CSDN博客 目录 为什么要用GPU训练模型 什么是CUDA 利用GPU训练—方式一(.cuda()) 利用GPU训练—方式二 (.to()) Google Colaboratory 为什么要用GPU训练模型 用 GPU 训练模型的核心原因是GPU 的硬件架构和计算特性&#…

Matlab学习笔记:自定义函数

MATLAB 学习笔记&#xff1a;自定义函数自定义函数是MATLAB编程的基础&#xff0c;它允许你将重复代码封装成可重用的模块&#xff0c;提高代码的可读性和效率。本笔记将覆盖所有重点知识点&#xff0c;包括语法细节、输入输出处理、函数文件管理、错误处理等。我会用自然易懂的…

【数学建模 | Matlab】二维绘图 和 三维绘图

- 第 115 篇 - Date: 2025 - 07 - 23 Author: 郑龙浩&#xff08;仟墨&#xff09; 续写上一篇&#xff0c;如下文章&#xff1a; 【数学建模|Matlab】Matlab「基础知识」和「基础操作」 五 二维绘图 1 举例 % 二维平面绘图&#xff08;扩展至 -2π 到 2π&#xff09; x …

MCP (Model Context Protocol) 与 HTTP API:大模型时代的通信新范式

MCP (Model Context Protocol) 与 HTTP API&#xff1a;大模型时代的通信新范式在数字世界的两端&#xff0c;API 扮演着不可或缺的桥梁角色。我们熟知的 HTTP API 是 Web 互联互通的基石&#xff0c;驱动着无数应用程序的交互。然而&#xff0c;随着大型语言模型&#xff08;L…

CentOS 搭建 Docker 私有镜像仓库

CentOS 搭建 Docker 私有镜像仓库 搭建 Docker 私有镜像仓库能为团队提供高效、安全的镜像管理方案。下面将详细介绍每个步骤的操作细节&#xff0c;其中命令部分均用代码块展示。 一、环境准备 要搭建 Docker 私有镜像仓库&#xff0c;首先得确保服务器环境符合要求&#xff0…

Zookeeper的简单了解

Zookeeper的简单了解 Zookeeper是一个为分布式应用程序提供协调服务的中间件。 主要作用有三点&#xff1a;分布式锁、注册中心、配置管理、。 特点有读写速度快&#xff08;内存存储&#xff09;、有监听机制&#xff08;用于发布订阅&#xff09;、保证了顺序一致性&#xff…

Android Fragment 全解析

在 Android 开发中&#xff0c;Fragment 是构建灵活界面的核心组件 —— 它既能像 “迷你 Activity” 一样包含布局和逻辑&#xff0c;又能灵活地嵌入到不同 Activity 中复用。无论是平板的多面板布局&#xff0c;还是手机的单页切换&#xff0c;Fragment 都能让界面适配更高效…

0-1BFS(双端队列,洛谷P4667 [BalticOI 2011] Switch the Lamp On 电路维修 (Day1)题解)

对于权重为0或1的路径搜索中&#xff0c;使用双端队列可以对最短路问题进行时间复杂度的优化&#xff0c;由于优先队列的O(longn)级别的插入时间&#xff0c;对于双端队列O(1)插入可以将时间复杂度减少至O(M); https://www.luogu.com.cn/problem/P4667 #include<bits/stdc…

基于LNMP架构的分布式个人博客搭建

1.运行环境主机主机名系统服务192.168.75.154Server-WebLinuxWeb192.168.75.155Server-NFS-DNSLinuxNFS/DNS2.基础配置配置主机名&#xff0c;静态IP地址开启防火墙并配置部分开启SElinux并配置服务器之间使用同ntp.aliyun.com进行时间同步服务器之间使用用ntp.aliyun.com进行时…

基于开源AI智能名片链动2+1模式S2B2C商城小程序的人格品牌化实现路径研究

摘要&#xff1a;在数字化消费时代&#xff0c;人格品牌化已成为企业突破同质化竞争的核心策略。本文以开源AI智能名片、链动21模式与S2B2C商城小程序的融合为切入点&#xff0c;构建“技术赋能-关系重构-价值共生”的人格品牌化理论框架。通过分析用户触达、信任裂变与价值沉淀…

设计模式十一:享元模式(Flyweight Pattern)

享元模式是一种结构型设计模式&#xff0c;它通过共享对象来最小化内存使用或计算开销。这种模式适用于大量相似对象的情况&#xff0c;通过共享这些对象的公共部分来减少资源消耗。基本概念享元模式的核心思想是将对象的内在状态&#xff08;不变的部分&#xff09;和外在状态…

Webpack/Vite 终极指南:前端开发的“涡轮增压引擎“

开篇:当你的项目变成"俄罗斯套娃" "我的index.js怎么引入了87个文件?!" —— 这是每个前端开发者第一次面对复杂项目依赖时的真实反应。别担心,今天我要带你认识两位"打包侠":老牌劲旅Webpack和新锐黑马Vite 一、构建工具:前端世界的&qu…

Windows 下配置 GPU 用于深度学习(PyTorch)的完整流程

1. 安装 NVIDIA 显卡驱动 前往 NVIDIA官网 下载并安装适合你显卡型号&#xff08;如 5070Ti&#xff09;的最新版驱动。下载 NVIDIA 官方驱动 | NVIDIA安装完成后建议重启电脑。 2. 安装 CUDA Toolkit 前往 CUDA Toolkit 下载页。 选择 Windows、x86_64、你的系统版本&#…