基础语法#

行与缩进#

Python 最具特色的就是使用缩进来表示代码块,不需要使用大括号 {},缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

# 正确的缩进
if True:
    print("这是if语句块")
    print("同一代码块,缩进相同")

# 错误的缩进会导致 IndentationError
if True:
print("错误:没有缩进")  # 这会报错

缩进规则

  • 使用 4 个空格作为标准缩进(推荐)
  • 不要混用空格和 Tab
  • 同一代码块必须使用相同的缩进

注释#

Python 使用 # 来添加单行注释,使用三引号 """''' 来添加多行注释。

# 这是单行注释

# 这是另一个单行注释
x = 5  # 行尾注释

"""
这是多行注释
可以写多行内容
通常用于文档字符串
"""

'''
这也是多行注释
功能与三引号相同
'''

def my_function():
    """这是函数的文档字符串(docstring)"""
    pass

变量和赋值#

变量命名规则#

  • 变量名只能包含字母、数字和下划线
  • 变量名不能以数字开头
  • 变量名区分大小写
  • 不能使用 Python 关键字作为变量名
# 合法的变量名
name = "Python"
age = 30
user_name = "admin"
_name = "private"
name1 = "valid"

# 不合法的变量名
# 2name = "invalid"  # 不能以数字开头
# class = "invalid"  # 不能使用关键字
# user-name = "invalid"  # 不能使用连字符

变量赋值#

Python 中的变量不需要声明类型,直接赋值即可。

# 基本赋值
x = 10
name = "Python"
is_valid = True

# 多重赋值
a = b = c = 0
x, y = 1, 2
x, y = y, x  # 交换变量值

# 链式赋值
a = b = c = 10

动态类型#

Python 是动态类型语言,同一个变量可以赋值为不同类型的值:

x = 10        # x 是整数
x = "hello"   # x 现在是字符串
x = [1, 2, 3] # x 现在是列表

命名规范#

Python 遵循 PEP 8 命名规范:

变量和函数名#

使用小写字母和下划线(snake_case):

# 变量名
user_name = "admin"
total_count = 100

# 函数名
def calculate_sum():
    pass

def get_user_info():
    pass

类名#

使用驼峰命名法(PascalCase):

class UserAccount:
    pass

class DatabaseConnection:
    pass

常量#

使用全大写字母和下划线:

MAX_SIZE = 1000
DEFAULT_TIMEOUT = 30
PI = 3.14159

私有变量#

使用单下划线前缀表示"内部使用"(约定),双下划线前缀表示名称改写:

class MyClass:
    def __init__(self):
        self.public_var = 1      # 公共变量
        self._internal_var = 2   # 内部变量(约定)
        self.__private_var = 3   # 私有变量(名称改写)

单下划线(_var

  • 主要是约定,表示"内部使用"的意图
  • 技术上仍可直接访问,不会报错
  • from module import * 时不会被导入(这是实际的语言机制)
class MyClass:
    def __init__(self):
        self._internal = 10

obj = MyClass()
print(obj._internal)  # 仍然可以访问,不会报错

双下划线(__var

  • 触发名称改写(name mangling),是实际的语言机制
  • 会被改写为 _ClassName__var 的形式
  • 主要用于避免子类中的属性名冲突
class MyClass:
    def __init__(self):
        self.__private = 10

obj = MyClass()
# print(obj.__private)  # 错误!AttributeError
print(obj._MyClass__private)  # 10(通过改写后的名称可以访问)
print(obj.__dict__)  # {'_MyClass__private': 10}

其他单下划线使用场景

  • 临时变量:for _ in range(10):
  • 未使用的变量:x, _ = func()(表示忽略第二个返回值)

语句和表达式#

语句#

语句是执行操作的指令:

# 赋值语句
x = 10

# 打印语句
print("Hello")

# 条件语句
if x > 5:
    print("x大于5")

表达式#

表达式是产生值的代码:

# 算术表达式
2 + 3  # 结果是 5

# 函数调用表达式
len("Python")  # 结果是 6

# 比较表达式
x > 5  # 结果是 True 或 False

代码块#

Python 使用缩进来定义代码块:

# if 语句块
if condition:
    statement1
    statement2
    if nested_condition:
        nested_statement

# 函数定义块
def my_function():
    statement1
    statement2
    return value

# 循环块
for item in items:
    process(item)
    if condition:
        break

多行语句#

使用反斜杠#

# 使用反斜杠续行
total = 1 + 2 + \
        3 + 4 + \
        5

# 在括号内可以自然换行
total = (1 + 2 +
         3 + 4 +
         5)

多行字符串#

# 使用三引号
text = """这是
多行
字符串"""

# 使用括号和换行
text = ("这是"
        "多行"
        "字符串")

标识符#

标识符是用于标识变量、函数、类等的名称。

规则

  • 只能包含字母、数字和下划线
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写
# 有效的标识符
my_variable = 10
MyClass = "class"
_private = "private"
name123 = "valid"

# 无效的标识符
# 123name = "invalid"  # 不能以数字开头
# my-variable = 10      # 不能使用连字符
# class = "invalid"     # 不能使用关键字

下一步#

掌握了基础语法后,可以学习:

  1. 数据类型 - 了解 Python 的各种数据类型
  2. 运算符和表达式 - 学习各种运算符的使用