319 lines
8.8 KiB
Markdown
319 lines
8.8 KiB
Markdown
# Python 语法基础
|
||
|
||
> 原文:<https://www.pythonforbeginners.com/basics/python-syntax-basics>
|
||
|
||
在你开始写你的第一个 Python 程序之前,你必须学习一些基础知识。我们将带您了解 Python 语法的基础知识,这将有助于您的 Python 职业生涯。
|
||
|
||
在整篇文章中,我们将使用 Python 3 来涵盖这个主题。
|
||
|
||
要开始,我们先写一个非常基础的 Python 程序。
|
||
|
||
## 编写您的第一个 Python 程序
|
||
|
||
有两种方法可以编写和执行基本的 Python 程序:
|
||
|
||
1. 在交互模式下——你写一个程序并执行它
|
||
2. 使用脚本模式–在这种模式下,您可以执行并保存 Python 程序(。py 文件)
|
||
|
||
让我们看看那些在行动中。
|
||
|
||
### 写着“你好,世界!”论解释者
|
||
|
||
要进入交互式 Python 模式,请在终端上输入以下命令。
|
||
|
||
```py
|
||
$ python
|
||
```
|
||
|
||
现在,您应该处于交互模式。
|
||
|
||
但是,如果您使用的是 IDE,您不需要键入上面的命令就可以进入交互式编程模式。
|
||
|
||
下面是执行 Hello World 程序的基本 Python 语法。
|
||
|
||
当您编写这个程序并按 enter 键时,您的 IDE 应该显示“Hello,Word!”
|
||
|
||
```py
|
||
print("Hello World”)
|
||
```
|
||
|
||
您在 print(" ")的" "内书写的任何内容都会打印在您的 IDE 上。
|
||
|
||
在我们的例子中,您应该在屏幕上看到的输出是
|
||
Hello,World!
|
||
|
||
### 在脚本模式下运行您的第一个 Python 程序
|
||
|
||
当您在前面编写 Hello World 程序时,我们假设您将它保存在一个 Python 文件中。当您保存第一个程序时,请查找扩展名为. py 的文件。
|
||
|
||
假设您将它保存为 Hello_Python.py,下面是如何在脚本模式下执行这段代码。
|
||
|
||
首先,你保存的文件必须是可执行的。我们理想的做法是通过命令:
|
||
|
||
```py
|
||
$ chmod +x test.py
|
||
```
|
||
|
||
既然您的文件是可执行的,让我们在脚本模式下运行程序。
|
||
|
||
```py
|
||
$ python Hello_Python.py
|
||
```
|
||
|
||
一旦你执行这个命令,你会看到“你好,世界!”被打印在你的终端上。
|
||
|
||
```py
|
||
"Hello, World”
|
||
```
|
||
|
||
在那里,你学会了你的第一个 Python 语法。
|
||
|
||
## Python 关键字和标识符
|
||
|
||
在 Python 中,您应该知道总共 31 个关键字和 5 个主要标识符。
|
||
|
||
在学习 Python 技能的过程中,您会很容易习惯关键字和标识符。
|
||
|
||
## Python 中的标识符是什么
|
||
|
||
Python 标识符通常是变量、函数、类、模块,也可以是任何其他对象。你在 Python 中给一个实体命名,它被称为标识符。有效的标识符以字母(a-z、A-Z 都适用)或下划线(_)开头,后面可以是零、字母、下划线或数字(0-9)。
|
||
|
||
Python 中的标识符类型:
|
||
|
||
1. 变量
|
||
2. 功能
|
||
3. 模块
|
||
4. 班级
|
||
5. 其他对象
|
||
|
||
让我们检查一下 Python 中有哪些关键字
|
||
|
||
## Python 语法基础–关键词
|
||
|
||
要查看所有 3 个 Python 关键字,请打开您的 IDE 并键入以下内容:
|
||
|
||
```py
|
||
import keyword
|
||
|
||
>>> keyword.kwlist
|
||
```
|
||
|
||
您应该会看到类似这样的输出
|
||
|
||
```py
|
||
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||
```
|
||
|
||
随着新 Python 版本的发布,这些关键字可能会经常改变。记住几件事:
|
||
|
||
1. 这些是固定的,不能用作标识符
|
||
2. 它们区分大小写
|
||
|
||
这些关键字也经常作为保留字引用。
|
||
|
||
## Python 语句
|
||
|
||
在我们继续学习 Python 语法基础知识之前,您应该知道的下一件事是行和缩进。
|
||
|
||
缩进有助于在 Python 中组织代码块。而且,它被严格执行,使您的代码在视觉上可扫描。
|
||
|
||
缩进的空间在不同的情况下会有所不同。观察下面的代码:
|
||
|
||
```py
|
||
person = ["Dave", "Ben", "Emily"]
|
||
|
||
for x in person:
|
||
|
||
if x == "Ben":
|
||
|
||
print(x)
|
||
|
||
else:
|
||
|
||
print("not Ben")
|
||
```
|
||
|
||
注意“for”语句有一个空格(缩进),而“if”有两个空格。它建立了代码中发生的事情的层次结构。
|
||
|
||
试着阅读下面的代码片段,我们用文本替换了代码:
|
||
|
||
```py
|
||
List of Persons
|
||
|
||
Go through the list of Persons:
|
||
|
||
See if Ben is there:
|
||
|
||
If yes, print Ben's name
|
||
|
||
else:
|
||
|
||
print that it's not Ben
|
||
```
|
||
|
||
当你在 Python 中用分号(;),你用 Python 结束一个语句。
|
||
|
||
此外,您还可以有效地使用在一行中编写多条语句。请看下面的 Python 语法示例:
|
||
|
||
```py
|
||
person="John Doe";age=12;location="unknown"
|
||
```
|
||
|
||
## Python 语法基础–注释
|
||
|
||
用 Python 写[注释有两种不同的方式:](https://www.pythonforbeginners.com/comments/comments-in-python)
|
||
|
||
1. 使用“#”的单行注释
|
||
2. 多行注释使用""" ""
|
||
|
||
当你在三重引号内输入任何内容时,你实际上可以写多行注释,而不必在每行注释前加上“#”。一个很好的例子就是“你好,世界!”开始编程。
|
||
|
||
当您执行代码时,它不会打印您在代码中添加的注释。
|
||
|
||
## Python 基本语法–命令行参数
|
||
|
||
对于 Hello_python.py 和交互式脚本,我们实际上使用了命令行参数。
|
||
|
||
这是向您介绍命令行参数的最佳方式。它们是您应该知道的 Python 语法基础的重要部分。
|
||
|
||
例如,如果你想获得更多关于一个特定程序应该如何运行的信息。
|
||
|
||
```py
|
||
[-c cmd | -m mod | file | -] [arg] ...
|
||
|
||
Options and arguments (and corresponding environment variables):
|
||
|
||
-B : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
|
||
|
||
-c cmd : program passed in as string (terminates option list)
|
||
|
||
-d : debug output from parser; also PYTHONDEBUG=x
|
||
|
||
-E : ignore PYTHON* environment variables (such as PYTHONPATH)
|
||
|
||
-h : print this help message and exit (also --help)
|
||
|
||
-i : inspect interactively after running script; forces a prompt even
|
||
|
||
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
|
||
|
||
-m mod : run library module as a script (terminates option list)
|
||
|
||
-O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
|
||
|
||
-OO : remove doc-strings in addition to the -O optimizations
|
||
|
||
-R : use a pseudo-random salt to make hash() values of various types be
|
||
|
||
unpredictable between separate invocations of the interpreter, as
|
||
|
||
a defense against denial-of-service attacks
|
||
|
||
-Q arg : division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
|
||
|
||
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
|
||
|
||
-S : don't imply 'import site' on initialization
|
||
|
||
-t : issue warnings about inconsistent tab usage (-tt: issue errors)
|
||
|
||
-u : unbuffered binary stdout and stderr; also PYTHONUNBUFFERED=x
|
||
|
||
see man page for details on internal buffering relating to '-u'
|
||
|
||
-v : verbose (trace import statements); also PYTHONVERBOSE=x
|
||
|
||
can be supplied multiple times to increase verbosity
|
||
|
||
-V : print the Python version number and exit (also --version)
|
||
|
||
-W arg : warning control; arg is action:message:category:module:lineno
|
||
|
||
also PYTHONWARNINGS=arg
|
||
|
||
-x : skip first line of source, allowing use of non-Unix forms of #!cmd
|
||
|
||
-3 : warn about Python 3.x incompatibilities that 2to3 cannot trivially fix
|
||
|
||
file : program read from script file
|
||
|
||
- : program read from stdin (default; interactive mode if a tty)
|
||
|
||
arg ...: arguments passed to program in sys.argv[1:]
|
||
```
|
||
|
||
## 如何创建虚拟环境
|
||
|
||
虚拟环境将是你为每个新项目创建的事物之一。
|
||
|
||
您仍然可以在不创建虚拟环境的情况下处理新的 Python 项目。但是,这样做将意味着您将面临以下情况:
|
||
|
||
1. 您将更改/修改依赖关系(例如,将您的默认 Python 版本从 2.7 升级到 3.x)
|
||
2. 您的其他 Python 项目可能无法正常执行
|
||
|
||
要创建虚拟环境,请转到您的终端并键入以下内容:
|
||
|
||
```py
|
||
$ virtualenv newevironment
|
||
```
|
||
|
||
我们刚刚创建的虚拟环境的名称 newenvironment。
|
||
|
||
要启动这个新创建的环境,请键入以下命令:
|
||
|
||
```py
|
||
source newenvironment
|
||
```
|
||
|
||
## Python 基本语法–安装库和包
|
||
|
||
安装 Python 库和包的最佳方式是使用 PyPI。
|
||
|
||
要安装软件包,只需键入以下命令:
|
||
|
||
```py
|
||
pip install "package"
|
||
```
|
||
|
||
这里的“包”应该替换为您希望安装的库。
|
||
|
||
如果您希望安装软件包的特定版本,请更改前面的命令:
|
||
|
||
```py
|
||
pip install "package==2.801"
|
||
```
|
||
|
||
但是,如果您不确定软件包版本的可用性,但希望安装一个稳定或更可靠的软件包,您可以使用以下命令:
|
||
|
||
```py
|
||
pip install "package>=2.8"
|
||
```
|
||
|
||
还有其他安装 Python 包的方法,你可以去源代码发行版直接下载这些包。
|
||
|
||
## 接受用户输入
|
||
|
||
有两种基本的 Python 语法类型可以请求用户输入:
|
||
|
||
1. 原始输入
|
||
2. 投入
|
||
|
||
两者都会提示用户进行输入。
|
||
|
||
```py
|
||
raw_input():
|
||
```
|
||
|
||
这个方法在 Python 3 中不再有效,新的输入是 input()。
|
||
|
||
```py
|
||
input()
|
||
```
|
||
|
||
要请求用户输入,请参见下面的示例
|
||
|
||
```py
|
||
user_input_request = input("Enter your name: ")
|
||
```
|
||
|
||
一旦你输入这个,你的 IDE 将要求你输入你的名字。 |