geekdoc-python-zh/docs/py4b/python-syntax-basics.md

319 lines
8.8 KiB
Markdown
Raw Permalink Normal View History

2024-03-05 01:17:20 +08:00
# 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 应该显示“HelloWord
```py
print("Hello World”)
```
您在 print(" ")的" "内书写的任何内容都会打印在您的 IDE 上。
在我们的例子中,您应该在屏幕上看到的输出是
HelloWorld
### 在脚本模式下运行您的第一个 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 将要求你输入你的名字。