Python变量基础

本教程将介绍Python变量的基础知识,包括变量的定义、命名规则、数据类型、赋值方式等概念。通过本教程,你将学会如何在Python中正确使用变量。

变量简介

变量是用于存储数据的容器。在Python中,变量不需要声明类型,Python会根据赋值自动判断类型。

变量的基本使用


# 变量赋值
name = "小明"      # 字符串类型
age = 18          # 整数类型
height = 1.75     # 浮点数类型
is_student = True # 布尔类型

# 使用变量
print(f"姓名:{name}")
print(f"年龄:{age}")
print(f"身高:{height}米")
print(f"是否是学生:{is_student}")

# 变量的值可以改变
age = 19
print(f"新年龄:{age}")
                    

变量的特点

  • 变量名区分大小写
  • 变量可以重新赋值
  • 变量类型可以改变
  • 同一个值可以赋给多个变量

命名规则

Python变量命名有一定的规则和约定,遵循这些规则可以让代码更加规范和易读。

基本规则

  • 只能包含字母、数字和下划线
  • 不能以数字开头
  • 不能使用Python关键字
  • 区分大小写

# 正确的命名
user_name = "小明"
age1 = 18
firstName = "张"
_private = "私有变量"

# 错误的命名
1name = "错误"    # 不能以数字开头
user-name = "错误" # 不能使用连字符
class = "错误"    # 不能使用关键字
                    

命名约定


# 变量名使用小写字母和下划线
user_name = "小明"
first_name = "张"

# 常量名使用大写字母和下划线
MAX_VALUE = 100
PI = 3.14159

# 类名使用驼峰命名法
class UserAccount:
    pass

# 临时或无意义的变量名
x = 10
i = 0
temp = "临时变量"
                    

数据类型

Python有多种内置数据类型,每种类型都有其特定的用途和操作方法。

基本数据类型


# 数字类型
integer = 10          # 整数
float_num = 3.14     # 浮点数
complex_num = 1 + 2j # 复数

# 字符串类型
string = "Hello, World!"
multi_line = """
这是一个
多行字符串
"""

# 布尔类型
is_true = True
is_false = False

# 空值
empty = None

# 查看数据类型
print(type(integer))     # 
print(type(float_num))   # 
print(type(string))      # 
print(type(is_true))     # 
                    

容器类型


# 列表(可修改)
fruits = ["苹果", "香蕉", "橙子"]
numbers = [1, 2, 3, 4, 5]

# 元组(不可修改)
coordinates = (3, 4)
rgb = (255, 128, 0)

# 字典(键值对)
person = {
    "name": "小明",
    "age": 18,
    "city": "北京"
}

# 集合(唯一值)
unique_numbers = {1, 2, 3, 4, 5}
unique_letters = set(["a", "b", "c"])

# 使用示例
print(fruits[0])         # 访问列表元素
print(coordinates[1])    # 访问元组元素
print(person["name"])    # 访问字典值
print(2 in unique_numbers)  # 检查集合成员
                    

赋值方式

Python提供了多种变量赋值方式,包括单个赋值、多重赋值和增强赋值。

基本赋值


# 单个赋值
x = 10
name = "小明"

# 多重赋值
a = b = c = 0  # 多个变量赋相同的值

# 序列解包
x, y = 1, 2
coordinates = (3, 4)
x, y = coordinates

# 交换变量值
a, b = 1, 2
a, b = b, a  # 交换a和b的值
                    

增强赋值


# 数字运算
number = 10
number += 5   # 等同于 number = number + 5
number -= 3   # 等同于 number = number - 3
number *= 2   # 等同于 number = number * 2
number /= 4   # 等同于 number = number / 4

# 字符串操作
greeting = "Hello"
greeting += " World"  # 字符串拼接

# 列表操作
numbers = [1, 2, 3]
numbers += [4, 5]    # 列表扩展
                    

类型转换

Python提供了多种类型转换函数,可以将一种数据类型转换为另一种类型。

基本类型转换


# 字符串转数字
str_num = "123"
integer = int(str_num)    # 转换为整数
float_num = float(str_num)  # 转换为浮点数

# 数字转字符串
number = 123
str_num = str(number)    # 转换为字符串

# 布尔转换
bool_value = bool(1)     # True
bool_empty = bool("")    # False

# 容器类型转换
numbers = [1, 2, 3, 4, 5]
number_tuple = tuple(numbers)  # 列表转元组
number_set = set(numbers)      # 列表转集合
                    

安全的类型转换


def safe_int_convert(value):
    """安全地将值转换为整数"""
    try:
        return int(value)
    except (ValueError, TypeError):
        return None

def safe_float_convert(value):
    """安全地将值转换为浮点数"""
    try:
        return float(value)
    except (ValueError, TypeError):
        return None

# 使用示例
print(safe_int_convert("123"))    # 123
print(safe_int_convert("abc"))    # None
print(safe_float_convert("12.3")) # 12.3
print(safe_float_convert("xyz"))  # None
                    

实践练习

通过以下练习来加深对变量的理解:

练习1:个人信息管理


# 创建一个存储个人信息的程序
name = "小明"
age = 18
height = 1.75
hobbies = ["读书", "游泳", "编程"]
contact = {
    "email": "[email protected]",
    "phone": "12345678901"
}

# 格式化输出信息
print(f"""
个人信息:
姓名:{name}
年龄:{age}
身高:{height}米
爱好:{', '.join(hobbies)}
联系方式:
  - 邮箱:{contact['email']}
  - 电话:{contact['phone']}
""")
                    

练习2:温度转换


def convert_temperature():
    """温度转换程序"""
    celsius = float(input("请输入摄氏温度:"))
    
    # 转换为华氏温度
    fahrenheit = (celsius * 9/5) + 32
    
    # 转换为开尔文温度
    kelvin = celsius + 273.15
    
    print(f"""
温度转换结果:
摄氏度:{celsius}°C
华氏度:{fahrenheit}°F
开尔文:{kelvin}K
""")

# 调用函数
convert_temperature()
                    

练习3:购物清单


# 创建购物清单程序
shopping_list = []
prices = {}

def add_item(item, price):
    """添加商品到购物清单"""
    shopping_list.append(item)
    prices[item] = price

def calculate_total():
    """计算总价"""
    return sum(prices.values())

# 添加商品
add_item("苹果", 5.5)
add_item("面包", 8.0)
add_item("牛奶", 12.5)

# 打印购物清单
print("\n购物清单:")
for item in shopping_list:
    print(f"{item}: ¥{prices[item]}")
print(f"\n总计:¥{calculate_total():.2f}")