1
0
wiki/Tech/programming-language/Python/入门/基础语法.md

144 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 基础语法
description: Python 基础语法
keywords:
- Python
- 基础语法
tags:
- Python/入门
- 技术/程序语言
author: 7Wate
date: 2023-08-03
---
## 简介
Python 是一门易于学习、功能强大的编程语言。同时是一种**解释型语言,不需要编译和链接**可以节省大量开发时间。Python 入门相对其它程序设计语言简单,但是熟练掌握需要一定学习时间,尤其是丰富的魔术方法。
Python 程序**简洁、易读,通常**比实现同种功能的 C、C++、Java 代码短很多,原因如下:
- 高级数据类型允许在单一语句中表述复杂操作;
- 使用缩进,而不是括号实现代码块分组;
- 无需预声明变量或参数。
Python 解释器**易于扩展**,使用 C 或 C++(或其他 C 能调用的语言)即可为 Python 扩展新功能和数据类型。Python 也可用作定制软件中的扩展程序语言。
Python 官网上免费提供了 Python 解释器和扩展的标准库,包括源码和适用于各操作系统的机器码形式,并可自由地分发。
Python 官网还包含许多**免费丰富的第三方 Python 模块**、程序和工具发布包及文档链接。
## 使用
### 安装
Python 官网:<https://www.python.org/>,可以在 [官方文档](https://docs.python.org/) 帮助下选择合适版本安装。
### 运行
Python 安装后在 Shell 中输入 Python 既可运行交互解释器,在解释器内编写 Python 脚本既可以运行。如果需要退出,输入 `quit()`
## 编码
Python 源码文件的**默认编码是 UTF-8**,如果不使用默认编码,则要声明文件的编码,文件的**第一行**要写成特殊注释。句法如下:
```python
# -*- coding: encoding -*-
```
## 注释
- 单行注释:以 # 和空格开头的部分
- 多行注释:三个引号开头,三个引号结尾
```python
"""
第一个 Python 程序 - hello, world!
向伟大的 Dennis M. Ritchie 先生致敬
"""
# hello world
print('hello, world!')
print("你好, 世界!")
```
## 缩进
Python 最具特色的就是使用缩进来表示代码块,不需要使用大括号 **{}** 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。如果语句缩进数的空格数不一致,会导致运行错误。
```python
# 正确缩进
if True:
print ("True")
else:
print ("False")
# 错误缩进
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
```
## 行语句
如果语句很长,我们可以使用反斜杠 **\\** 来实现多行语句;如果在同一行中使用多条语句,语句之间使用分号 **;** 分割。**在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \\。** 字符串之间不换行则会自动拼接。
```python
# 反斜杠 \ 用法
total = item_one + \
item_two + \
item_three
# 分号 ; 用法
import sys; x = 'runoob'; sys.stdout.write(x + '\n')
# 特殊多行语句
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
# 字符串
str = "hello" "world" "!"
```
## 复合语句
Python 像 if、while、def 和 class 这样的复合语句,**首行以关键字开始,以冒号 ( : ) 结束**,该行之后的一行或多行代码构成代码组。首行及后面的代码组称为一个子句 (clause)。
```python
if expression :
suite
elif expression :
suite
else :
suite
```
此外Python 还支持一些更高级的特性,如函数式编程、面向对象编程和元编程等。随着学习的深入,你会发现 Python 的世界越来越广阔。
## 关键字
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
```python
$ import keyword
$ print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
```
## 声明
**硬性规则:**
- 变量名由**字母**(广义的 Unicode 字符,不包括特殊字符)、**数字**和**下划线**构成,**数字不能开头**。
- **大小写敏感**(大写的 `a` 和小写的 `A` 是两个不同的变量)。
- 不要跟**关键字**(有特殊含义的单词)和系统保留字(如函数、模块等的名字)冲突。
**PEP 8 要求:**
- 用小写字母拼写,多个单词用下划线连接。
- 受保护的实例属性用单个下划线开头。
- 私有的实例属性用两个下划线开头。