版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python编程基础项目三
基本数据类型3.1变量和常量目录3.1.1变量3.1.2常量Python编程基础3.1.1变量Python编程基础Python编程基础01变量基础概念02变量命名规则03类型动态绑定04常见错误与调试05特殊变量详解Python编程基础True仅包含两个值FalseVARIABLEFUNDAMENTALS什么是变量变量的定义变量是用于存储数据的容器,其值可以在程序运行过程中发生变化。在Python中,变量不需要声明类型,只需通过赋值操作即可创建。有名字标识每个变量都有一个名字(变量名),用于标识它多类型支持变量可以保存不同类型的数据(整数、字符串、浮点数等)值可改变值可以在程序运行过程中动态改变代码示例#创建变量并赋值age=25#整数类型name="Alice""#字符串类型height=1.68#浮点数类型Python编程基础BASICSYNTAX变量的基本语法语法格式变量名=值通过简单的赋值操作即可创建变量,等号=用于将右侧的值赋给左侧的变量名修改值#修改变量的值age=25age=26#值从25变为26变量值可随时修改,体现其动态特性完整示例✓Python自动识别类型无需显式声明,类型在赋值时自动确定✓灵活且简洁一行代码即可完成变量创建和初始化#创建不同类型的变量"user_name=张三"#字符串soure=95.5#浮点数is_valid=True#布尔值count=
100#整数Python编程基础NAMINGRULES变量命名规则则1开头规则必须以字母或下划线开头,不能以数字开头_name,age,height11name,@age2字符规则只能包含字母、数字和下划线,不能包含特殊字符或空格user_name,var123user-name,var1233大小写敏感变量名区分大小写Name="Alice#变量1name="Bob""#变量2(完全不同的变量)4避免关键字避免使用Python的关键字作为变量名ifelseforwhileclassdefreturn命名建议变量名应简洁明了,能表达数据的意义,推荐使用蛇形命名法(snake_case),如user_name,total_scorePython编程基础NameError:name'age'isnotdefined命名规范与最佳实践命名原则简洁明了名称应简短但具有描述性表达意义能清晰表达数据的意义和用途蛇形命名法使用小写字母和下划线组合推荐示例user_name用户名total_score总分数is_active是否激活max_value最大值重要提示:先定义再使用变量必须先定义再使用,访问未定义的变量会导致错误。#错误示例错误信息在使用变量前,确保已经为其赋值print(age)#NameErrorNameError:name'age'isnot
definedPython编程基础07DYNAMICTYPING类型动态绑定Python的动态类型特性Python是一种动态类型语言,变量的类型在运行时自动确定,不需要显式声明。同一变量可以被赋予不同类型的值,体现了Python的灵活性和简洁性。代码示例#变量x先被赋值为整数x=10#x是整数类型#变量x被重新赋值为字符串ox="Hello"#x变为字符串类型优势•代码更简洁,无需类型声明•开发效率高,快速迭代•灵活性高,易于重构注意事项•类型错误可能在运行时才暴露•需要良好的代码规范和测试•大型项目建议使用类型提示最佳实践虽然Python允许动态类型,但在实际开发中,为变量定义合适的数据类型可以显著提高程序的性能和可维护性。错误地使用数据类型可能导致隐性错误或程序崩溃。print(type(x))#print(type(x))#Python编程基础ERRORHANDLING常见类型错误与调试典型错误案例在Python中,类型不匹配是常见的错误来源。例如,尝试将字符串与整数进行加法操作就会抛出TypeError异常。错误代码错误原因字符串和整数不能直接用+连接正确写法解决方法使用str()函数将整数转换为字符串完整的错误信息(Traceback)调试建议了解数据类型之间的相互作用和限制至关重要。许多编程优化技巧(如减少内存使用、提高运算效率)也依赖于对数据类型的深入理解。Python编程基础SPECIALVARIABLES下划线变量_交互式解释器中的特殊变量在Python的交互式解释器中,下划线_是一个特殊的变量,它代表最近一次操作的结果。这个特性在进行连续计算时非常方便。使用示例#在Python交互式解释器中>>>5+38>>>_8>>>
_*216>>>_16使用场景•快速查看上一次计算结果•基于上一次结果继续计算•调试和测试时临时存储注意事项•仅在交互式解释器中有效•在脚本文件中无特殊含义•可被重新赋值覆盖扩展知识在Python脚本中,下划线也常用于表示"不重要的变量"或"临时变量",例如在循环中for_inrange(10)表示只关心循环次数,不关心循环变量。Python编程基础07MAGICVARIABLES魔法变量MagicVariables什么是魔法变量Python中的"魔法变量"指的是以双下划线开头和结尾的特殊内置变量,它们具有特殊的用途和行为。最常用的魔法变量包括__name__和__doc__。__name__变量用于判断当前模块是被直接运行还是被导入。#test.pymain()__doc__变量用于获取对象的文档字符串(docstring)。returnf"Hello,{name}!"__name__的经典用法详解直接运行test.py__name__=="__main__"为True,main()函数被执行导入test模块__name__=="test",main()函数不会自动执行3.1.2常量Python编程基础Python编程基础01什么是常量?02命名约定0304Final类型提示05实际应用场景enum模块06最佳实践CHAPTER01什么是常量?定义常量是指在程序运行过程中其值保持不变的数据。一旦赋值,就不应该在程序执行期间被修改。常量就像是程序中的"基石",为代码提供稳定性和可预测性。常量vs变量常量值不可更改全大写命名用于固定值变量值可以随时修改小写命名用于临时数据为什么使用常量?1增强可读性有意义的名称代替魔法数字,代码更易理解2减少错误防止意外修改关键值,降低Bug风险3便于维护集中管理,一处修改,全局生效Python的特殊性Python没有const关键字,不像Java或C那样有严格的常量机制。但我们可以通过命名约定和特殊模块来实现常量功能。Python编程基础CHAPTER02命名约定:全大写标识PEP8命名规范使用全部大写字母命名,并用下划线_分隔单词PI=3.14159MAX_USERS=100推荐DATABASE_HOSTDEFAULT_TIMEOUTAPI_BASE_URL不推荐databasehostdefaultTimeoutapiBaseUrl重要提示从语法上来说,这些全大写命名的"常量"依然是普通变量,仍可以在代码中被意外地重新赋值。但这种命名方式起到一种强烈的视觉提示作用,提醒开发者:不要轻易修改它们的值!代码示例#定义常量PI=3.14159MAX_USERS=100DATABASE_URL="localhost:5432"#使用常量radius=5area=PI*radius**2print(f"圆面积:{area:.2f}")#输出结果圆面积:78.54命名技巧使用描述性名称,见名知意避免缩写,保持清晰按功能模块组织常量CHAPTER03enum模块:创建真正的常量什么是枚举?从Python3.4开始,引入了enum模块,用于创建枚举类型。枚举类型中的成员本质上就是常量,一旦定义,它们的值不能随意更改。枚举特别适合表示一组固定的状态、类别等概念,如颜色、星期几、订单状态等不常变动的分类集合。真正的不可变性#尝试修改枚举值Color.RED=4AttributeError:Cannotreassignmembers
错误!枚举成员不可重新赋值,Python会抛出AttributeError异常安全!确保值在程序生命周期内的稳定性基础示例fromenumimportEnumclassColor(Enum):RED=1GREEN=2BLUE=3#访问枚举成员print(Color.RED)Color.RED#获取值和名称print(Color.RED.value)1print(Color.RED.name)'RED'
常见应用场景星期几Monday,Tuesday...订单状态Pending,Paid...用户角色Admin,User...HTTP状态OK,NotFound...CHAPTER04Final类型提示(Python3.8+)typing.Final修饰符在Python3.8+版本中,可以使用第三方库typing中的Final修饰符来声明常量。Final可以用来标记变量为不可变的,为代码提供更严谨的约束。如果后续有人试图重新赋值给被标记为Final的变量,类型检查器会在编译阶段检测到错误。编译期保护机制fromtypingimportFinalMY_CONST:Final=20#尝试重新赋值MY_CONST=30类型检查器报错TypeError:Cannotassigntofinalname"MY_CONST"在编译阶段就防止常量值被篡改完整示例fromtypingimportFinal#定义Final常量MAX_SIZE:Final[int]=9000API_VERSION:Final[str]="v1.0"DEBUG_MODE:Final[bool]=True#使用常量defprocess_data(data:list)->list:iflen(data)>MAX_SIZE:raiseValueError("Datatoolarge")returndata核心优势1编译期检查在运行前发现问题2IDE支持智能提示和错误检测3代码健壮防止意外修改CHAPTER05常量的实际应用场景数学常量#数学计算PI=3=2.71828182846GOLDEN_RATIO=1.61803398875#使用area=PI*r**2避免在代码中硬编码数学常数配置参数#数据库配置DB_HOST="localhost"DB_PORT=5432MAX_CONNECTIONS=100TIMEOUT_SECONDS=30集中管理,便于维护和修改状态管理fromenumimportEnumclassOrderStatus(Enum):PENDING="待支付"PAID="已支付"SHIPPED="已发货"DELIVERED="已送达"使用枚举确保状态值安全HTTP状态码fromenumimportEnumclassHTTPStatus(Enum):OK=200NOT_FOUND=404SERVER_ERROR=500#使用ifresponse.status==HTTPStatus.OK:提高代码可读性,避免魔法数字COMPARISON三种实现方式对比特性对比表特性全大写命名enum枚举Final类型语法复杂度简单中等中等强制约束无运行时编译期类型安全无有有IDE支持基本良好优秀适用场景简单配置状态/类别关键配置1全大写命名何时使用:简单项目、快速原型、配置项较少简单直观零依赖2enum枚举何时使用:状态管理、固定类别、需要遍历
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 喀什地区疏勒县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 海南藏族自治州同德县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 昌都地区八宿县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 阿坝藏族羌族自治州红原县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 晋城市泽州县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 攀枝花市仁和区2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 福州市晋安区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 梅州市兴宁市2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 乌兰察布盟卓资县2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案)
- 七夕营销策划方案
- 外墙施工方案范文(3篇)
- NCCN临床实践指南:头颈部肿瘤(2026.V1)解读课件
- 2026年安全员之C证(专职安全员)考试题库500道附参考答案【完整版】
- T CWEA水利水电工程钢筋机械连接施工规范
- 《用事实说话-透明化沟通的8项原则》读书笔记
- 《海洋工程设计基础》课件-第二章 海洋平台载荷
- (2025年)细选事业单位公共科目综合基础知识(管理岗)考试题库及答案
- 我国城市流浪犬猫安置的现状与分析
- 停业损失补偿协议书
- 桥梁结构健康监测技术研究
- 2025浙江单招试卷真题及答案
评论
0/150
提交评论