以土豆之名,行学习之实

变量与常量


变量 (Variables)

变量的定义和赋值

# 变量定义和赋值
name = "Alice"           # 字符串变量
age = 25                # 整数变量
height = 1.75           # 浮点数变量
is_student = True       # 布尔变量

# 多重赋值
x, y, z = 1, 2, 3
a = b = c = 100

# 打印变量
print(name)            # 输出: Alice
print(f"姓名: {name}, 年龄: {age}")  # 格式化输出

变量命名规则

# 合法的变量名
user_name = "Bob"
userAge = 30
_count = 5
total_amount = 100.50

# 不合法的变量名(会报错)
# 2name = "test"      # 不能以数字开头
# user-name = "test"  # 不能包含连字符
# class = "math"      # 不能使用关键字

变量类型和动态特性

# Python 是动态类型语言
variable = 10         # 现在是整数
print(type(variable)) # <class 'int'>

variable = "hello"    # 现在是字符串
print(type(variable)) # <class 'str'>

variable = [1, 2, 3]  # 现在是列表
print(type(variable)) # <class 'list'>

常量 (Constants)

Python 没有真正的常量,但通过约定来表示常量:

常量命名约定

# 约定:全大写字母表示常量
PI = 3.14159
MAX_CONNECTIONS = 100
DATABASE_URL = "postgresql://localhost:5432/mydb"
COMPANY_NAME = "MyTech Inc."

# 使用常量
radius = 5
area = PI * radius ** 2
print(f"圆的面积: {area:.2f}")

使用枚举类定义常量

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

class Status(Enum):
    ACTIVE = "active"
    INACTIVE = "inactive"
    PENDING = "pending"

# 使用枚举常量
current_color = Color.RED
user_status = Status.ACTIVE

print(current_color)      # Color.RED
print(user_status.value)  # active

变量操作示例

# 数值运算
a = 10
b = 3

print(a + b)   # 13
print(a - b)   # 7
print(a * b)   # 30
print(a / b)   # 3.333...
print(a // b)  # 3 (整除)
print(a % b)   # 1 (取余)
print(a ** b)  # 1000 (幂运算)

# 字符串操作
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)  # John Doe

# 列表操作
numbers = [1, 2, 3]
numbers.append(4)
print(numbers)  # [1, 2, 3, 4]

变量作用域

# 全局变量
global_var = "我是全局变量"

def test_function():
    # 局部变量
    local_var = "我是局部变量"
    print(local_var)      # 可以访问局部变量
    print(global_var)     # 可以访问全局变量

    # 修改全局变量需要使用 global 关键字
    global global_var
    global_var = "修改后的全局变量"

test_function()
print(global_var)  # 修改后的全局变量
# print(local_var)  # 错误!无法访问局部变量

最佳实践

# 好的变量命名
user_count = 100
total_price = 99.99
is_valid = True
user_list = ["Alice", "Bob"]

# 不好的变量命名
a = 100          # 意义不明确
x1 = 99.99       # 意义不明确
flag = True      # 不够具体

# 常量定义(全大写)
CONFIG_FILE_PATH = "/etc/app/config.yaml"
MAX_FILE_SIZE = 1024 * 1024  # 1MB
DEFAULT_TIMEOUT = 30

总结

  1. 变量:可以改变的值,使用小写字母和下划线命名

  2. 常量:不应该改变的值,使用全大写字母命名(约定)

  3. Python 是动态类型语言,变量类型在运行时确定

  4. 使用有意义的变量名可以提高代码可读性

  5. 通过枚举类可以更好地管理相关常量

这些是 Python 中变量和常量的基本概念,掌握它们对编写清晰的 Python 代码非常重要!