提交 f20cb76b 编写于 作者: W wizardforcel

2019-12-02 18:42:11

上级 9c3bd28a
#
# 字符串替
> 原文: [https://pythonbasics.org/replace/](https://pythonbasics.org/replace/)
......@@ -10,7 +10,7 @@ Python 内置了对[字符串](https://pythonbasics.org/strings/)替换的支持
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 替换方法
......@@ -38,7 +38,7 @@ python app.py
![python replace](img/be45efc6bdd10368a1f750fa80e0a691.jpg)
### 要替换的
### 要替换的单词
可选参数是将要替换的项目数。 默认情况下是全部。
下面的程序仅替换第一项:
......
......@@ -61,7 +61,7 @@ def handleTimer(self):
![progressbar pyqt](img/7d8c03d7c6fb8725971fb0949d46c5e9.jpg)
###
###
复制下面的代码以查看进度条从 50%到 100%的计数。
使用 handleTimer()和 QTimer()方法更新进度条。
......
......@@ -21,7 +21,7 @@ QDial 小部件的外观可能会在操作系统上发生变化。 但是逻辑
当前值为`.value()`
###
###
下面的示例创建一个拨号小部件窗口。 您可以复制并粘贴程序进行测试。 必须安装 PyQt5 才能运行该程序。
......
# 加入
# 字符串连接
> 原文: [https://pythonbasics.org/join/](https://pythonbasics.org/join/)
......@@ -12,7 +12,7 @@ join(sequence)方法连接元素并返回组合的字符串。 连接方法
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
join 方法将序列作为参数。 序列被写为单个参数:您需要在序列周围添加方括号。
......
......@@ -13,7 +13,7 @@
## 输入对话框
###
###
下面的代码创建一个 PyQt 输入对话框。 单击按钮后,您可以输入一些文本。 文本显示为标签。
......
......@@ -10,7 +10,7 @@ find()方法搜索查询字符串并返回找到的字符位置。 如果找
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 查找方法
......@@ -31,7 +31,7 @@ print(index)
![string find](img/e0899da7ba3f5b7de1e37e2be3467116.jpg)
### in 关键字
### `in`关键字
您也可以使用关键字 _in_。 下面的示例向您展示如何使用 Python in 关键字。
......
......@@ -21,7 +21,7 @@
![artificial intelligence](img/c14011f6cb8ac3d59afd69054b81ea28.jpg)
###
###
机器学习算法可以解决许多问题,例如:
......
# 分
# 分
> 原文: [https://pythonbasics.org/split/](https://pythonbasics.org/split/)
......@@ -10,13 +10,13 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
## 字符串拆分
## 字符串分割
如果您有一个字符串,则可以将其细分为几个字符串。 该字符串需要至少有一个分隔符,可以是一个空格。
默认情况下,split 方法将使用空格作为分隔符。 调用该方法将返回所有子字符串的列表。
### 字
### 字符串到单词
下面的演示将字符串拆分为字符。
......
......@@ -22,7 +22,7 @@
![linear regression training data](img/79a66fc75d419b006ca2189da2f75d08.jpg)
###
###
写下功能:#area_m2。
对于我们的示例代码,如下所示。
......
......@@ -24,7 +24,7 @@ poly_fit = np.poly1d(np.polyfit(X,Y, 2))
那将训练算法并使用二阶多项式。
训练后,您可以使用一个新示例通过调用 polyfit 来预测值。 然后它将输出一个连续值。
###
###
下面的示例在收集到的数据上方绘制了一条多项式线。 它训练算法,然后预测连续值。
......
......@@ -63,7 +63,7 @@ K 最近邻居算法开始计算点 X 与所有点的距离。
最后一步是为三个最近的点中的大多数都属于的类分配新点。
##
##
### k 最近邻居 scikit 学习
......
......@@ -62,7 +62,7 @@ Open CV 使用级联来解决将面部检测到多个阶段的问题。
级联是包含 Open CV 数据的 XML 文件,用于检测对象。
###
###
一旦安装了 Open CV 并且您了解它之后,就该使用 Python 检查人脸检测的结果了。
......
......@@ -56,7 +56,7 @@ print(x)
对于随机整数,将其设置为整数或使用 randrange 函数。
## 学习练习
## 练习
试试下面的练习
......
......@@ -35,7 +35,7 @@ browser.close()
![selenium find element by id](img/9afc0d0e17e26be6930a6d0bdba3f350.jpg)
### 硒查找清单项目
### 硒查找列表项目
下面的 Python 代码使用 selenium 在网页上查找列表项 li。
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
如果指定了参数,则输入功能会提示文本。 该功能从键盘读取输入,将其转换为字符串并删除换行符(Enter)。
......
# 如果陈述
# `if`语句
> 原文: [https://pythonbasics.org/if-statements/](https://pythonbasics.org/if-statements/)
......@@ -8,7 +8,7 @@ if 语句可以与某些运算符组合,例如等于(==),大于(> =
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
在下面的示例中,我们显示了 if 语句的用法。
复制以下程序并运行。
......
# 对于循环
# `for`循环
> 原文: [https://pythonbasics.org/for-loops/](https://pythonbasics.org/for-loops/)
......@@ -11,7 +11,7 @@ for 循环将重复一个代码块。 重复进行直到满足停止条件为止
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
在下面的练习中,我们将对列表的每个项目重复执行操作。
......
# While 循环
# `while`循环
> 原文: [https://pythonbasics.org/while-loop/](https://pythonbasics.org/while-loop/)
......@@ -8,9 +8,9 @@ while 循环重复执行代码,直到满足条件为止。 与 for 循环不
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### While 循环示例
### `While`循环示例
下面的 while 循环定义了条件(x < 10),并重复指令直到该条件成立。 输入此代码:
......
# 功能
# 函数
> 原文: [https://pythonbasics.org/functions/](https://pythonbasics.org/functions/)
要对代码集进行分组,可以使用函数。 函数是可重复代码的一小部分。
一个函数接受参数。
没有功能,我们只有一长串指令。 函数可以帮助您组织代码。 函数也可以重用,通常它们包含在模块中。
没有函数,我们只有一长串指令。 函数可以帮助您组织代码。 函数也可以重用,通常它们包含在模块中。
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 功能
### 函数
功能可以看作是可执行代码块。 一个功能可以使用一次或多次。
函数可以看作是可执行代码块。 一个函数可以使用一次或多次。
一个简单的函数示例是:
......@@ -27,9 +27,9 @@ currentYear()
在此示例中,将立即调用该函数。 函数定义始终以 def 关键字开头。
函数可以重用,一旦创建一个函数就可以在多个程序中使用。 打印功能就是一个例子。
函数可以重用,一旦创建一个函数就可以在多个程序中使用。 打印函数就是一个例子。
### 具有参数的功能
### 具有参数的函数
在下面的示例中,我们有参数 x 和 y。 输入此程序并将其另存为 summation.py
......
# 清单
# 列表
> 原文: [https://pythonbasics.org/list/](https://pythonbasics.org/list/)
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
## 例
##
### 空列表
......
# 清单操作
# 列表操作
> 原文: [https://pythonbasics.org/list-operations/](https://pythonbasics.org/list-operations/)
......@@ -10,7 +10,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
列表可以使用其方法进行修改。
在下面的示例中,我们创建一个列表,并使用方法更改列表内容。
......
# 排序清单
# 排序列表
> 原文: [https://pythonbasics.org/sort-list/](https://pythonbasics.org/sort-list/)
......
# 范围功能
# `range`函数
> 原文: [https://pythonbasics.org/range-function/](https://pythonbasics.org/range-function/)
......@@ -8,7 +8,7 @@ range()构造函数生成数字。 这在创建新列表或使用 for 循环
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
假设您要创建一个包含 100 个数字的列表。 手工写出来非常耗时,而要使用 range 函数:
......
......@@ -8,7 +8,7 @@ Python 字典是另一个集合。 实词词典是理解它们的一个很好的
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
## 例
##
### 简介
......
# 读取档案
# 读取文件
> 原文: [https://pythonbasics.org/read-file/](https://pythonbasics.org/read-file/)
......@@ -15,7 +15,7 @@
您使用的解决方案取决于您要解决的问题。
##
##
### 逐行
......
# 写文件
# 写文件
> 原文: [https://pythonbasics.org/write-file/](https://pythonbasics.org/write-file/)
......@@ -24,7 +24,7 @@ f = open("test.txt","a")
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 创建新文件
......
......@@ -9,7 +9,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
让我们做一个简单的例子。 我们创建两个列表:
......@@ -19,7 +19,7 @@ restaurants = [ "Japanese", "American", "Mexican", "French" ]
```
如果我们有一个喜欢在餐厅吃饭的人的清单,我们可以让他们每个人都在某个餐厅吃饭吗?
如果我们有一个喜欢在餐厅吃饭的人的列表,我们可以让他们每个人都在某个餐厅吃饭吗?
```py
#!/usr/bin/python
......
......@@ -10,7 +10,7 @@
如果您是第一次编程,那么 Python 是一个不错的选择。 开始使用后,您会发现 Python 友好且易于学习,具有大量的应用程序并且是开源的。
它具有多种编程例和面向对象的功能编程。
它具有多种编程例和面向对象的功能编程。
Python 被描述为一种解释型和动态编程语言,重点在于代码的可读性。 比 Java 或 C ++具有更少的编码步骤。
......@@ -20,29 +20,29 @@ Python 被描述为一种解释型和动态编程语言,重点在于代码的
## 为什么学习 Python
### 数据科学&机器学习
### 数据科学 & 机器学习
数据是该主题的基础,无论您要进入哪个领域,它都将存在。 Python 是数据科学和机器学习的常用编程语言之一。 考虑到机器学习的发展,您应该尝试一下。
### 主要应用&更多。
### 主要应用 & 更多
数据科学(包括机器学习,数据分析和数据可视化),Web 开发和脚本是 Python 的三个主要应用。 如果这还不够,那么软件开发公司中的应用程序已经多样化,例如游戏,框架和 Web 应用程序,语言开发,原型设计,图形设计应用程序等等。
### 扩展库&框架。
### 扩展库 & 框架
Python 提供的库包括字符串操作,Internet,Web 服务工具,操作系统接口和协议等领域。 Python Package Index 包含超过 85,000 个要使用的模块和脚本。
### 开源
### 开源
20 多年来,Python 一直是跨平台和开源的。 您可以在 Linux,Windows 和 Mac OS 上进行编码。
![python programming](img/2f3c943a5c5e6309dc82d8e9cec78f8f.jpg)
### 可以使用其他编程语言。
### 可以结合其他编程语言
CPython 与 C 编程语言一起使用,Jython for Python 与 Java 集成,IronPython 与.NET 和 C#兼容,PyObjc 是由 ObjectiveC 工具包编写的 Python,而 RubyPython 是与 Ruby 结合的版本。
### 提高生产率。
### 提高产能
Python 使您可以用更少的代码来构建更多的功能,例如,您可以在两天内构建一个基本的游戏。
......@@ -50,7 +50,7 @@ Python 使您可以用更少的代码来构建更多的功能,例如,您可
它强大的过程集成功能,单元测试框架和增强的控制功能为应用程序的速度提高做出了贡献。
### 职位&职位。
### 工作 & 职业
您作为程序员的职业可以与 Python 一起成长。
......
......@@ -9,7 +9,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 切片
......
# 多次退货
# 多个返回值
> 原文: [https://pythonbasics.org/multiple-return/](https://pythonbasics.org/multiple-return/)
......@@ -8,7 +8,7 @@ Python 函数可以返回多个变量。 这些变量可以直接存储在变量
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 简介
......@@ -27,7 +27,7 @@ def complexfunction(a,b):
但是,如果要访问的函数中有多个变量怎么办?
### 多次返回
### 多个返回值
创建一个函数 getPerson()。 如您所知,一个函数可以返回一个变量,但也可以返回多个变量。
......
# 范围
# 作用域
> 原文: [https://pythonbasics.org/scope/](https://pythonbasics.org/scope/)
变量在程序中具有一定的作用。 全局变量可以在程序中的任何位置使用,但是局部变量仅在特定区域(函数,循环)中已知
有时在项目中使用“范围”一词:“其不在项目范围之内”,表示不包括在内。 同样,变量可以在函数范围之外。
有时在项目中使用“作用域”一词:“其不在项目作用域之内”,表示不包括在内。 同样,变量可以在函数作用域之外。
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
......@@ -12,7 +12,7 @@
### 简介
范围与可以使用变量的位置有关。 如果定义了变量,则不一定在代码中的任何地方都可用。 函数中定义的变量只有在函数中才知道,除非您将其返回。
作用域与可以使用变量的位置有关。 如果定义了变量,则不一定在代码中的任何地方都可用。 函数中定义的变量只有在函数中才知道,除非您将其返回。
```py
def something():
......@@ -47,7 +47,7 @@ print(balance)
![scope](img/88e7ac055172b8f704169b613c7f4b7f.jpg)
我们有两个变量:balance,一个可以在任何地方使用的全局变量。 x,只能在函数内部使用(在局部范围之外未知)。
我们有两个变量:balance,一个可以在任何地方使用的全局变量。 x,只能在函数内部使用(在局部作用域之外未知)。
## 练习
......
......@@ -10,7 +10,7 @@ Python 可以使用模块 _time_ 获得系统时间。 TIme 不属于标准库
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 当前时间
......
# 尝试除
# `try except`
> 原文: [https://pythonbasics.org/try-except/](https://pythonbasics.org/try-except/)
......@@ -12,11 +12,11 @@ _ 突然退出对最终用户和开发人员都是不利的。_
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
让我们采用这种情况:_ 程序要求输入数字用户。 而是用户在输入框中键入字符。 该程序通常会崩溃。 _
### 尝试除
### `try except`
除语句外的 _ 尝试可防止程序崩溃并对其进行正确处理。_
......@@ -34,7 +34,7 @@ except:
![try except](img/1a415ebe54db32e36ceace468b326629.jpg)
### 最后
### `finally`
可以使用 finally 关键字扩展 tryexcept 语句,如果不引发异常,则将执行此语句:
......
# 如何使用 pip 和 pypi
# 如何使用`pip`和 pypi
> 原文: [https://pythonbasics.org/how-to-use-pip-and-pypi/](https://pythonbasics.org/how-to-use-pip-and-pypi/)
......@@ -10,9 +10,9 @@ PyPI 是 Python 软件包的索引,用于存储 Python 的所有正式模块
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
## `pip`
### 安装
### 安装`pip`
pip 的安装很容易。 您可以使用系统软件包管理器进行安装。 如果您使用 Linux,则通常已经安装了。
......
......@@ -8,7 +8,7 @@ Python 类是 _“面向对象编程”_ 的概念。 Python 是一种面向对
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 对象
......@@ -50,7 +50,7 @@ obj4 = bird()
那么 Python 如何知道对象的类型呢? 如何知道某个类型存在哪些方法和变量? 它们在一个类中定义。
### 类
### 类
对象总是从类创建的。 一个类定义对象中存在的每个方法和变量。 您可以将类视为对象的蓝图。
......
# 建设者
# 构造函数
> 原文: [https://pythonbasics.org/constructor/](https://pythonbasics.org/constructor/)
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 构造函数
......@@ -33,7 +33,7 @@ print(bob.legs)
现在,新创建的对象已设置了变量,而无需手动定义它们。 您可以创建数十或数百个对象,而不必每次都设置值。
### python __init__
### python `__init__`
函数 **init** (自身)将构建您的对象。 它不仅是您可以在此处设置的变量,还可以调用类方法。 初始化对象所需的一切。
......
# 吸气剂和二传手
# 获取器和设置器
> 原文: [https://pythonbasics.org/getter-and-setter/](https://pythonbasics.org/getter-and-setter/)
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
我们创建一个带有属性的类。 从该类中,我们创建几个对象。
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 什么是模块?
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 简介
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 静态方法
......
......@@ -9,7 +9,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 创建可迭代
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 类别方法示例
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 简介
......
......@@ -10,7 +10,7 @@ re 模块处理 Python 中的正则表达式
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
创建一个字符串以运行正则表达式。 作为示例短语,我们将使用美国著名的绕口令“ wouldchuck”。
......
......@@ -34,7 +34,7 @@ message()
## 装饰器
###
###
装饰器接受一个函数,对其进行扩展并返回。 是的,**函数可以返回函数**
......
......@@ -10,7 +10,7 @@ Python 中的网络服务器可以通过两种方式设置。 Python 开箱即
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### 内置网络服务器
......
......@@ -8,7 +8,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
### Pydub
......
......@@ -10,7 +10,7 @@
**相关课程:** [完整的 Python 编程课程&练习](https://gum.co/dcsp)
##
##
首先创建带有语音的音频文件。 这可以是任何带有英语单词的音频文件。 将文件另存为 _transcript.mp3_
......
......@@ -9,7 +9,7 @@ Tk 和 Tkinter 应用程序可以在大多数 Unix 平台上运行。 这也适
**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)
##
##
### Tkinter 模块
......
......@@ -10,7 +10,7 @@ Python 函数或方法可以与按钮关联。 该函数或方法称为回调函
**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)
##
##
### 简介
......
......@@ -8,7 +8,7 @@ tkinter 菜单是顶级下拉菜单。 正如您希望传统 gui 应用程序所
**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)
##
##
### 简介
......
......@@ -8,7 +8,7 @@ tkinter 标签窗口小部件可用于在屏幕上显示文本或图像。 标
**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)
##
##
### 简介
......
......@@ -8,7 +8,7 @@
**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)
##
##
### 简介
......
......@@ -10,7 +10,7 @@ tkinter 画布可用于在窗口中绘制。 使用此小部件可以绘制图
**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)
##
##
### 简介
......
......@@ -8,7 +8,7 @@ Matplotlib 是一个 Python 模块,可让您绘制各种图表。 条形图是
**相关课程:** [Matplotlib 示例和视频课程](https://gum.co/mpdp)
##
##
### 条形图
......
......@@ -8,7 +8,7 @@
**相关课程:** [Matplotlib 示例和视频课程](https://gum.co/mpdp)
##
##
### Distplot 示例
......
# 变
# 变
> 原文: [https://pythonbasics.org/variables/](https://pythonbasics.org/variables/)
......@@ -14,7 +14,7 @@ Python 支持 _ 不同类型的变量 _(数据类型),例如整数,浮
Python 将根据您分配给变量的值来确定数据类型。 如果创建变量 x,x = 3,则 Python 假定其为整数。 但是,如果您指定 x = 1.5,则 Python 知道其不是整数,而是浮点数。
##
##
下面的示例向您展示了几个变量。 这些可以根据需要分配。 定义后,您可以打印它们或使用算术。
......@@ -72,12 +72,11 @@ Type "help", "copyright", "credits" or "license" for more information.
```
### 骆驼壳
### 驼峰大小写
按照惯例,变量通常用驼峰大小写,这意味着第一个字母较小,接下来的单词全为大写。
一些使用骆驼套
的示例变量
一些使用驼峰大小写的示例变量
```py
daysInYear = 365
......
......@@ -8,7 +8,7 @@ Plotly 是 Python 的制图模块。 它可以创建出版物质量的图表。
**相关课程:** [Matplotlib 示例和视频课程](https://gum.co/mpdp)
##
##
### 简介
......
# 弦乐
# 字符串
> 原文: [https://pythonbasics.org/strings/](https://pythonbasics.org/strings/)
......
......@@ -12,7 +12,7 @@
## PyQt Hello World
###
###
下面的程序创建“ hello world”窗口。
......
......@@ -12,7 +12,7 @@ QGridLayout 是 PyQt5.QtWidgets 的一部分。
**相关课程:**
[带有 Python 的 PyQt 桌面应用程序](https://gum.co/pysqtsamples)
##
##
### QGridLayout
......
......@@ -45,7 +45,7 @@ def onChanged(self, text):
![pyqt text input qlineedit](img/afce6850a2a06a40147e8718e12263cb.jpg)
###
###
复制并粘贴以下示例代码,自己尝试:
......
......@@ -33,7 +33,7 @@ self.setLayout(self.grid)
![image](img/9195bd62158023928fe1a8e1a94ad4ed.jpg)
###
###
复制并粘贴下面的代码,以从本地计算机加载图像。 该图像将以网格布局显示。
......
......@@ -32,7 +32,7 @@ combo.activated[str].connect(self.onChanged)
![pyqt combobox](img/9f48d29be5f240c66f4b4c975d71ebf8.jpg)
###
###
下面的代码将组合框添加到窗口。 选择组合框中显示的选项之一后,标签值将更改。
......
......@@ -46,7 +46,7 @@ mySlider.valueChanged[int].connect(self.changeValue)
![slider pyqt](img/c3325f30c3056719db14ba53a4c357d2.jpg)
###
###
下面的程序创建一个带有水平滑块的空窗口。 如果您想使用垂直滑块,请不要忘记更改几何形状。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册