### Python基本语法概述
Python作为一种高级编程语言,其设计哲学强调代码的可读性和简洁的语法,这使得Python成为入门编程的理想选择。本文将详细介绍Python的基本语法,包括数据类型、运算符与表达式、控制流语句、函数、模块等内容。
#### 一、基本概念
1. **Python的数据类型**:
- 整数(`int`):如 `1`、`2`。
- 长整数(`long`):Python 2.x 中存在,Python 3.x 中已移除,整数类型不再受限于系统字长。
- 浮点数(`float`):如 `1.23`、`3E-2`。
- 复数(`complex`):如 `1+2j`、`1.1+2.2j`。
2. **字符串**:
- 单引号 `'string'` 和双引号 `"string"` 在 Python 中表示字符串,两者完全等价。
- 使用三引号 `'''string'''` 或 `"""string"""` 可以创建多行字符串。
- 转义符 `\` 用于特殊字符,如 `\n` 表示换行。
- 自然字符串(原始字符串):前缀 `r` 或 `R` 表示该字符串中的所有字符都不被转义,例如 `r"\n"` 将直接输出 `\n`。
- Unicode 字符串:前缀 `u` 或 `U` 表示该字符串为 Unicode 编码,如 `u"thisisanunicodestring"`。
3. **标识符命名规则**:
- 必须以字母或下划线 `_` 开头。
- 后续字符可以是字母、数字或下划线。
- 区分大小写,例如 `myVar` 和 `myvar` 是两个不同的变量。
4. **对象**:
- Python 中的所有事物都是对象,包括数字、字符串等。
- 对象拥有属性和方法。
5. **逻辑行与物理行**:
- 物理行是指实际编写的代码行。
- 逻辑行是指 Python 解释器所看到的行。
- 分号 `;` 可以用来在同一物理行中书写多条逻辑行,但通常不推荐这样做。
- 使用反斜杠 `\` 来连接多行代码,例如:
```python
s = "peter is \
writing this article"
```
6. **缩进**:
- Python 使用缩进来表示代码块,这与其他语言使用花括号 `{}` 不同。
- 同一代码块内的所有语句必须具有相同的缩进量。
- 推荐使用四个空格作为基本缩进单位,不建议混用空格和制表符。
#### 二、运算符与表达式
1. **运算符及其用法**:
- 算术运算符:`+`(加)、`-`(减)、`*`(乘)、`/`(除)、`//`(整除)、`%`(取模)、`**`(幂)。
- 比较运算符:`==`(等于)、`!=`(不等于)、`<`(小于)、`<=`(小于等于)、`>`(大于)、`>=`(大于等于)。
- 逻辑运算符:`and`、`or`、`not`。
- 成员运算符:`in`、`not in`。
- 身份运算符:`is`、`is not`。
- 位运算符:`&`(按位与)、`|`(按位或)、`^`(按位异或)、`~`(按位取反)、`<<`(左移)、`>>`(右移)。
2. **运算符优先级**:
- Python 中运算符的优先级如下(从低到高):
- `lambda`,条件表达式 `if-else`
- `or`
- `and`
- `not x`
- `in`, `not in`, `is`, `is not`, `<`, `<=`, `>`, `>=`, `!=`, `==`
- `|`
- `^`
- `&`
- `<<`, `>>`
- `+`, `-`
- `*`, `/`, `//`, `%`
- `+x`, `-x`, `~x`
- `**`
- `await x`
- `x[index]`, `x[index:index]`, `x(arguments...)`, `x.attribute`
- `(expressions...)`, `[expressions...]`, `{key: value...}`, `{expressions...}`
3. **控制台输出**:
- `print()` 函数用于输出数据到控制台:
```python
print("abc") # 输出 abc 并换行
print("abc%s" % "d") # 输出 abcd
print("abc%sef%s" % ("d", "g")) # 输出 abcdefg
```
#### 三、控制流
1. **if 语句**:
- `if` 语句用于条件判断:
```python
i = 10
n = int(input("Enter a number: "))
if n == i:
print("Equal")
elif n < i:
print("Lower")
else:
print("Higher")
```
2. **while 循环**:
- `while` 循环用于重复执行一段代码直到条件不满足:
```python
while True:
pass
else:
pass
```
- `else` 子句是可选的,当循环正常结束时执行。
3. **for 循环**:
- `for` 循环用于遍历序列:
```python
for i in range(0, 5):
print(i)
else:
pass
```
- `range(a, b)` 返回一个序列,从 `a` 开始到 `b` 结束,但不包括 `b`。
- 当 `for` 循环正常结束时执行 `else` 子句。
4. **break 语句**:
- 用于提前退出循环:
```python
for i in range(1, 11):
if i == 5:
break
print(i)
```
- 如果 `break` 语句从 `for` 或 `while` 中退出,则任何对应的 `else` 块都不会执行。
5. **continue 语句**:
- 用于跳过当前循环中的剩余部分,并进入下一次迭代:
```python
for i in range(1, 11):
if i == 5:
continue
print(i)
```
#### 四、函数
1. **定义函数**:
- 使用 `def` 关键字定义函数:
```python
def function_name(parameters):
"""docstring"""
statement(s)
```
2. **参数传递**:
- 参数可以通过位置或关键字传递。
- 默认参数值可以在定义时设置。
3. **返回值**:
- 使用 `return` 语句返回一个值或多值。
4. **变量作用域**:
- 全局变量在整个程序范围内有效。
- 局部变量仅在其定义的函数或代码块内有效。
5. **匿名函数(lambda 函数)**:
- 简洁定义小型函数:
```python
lambda arguments: expression
```
6. **递归函数**:
- 函数调用自身实现递归操作。
#### 五、模块
1. **模块定义**:
- 模块是包含函数和变量的 Python 文件。
- 可以导入其他模块到当前程序中。
2. **导入模块**:
- 使用 `import` 语句导入模块:
```python
import module_name
```
3. **使用模块中的函数和变量**:
- 导入后可以通过 `module_name.function_name` 的方式访问。
4. **包**:
- 包是组织多个模块的方式。
- 使用 `__init__.py` 文件标识目录为包。
通过上述内容的学习,我们可以了解到Python语言的基础知识以及如何利用这些知识进行程序开发。Python 的简洁性和易学性使其成为初学者学习编程的理想语言,同时其强大的功能和广泛的应用领域也让它成为了专业人士的首选工具。
评论0
最新资源