收藏 分享(赏)

w3school_Python教程_飞龙整理_20141026.pdf

上传人:HR专家 文档编号:6229326 上传时间:2019-04-03 格式:PDF 页数:231 大小:3.20MB
下载 相关 举报
w3school_Python教程_飞龙整理_20141026.pdf_第1页
第1页 / 共231页
w3school_Python教程_飞龙整理_20141026.pdf_第2页
第2页 / 共231页
w3school_Python教程_飞龙整理_20141026.pdf_第3页
第3页 / 共231页
w3school_Python教程_飞龙整理_20141026.pdf_第4页
第4页 / 共231页
w3school_Python教程_飞龙整理_20141026.pdf_第5页
第5页 / 共231页
点击查看更多>>
资源描述

1、W3School Python 教 程 来源:www.w3cschool.cc 整理:飞龙 日期:2014.10.26 Python 简 介 Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具 有比其他语言更有特色语法结构。 Python 是 一 种 解 释 型 语 言 : 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是 交 互 式 语 言 : 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。 Python 是 面

2、向 对 象 语 言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 Python 是 初 学 者 的 语 言 :Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程 序开发,从简单的文字处理到 WWW 浏览器再到游戏。 Python 发 展 历 史 Python是由Guido van Rossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计 出来的。 Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C+、Algol-68、 SmallTalk、Unix shell 和其他的脚本语言等等。 像Perl语

3、言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。 现在Python是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其 进展。 Python 特 点1. 易 于 学 习 :Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简 单。 2. 易 于 阅 读 :Python代码定义的更清晰。3. 易 于 维 护 :Python的成功在于它的源代码是相当容易维护的。 4. 一 个 广 泛 的 标 准 库 :Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Wind

4、ows和 Macintosh兼容很好。 5. 互 动 模 式 :互动模式的支持,您可以从终端输入并获得结果的语言,互动的测试和调试代码片 断。 6. 便 携 式 :Python可以运行在多种硬件平台和所有平台上都具有相同的接口。 7. 可 扩 展 :可以添加低层次的模块到Python解释器。这些模块使程序员可以添加或定制自己的工 具,更有效。 8. 数 据 库 :Python提供所有主要的商业数据库的接口。 9.GUI 编 程 :Python支持GUI可以创建和移植到许多系统调用。 10. 可 扩 展 性 :相比 shell 脚本,Python 提供了一个更好的结构,且支持大型程序。 Pyth

5、on 环 境 搭 建 本章节我们将向大家介绍如何在本地搭建Python开发环境。 Python可应用于多平台包括 Linux 和 Mac OS X。 你可以通过终端窗口输入 “python“ 命令来查看本地是否已经安装Python以及Python的安装版本。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多个DOS版本) PalmOS Nokia 移动手机 Windows CE Acorn/RISC OS BeOS

6、 Amiga VMS/OpenVMS QNX VxWorks Psion Python 同样可以移植到 Java 和 .NET 虚拟机上。 Python 下 载Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:http:/www.python.org/ 你可以在一下链接中下载Python的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。 Python文档下载地址:www.python.org/doc/ Python 安 装 Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。 您需要下载适用于您使用平

7、台的二进制代码,然后安装Python。 如果您平台的二进制代码是不可用的,你需要使用C编译器手动编译源代码。 编译的源代码,功能上有更多的选择性, 为python安装提供了更多的灵活性。 以下为不同平台上安装Python的方法: Unix C:Python , 按下“Enter“。 注 意: C:Python 是Python的安装目录。 Python 环 境 变 量 下面几个重要的环境变量,它应用于Python: 变 量 名 描 述 PYTHONPATH PYTHONPATH是Python搜索路径,默认我们import的模块都 会从PYTHONPATH里面寻找。 PYTHONSTARTUP P

8、ython启动后,先寻找PYTHONSTARTUP环境变量,然后 执行此文件中变量指定的执行代码。 PYTHONCASEOK 加入PYTHONCASEOK的环境变量, 就会使python导入模块 的时候不区分大小写. PYTHONHOME 另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP 或PYTHONPATH目录中,使得两个模块库更容易切换。 运 行Python 有三种方式可以运行Python: 1 、 交 互 式 解 释 器 : 你可以通过命令行窗口进入python并开在交互式解释器中开始编写Python代码。 你可以在Unix,DOS或任何其他提供了命令行或者shell的系统

9、进行python编码工作。 $python # Unix/Linux 或者 python% # Unix/Linux 或者 C:python # Windows/DOS 以下为Python命令行参数: 选 项 描 述 -d 在解析时显示调试信息-O 生成优化代码 ( .pyo 文件 ) -S 启动时不引入查找Python路径的位置 -v 输出Python版本号 -X 从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时。 -c cmd 执行 Python 脚本,并将运行结果作为 cmd 字符串。 file 在给定的python文件执行python脚本。 2 、 命 令 行 脚 本 在你的应

10、用程序中通过引入解释器可以在命令行中执行Python脚本,如下所示: $python script.py # Unix/Linux 或者 python% script.py # Unix/Linux 或者 C:python script.py # Windows/DOS 注 意 :在执行脚本时,请检查脚本是否有可执行权限。 3 、 集 成 开 发 环 境 (IDE :Integrated Development Environment ) 您可以使用图形用户界面(GUI)环境来编写及运行Python代码。以下推荐各个平台上使用的IDE: Unix: IDLE 是 UNIX 上最早的 Pytho

11、n IDE 。 Windows: PythonWin 是一个 Python 集成开发环境,在许多方面都比 IDE 优秀 Macintosh: Python 的 Mac 可以使用 IDLE IDE,你可以在网站上下载对应MAC的IDLE 。 继续下一章之前,请确保您的环境已搭建成功。如果你不能够建立正确的环境,那么你就可以从您的系 统管理员的帮助。 在以后的章节中给出的例子已在Centos(Linux)下Python2.4.3版本测试通过。 Python 基 础 语 法 Python语言与Perl,C和Java等语言有许多相似之处。但是,也存在一些差异。 在本章中我们将来学习Python的基础语

12、法,让你快速学会Python编程。 第 一 个Python 程 序交 互 式 编 程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。 linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) GCC 4.1.2 20080704 (Red Hat 4.1.2-48) on linux2 Type “help“, “copyright“, “credits“ or “license“ for more information. W

13、indow上在安装Python时已经已经安装了默认的交互式编程客户端,提示窗口如下: 在 python 提示符中输入以下文本信息,然后按 Enter 键查看运行效果: print “Hello, Python!“; 在 Python 2.4.3 版本中,以上事例输出结果如下: Hello, Python! 如果您运行的是新版本的Python,那么你就需要在print语句中使用括号如: print (“Hello, Python!“); 脚 本 式 编 程 通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。 让我们写一个简单的Python脚本程序。所有Pyt

14、hon文件将以.py为扩展名。将以下的源代码拷贝至 test.py文件中。 print “Hello, Python!“;这里,假设你已经设置了Python解释器PATH变量。使用以下命令运行程序: $ python test.py 输出结果: Hello, Python! 让我们尝试另一种方式来执行Python脚本。修改test.py文件,如下所示: #!/usr/bin/python print “Hello, Python!“; 这里,假定您的Python解释器在/usr/bin目录中,使用以下命令执行脚本: $ chmod +x test.py # 脚本文件添 加可 执行权 限 $./

15、test.py 输出结果: Hello, Python! Python 标 识 符 在python里,标识符有字母、数字、下划线组成。 在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 python中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通 过类提供的接口进行访问,不能用“from xxx import *“而导入; 以双下划线开头的(_foo)代表类的私有成员;以双下划线开头和结尾的(_foo_)代表python里 特殊方法专用的标识,如_init_()代表类的构造函数。 Pyt

16、hon 保 留 字 符 下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。 所有Python的关键字只包含小写字母。 and exec not assert finally or break for passclass from print continue global raise def if return del import try elif in while else is with except lambda yield 行 和 缩 进 学习Python与其他语言最大的区别就是,Python的代码块不使用大括号()来控制类,函数以及其他

17、逻辑判断。python最具特色的就是用缩进来写模块。 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如 下所示: if True:print “True“ else:print “False“以下代码将会执行错误:if True:print “Answer“print “True“ else:print “Answer“print “False“因此,在Python的代码块中必须使用相同数目的行首缩进空格数。 以下实例包含了相同数目的行首缩进代码语句块的例子: #!/usr/bin/python import sys try:# open file s

18、treamfile = open(file_name, “w“) except IOError: print “There was an error writing to“, file_namesys.exit() print “Enter “, file_finish, print “ When finished“ while file_text != file_finish:file_text = raw_input(“Enter text: “)if file_text = file_finish:# close the filefile.closebreakfile.write(fil

19、e_text)file.write(“n“) file.close() file_name = raw_input(“Enter filename: “) if len(file_name) = 0:print “Next time please enter something“sys.exit() try:file = open(file_name, “r“) except IOError:print “There was an error reading file“sys.exit() file_text = file.read() file.close() print file_text

20、多 行 语 句 Python语句中一般以新行作为为语句的结束符。 但是我们可以使用斜杠( )将一行的语句分为多行显示,如下所示:total = item_one + item_two + item_three语句中包含, 或 () 括号就不需要使用多行连接符。如下实例:days = Monday, Tuesday, Wednesday,Thursday, Friday Python 引 号 Python 接收单引号( ),双引号(“ ),三引号( “) 来表示字符串,引号的开始与结束必须的相同类型 的。 其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当

21、做注释。 word = word sentence = “This is a sentence.“ paragraph = “This is a paragraph. It is made up of multiple lines and sentences.“ Python 注 释 python中单行注释采用 # 开头。 python没有块注释,所以现在推荐的多行注释也是采用的 #比如: #!/usr/bin/python # First comment print “Hello, Python!“; # second comment 输出结果: Hello, Python! 注释可以在语句

22、或表达式行末: name = “Madisetti“ # This is again comment 多条评论: # This is a comment. # This is a comment, too. # This is a comment, too. # I said that already. Python 空 行 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分 隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不 会出错。但是空行的作用在于分隔两段不同功能或含义的代

23、码,便于日后代码的维护或重构。 记住:空行也是程序代码的一部分。 等 待 用 户 输 入 下面的程序在按回车键后就会等待用户输入: #!/usr/bin/pythonraw_input(“nnPress the enter key to exit.“) 以上代码中 ,“nn“在结果输出前会输出两个新的空行。一旦用户按下键时,程序将退出。 同 一 行 显 示 多 条 语 句 Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例: import sys; x = foo; sys.stdout.write(x + n) 多 个 语 句 构 成 代 码 组 缩进相

24、同的一组语句构成一个代码块,我们称之代码组。 像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行 代码构成代码组。 我们将首行及后面的代码组称为一个子句(clause)。 如下实例: if expression : suite elif expression : suite else : suite 命 令 行 参 数 很多程序可以执行一些操作来查看一些基本信,Python可以使用-h参数查看各参数帮助信息: $ python -h usage: python option . -c cmd | -m mod | file | -

25、 arg . Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit etc. Python 变 量 类 型 变量

26、存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 变 量 赋 值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 等号(=)用来给变量赋值。 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如: #!/usr/bin/python counter = 100 #

27、 An integer assignment miles = 1000.0 # A floating point name = “John“ # A string print counter print miles print name 以上实例中,100,1000.0和“John“分别赋值给counter,miles,name变量。 执行以上程序会输出如下结果: 100 1000.0 John 多 个 变 量 赋 值 Python允许你同时为多个变量赋值。例如: a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。 您也可以为多个对象指定多个变量

28、。例如: a, b, c = 1, 2, “john“ 以上实例,两个整型对象1和2的分配给变量a和b,字符串对象“john“分配给变量c。标 准 数 据 类 型 在内存中存储的数据可以有多种类型。 例如,person.s年龄作为一个数值存储和他或她的地址是字母数字字符存储。 Python有一些标准类型用于定义操作上,他们和为他们每个人的存储方法可能。 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Python 数 字 数字数据类型用于存储数值。 他们是不可改变的数据类型,这意味着改变数字

29、数据类型会分配一个新的对象。 当你指定一个值时,Number对象就会被创建: var1 = 1 var2 = 10 您也可以使用del语句删除一些对象引用。 del语句的语法是: del var1,var2,var3,varN 您可以通过使用del语句删除单个或多个对象。例如: del var del var_a, var_b Python支持四种不同的数值类型: int(有符号整型) long(长整型也可以代表八进制和十六进制) float(浮点型) complex(复数) 实 例一些数值类型的实例: int long float complex 10 51924361L 0.0 3.14j

30、 100 -0x19323L 15.20 45.j -786 0122L -21.9 9.322e-36j 080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j -0490 535633629843L -90. -.6545+0J -0x260 -052318172735L -32.54e100 3e+26J 0x69 -4721885298529L 70.2-E12 4.53e-7j 长整型也可以使用小写“L“,但是还是建议您使用大写“L“,避免与数字“1“混淆。Python使用“L“来 显示长整型。 Python还支持复数,复数由实数部分和虚数部分构成,可以用a

31、 + bj,或者complex(a,b)表示, 复 数的实部a和虚部b都是浮点型 Python 字 符 串 字符串或串(String)是由数字、字母、下划线组成的一串字符。 一般记为 : s=“a1a2an“(n=0) 它是编程语言中表示文本的数据类型。 python的字串列表有2种取值顺序: 从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头 如果你的实要取得一段子串的话,可以用到变量头下标:尾下标,就可以截取相应的字符串,其中下标 是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。 比如: s = ilovepython s1:

32、5的结果是love。 当使用以冒号分隔的字符串,python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。 上面的结果包含了s1的值l,而取到的最大范围不包括上边界,就是s5的值p。 加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例: #!/usr/bin/python str = Hello World! print str # 输出 完整字 符串 print str0 # 输出 字符串 中的 第一个 字 符 print str2:5 # 输 出字符 串中 第三个 至 第 五个 之间的 字符串 print str2: # 输出从 第三 个字符

33、开始的 字符串 print str * 2 # 输出字 符串 两次 print str + “TEST“ # 输出 连接 的字符 串 以上实例输出结果: Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST Python 列 表 List(列表) 是 Python 中使用最频繁的数据类型。 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌 套)。 列表用 标识。是python最通用的复合数据类型。看这段代码就明白。 列表中的值得分割也可以用到变量头下标:尾下标,就可

34、以截取相应的列表,从左到右索引默认0开始 的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。 加号(+)是列表连接运算符,星号(*)是重复操作。如下实例: #!/usr/bin/python list = abcd, 786 , 2.23, john, 70.2 tinylist = 123, john print list # 输出 完整 列表 print list0 # 输出列 表的 第一个 元素 print list1:3 # 输出第 二个至 第三 个 的元素 print list2: # 输 出从第 三个 开始至 列 表 末尾 的所有 元素print tinylist * 2

35、# 输出 列表 两次 print list + tinylist # 打印组 合的 列 表 以上实例输出结果: abcd, 786, 2.23, john, 70.200000000000003 abcd 786, 2.23 2.23, john, 70.200000000000003 123, john, 123, john abcd, 786, 2.23, john, 70.200000000000003, 123, john Python 元 组 元组是另一个数据类型,类似于List(列表)。 元组用“()“标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。 #!/usr/

36、bin/python tuple = ( abcd, 786 , 2.23, john, 70.2 ) tinytuple = (123, john) print list # 输出 完整 列表 print list0 # 输出列 表的 第一个 元素 print list1:3 # 输出第 二个至 第三 个 的元素 print list2: # 输 出从第 三个 开始至 列 表 末尾 的所有 元素 print tinylist * 2 # 输出 列表 两次 print list + tinylist # 打印组 合的 列 表 以上实例输出结果: (abcd, 786, 2.23, john,

37、70.200000000000003) abcd (786, 2.23) (2.23, john, 70.200000000000003) (123, john, 123, john) (abcd, 786, 2.23, john, 70.200000000000003, 123, john) 以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的: #!/usr/bin/python tuple = ( abcd, 786 , 2.23, john, 70.2 ) list = abcd, 786 , 2.23, john, 70.2 tuple2 = 1000 # 元组中 是非法 应

38、用 list2 = 1000 # 列 表中是 合法 应用Python 元 字 典 字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是 无序的对象集合。 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。 字典用“ “标识。字典由索引(key)和它对应的值value组成。 #!/usr/bin/python dict = dictone = “This is one“ dict2 = “This is two“ tinydict = name: john,code:6734, dept: sales print d

39、ictone # 输 出键 为one 的值 print dict2 # 输出键 为 2 的值 print tinydict # 输 出完整 的字 典 print tinydict.keys() # 输出所 有键 print tinydict.values() # 输出所 有值 输出结果为: This is one This is two dept: sales, code: 6734, name: john dept, code, name sales, 6734, john Python 数 据 类 型 转 换 有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为

40、函数名即 可。 以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。 函 数 描 述 int(x ,base) 将x转换为一个整数 long(x ,base ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real ,imag) 创建一个复数str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个列表 set(s) 转换为可变集合 d

41、ict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。 frozenset(s) 转换为不可变集合 chr(x) 将一个整数转换为一个字符 unichr(x) 将一个整数转换为Unicode字符 ord(x) 将一个字符转换为它的整数值 hex(x) 将一个整数转换为一个十六进制字符串 oct(x) 将一个整数转换为一个八进制字符串 Python 运 算 符 什 么 是 运 算 符 ?本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4和5被称为操作数,“+“号为运 算符。 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运

42、算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 接下来让我们一个个来学习Python的运算符。 Python 算 术 运 算 符 以下假设变量a为10,变量b为20: 运 算 符 描 述 实 例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一 个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被重 复若干次的字符串 a * b 输出结果 200 / 除 - x除以y b / a 输出结果 2 % 取模 - 返回除法的余数 b % a 输出结果 0 * 幂 - 返回x的y次幂 a*b 为10的20次方

43、, 输出结果 100000000000000000000 / 取整除 - 返回商的整数部分 9/2 输出结果 4 , 9.0/2.0 输出结果 4.0 以下实例演示了Python所有算术运算符的操作: #!/usr/bin/python a = 21 b = 10 c = 0 c = a + b print “Line 1 - Value of c is “, cc = a - b print “Line 2 - Value of c is “, c c = a * b print “Line 3 - Value of c is “, c c = a / b print “Line 4 - V

44、alue of c is “, c c = a % b print “Line 5 - Value of c is “, c a = 2 b = 3 c = a*b print “Line 6 - Value of c is “, c a = 10 b = 5 c = a/b print “Line 7 - Value of c is “, c 以上实例输出结果: Line 1 - Value of c is 31 Line 2 - Value of c is 11 Line 3 - Value of c is 210 Line 4 - Value of c is 2 Line 5 - Value of c is 1 Line 6 - Value of c is 8 Line 7 - Value of c is 2 Python 比 较 运 算 符 以下假设变量a为10,变量b为20: 运 算 符 描 述 实 例 = 等于 - 比较对象是否相等 (a = b) 返回 False。 != 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.b) 返回 true。这个运算 符类似 != 。 (a b) 返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报