Python 变量和数据类型

Python 变量和数据类型

Python 变量和数据类型

概述

变量和数据类型是编程的基础概念。在Python中,变量用于存储数据,而数据类型决定了变量可以存储的数据种类以及可以对这些数据执行的操作。

数据类型分类

数据类型分类

数据类型 ├── 基本数据类型 │ ├── 数字类型 (Numbers) │ ├── 字符串类型 (String) │ ├── 布尔类型 (Boolean) │ └── None类型 └── 复合数据类型 ├── 列表类型 (List) ├── 元组类型 (Tuple) ├── 字典类型 (Dictionary) └── 集合类型 (Set) 

代码示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-""" 文件名: variables_and_data_types.py 开发思路和开发过程: 1. 首先介绍Python中的基本数据类型 2. 演示如何声明和使用变量 3. 展示各种数据类型的特性和用法 4. 包含类型转换的相关示例 代码功能: 演示Python中的变量和数据类型,包括数字、字符串、布尔值等基本类型, 以及列表、元组、字典、集合等复合类型。 """# 1. 数字类型 (Numbers)print("=== 数字类型 ===")# 整数 (Integer) age =25print(f"整数示例 - 年龄: {age} (类型: {type(age)})")# 浮点数 (Float) height =175.5print(f"浮点数示例 - 身高: {height}cm (类型: {type(height)})")# 复数 (Complex) complex_num =3+4jprint(f"复数示例: {complex_num} (类型: {type(complex_num)})")# 布尔值 (Boolean) - 实际上是int的子类 is_student =True is_employed =Falseprint(f"布尔值示例 - 是学生: {is_student} (类型: {type(is_student)})")print(f"布尔值示例 - 已就业: {is_employed} (类型: {type(is_employed)})")print("\n")# 2. 字符串类型 (String)print("=== 字符串类型 ===")# 单引号字符串 name ='张三'print(f"单引号字符串: {name}")# 双引号字符串 message ="Hello, World!"print(f"双引号字符串: {message}")# 三引号字符串(多行字符串) multiline_text =""" 这是一个 多行 字符串示例 """print(f"三引号字符串: {multiline_text}")# 字符串格式化 (f-string, Python 3.6+特性,在Python 3.12中仍然适用) formatted_str =f"姓名: {name}, 年龄: {age}"print(f"F-string格式化: {formatted_str}")print("\n")# 3. 列表类型 (List) - 可变有序序列print("=== 列表类型 ===")# 创建列表 fruits =['苹果','香蕉','橙子']print(f"水果列表: {fruits} (类型: {type(fruits)})")# 访问列表元素print(f"第一个水果: {fruits[0]}")# 修改列表元素 fruits[1]='葡萄'print(f"修改后的水果列表: {fruits}")# 添加元素 fruits.append('草莓')print(f"添加草莓后的列表: {fruits}")print("\n")# 4. 元组类型 (Tuple) - 不可变有序序列print("=== 元组类型 ===")# 创建元组 coordinates =(10,20)print(f"坐标元组: {coordinates} (类型: {type(coordinates)})")# 元组解包 x, y = coordinates print(f"解包后 - x: {x}, y: {y}")print("\n")# 5. 字典类型 (Dictionary) - 键值对集合print("=== 字典类型 ===")# 创建字典 person ={'name':'李四','age':30,'city':'北京'}print(f"人员信息字典: {person} (类型: {type(person)})")# 访问字典值print(f"姓名: {person['name']}")# 添加新的键值对 person['occupation']='工程师'print(f"添加职业后的字典: {person}")print("\n")# 6. 集合类型 (Set) - 无序不重复元素集合print("=== 集合类型 ===")# 创建集合 unique_numbers ={1,2,3,3,4,4,5}print(f"唯一数字集合: {unique_numbers} (类型: {type(unique_numbers)}, 注意重复元素被去除)")# 集合操作 set_a ={1,2,3} set_b ={3,4,5}# 并集 union_result = set_a | set_b print(f"并集: {union_result}")# 交集 intersection_result = set_a & set_b print(f"交集: {intersection_result}")print("\n")# 7. 类型转换 (Type Conversion)print("=== 类型转换 ===")# 字符串转整数 str_num ="123" int_num =int(str_num)print(f"字符串 '{str_num}' 转整数: {int_num} (类型: {type(int_num)})")# 整数转字符串 num =456 str_from_num =str(num)print(f"整数 {num} 转字符串: '{str_from_num}' (类型: {type(str_from_num)})")# 列表转元组 my_list =[1,2,3] my_tuple =tuple(my_list)print(f"列表 {my_list} 转元组: {my_tuple} (类型: {type(my_tuple)})")# 元组转列表 original_tuple =('a','b','c') new_list =list(original_tuple)print(f"元组 {original_tuple} 转列表: {new_list} (类型: {type(new_list)})")print("\n")# 8. None类型print("=== None类型 ===") result =Noneprint(f"None值: {result} (类型: {type(result)})")print("\n")# 9. 查看变量类型print("=== 查看变量类型 ===") variations =[age, height, name, is_student, fruits, coordinates, person, unique_numbers]for i, var inenumerate(variations,1):print(f"变量 {i}: 值={var}, 类型={type(var).__name__}")

数据类型特性对比

数据类型特性对比

可变性

有序性

允许重复

索引方式

列表: 可变

元组: 不可变

字典: 可变

集合: 可变

列表: 有序

元组: 有序

字典: 有序

集合: 无序

列表: 允许

元组: 允许

字典: 值允许,键不允许

集合: 不允许

列表: 数字索引

元组: 数字索引

字典: 键索引

集合: 无索引

学习要点

  1. 理解变量的概念:变量是存储数据的容器
  2. 掌握各种数据类型的特性:不同数据类型有不同的用途和操作方法
  3. 学会类型转换:在适当的时候进行数据类型转换
  4. 理解可变与不可变类型的区别:这会影响程序的行为和性能

实践建议

  1. 运行示例代码,观察各种数据类型的输出
  2. 尝试修改代码中的值,观察结果变化
  3. 练习不同类型之间的转换
  4. 创建自己的数据结构组合使用多种数据类型

Read more

2026年3月GESP真题及题解(C++一级):数字替换

2026年3月GESP真题及题解(C++一级):数字替换

2026年3月GESP真题及题解(C++一级):数字替换 题目描述 Alice 不喜欢 4,喜欢 8,她想把 4 全换成 8,若无 4 则不修改。 输入格式 输入一行,一个整数 A,表示替换前的数。 输出格式 输出一行,包含一个整数 B,表示替换后的数。 样例 样例 1: 输入: 8459045 输出: 8859085 样例 2: 输入: 123 输出: 123 数据范围 * 0 ≤ A ≤ 10 9 0 \leq A \leq 1

By Ne0inhk
基于飞算 JavaAI 高效开发电商系统核心功能模块实战指南

基于飞算 JavaAI 高效开发电商系统核心功能模块实战指南

基于飞算 JavaAI 高效开发电商系统核心功能模块实战指南 在电商系统开发领域,效率与稳定性始终是开发者追求的核心目标。传统 Java 开发模式下,电商系统的商品管理、订单处理、支付集成等核心模块往往需要大量重复编码、复杂的异常处理和繁琐的性能优化工作。飞算 JavaAI 作为新一代智能开发工具,通过 AI 驱动的代码生成、自动化测试与性能优化能力,可将电商核心模块的开发效率提升 60% 以上。本文将以主流电商系统的三大核心模块为例,详细讲解如何利用飞算 JavaAI 实现从需求定义到上线部署的全流程高效开发。 一、飞算 JavaAI 电商开发环境准备 1.1 开发环境配置 打开Idea,戳进插件市场(快捷键:Ctrl+Alt+S),搜索‘CalEx-JavaAI’或者’飞算’,安装完成后重启,并登录飞算。 1.2 核心技术栈说明 技术组件版本飞算 JavaAI

By Ne0inhk
毕业设计--15614基于Java的餐馆管理系统的设计与实现(案例分析)-附源码

毕业设计--15614基于Java的餐馆管理系统的设计与实现(案例分析)-附源码

摘  要 以满足现代餐饮业日益复杂的管理需求,本研究设计并实现一个基于Java的餐馆管理系统。采用Spring Boot框架和MySQL数据库,系统主要分为顾客用户、管理员以及员工用户三大模块。对于顾客用户,系统提供了包括注册、登录、浏览餐厅资讯与菜品信息、商城购物、查看餐厅信息、账户管理及个人中心等功能;个人中心内还集成了预约信息、订单配送状态跟踪、收藏夹和评论管理等特色服务。管理员则通过后台进行全局性的操作,如销售数据统计分析、系统用户管理、餐厅信息及其评论的维护、预约审核、轮播图设置、公告信息发布、新闻资讯更新以及全面的商城管理。员工用户功能相对聚焦,重点在于登录验证后对其负责餐厅的信息查看、预约审核以及特定范围内的商城管理任务执行。整个系统的设计与实现充分考虑了用户体验、数据安全性和操作便捷性,力求为餐饮行业提供一套高效、实用的信息化解决方案。 关键词:餐馆管理系统;Spring Boot;Java;MySQL ABSTRACT To meet the increasingly complex management needs of the modern

By Ne0inhk
基于 Java + SpringBoot + Vue + MySQL 的考试报名系统实战指南

基于 Java + SpringBoot + Vue + MySQL 的考试报名系统实战指南

🎓 基于 Java + SpringBoot + Vue + MySQL 的考试报名系统实战指南 🌟 项目简介 本文分享一个基于 Java + SpringBoot + Vue + MySQL 构建的完整考试报名系统。该项目适合用于毕业设计、课程设计或企业级开发学习参考,功能模块齐全,代码结构清晰。 🧩 核心功能模块 * 用户登录 / 注册 * 学生信息管理 * 教师信息管理 * 考试信息管理 * 考试报名管理 * 准考证管理 * 考试成绩管理 * 论坛交流 * 其它功能… 🖼️ 系统界面预览 ⚙️ 运行环境与工具要求 为了确保项目顺利运行,请确认您的开发环境满足以下条件: ✅ 推荐配置 * Java: JDK 1.8 * MySQL: 8.0.41 * Node.js: 16.20.2 ⚠️ 注意:版本不一致可能导致依赖冲突或启动失败。 🛠️ 开发工具 * 后端:

By Ne0inhk