恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
在 Python 编程中,**基础数据类型**、**变量**和**常量**是程序最底层的构建块
首页
资讯中心
/
在 Python 编程中,**基础数据类型**、**变量**和**常量**是程序最底层的构建块
在 Python 编程中,**基础数据类型**、**变量**和**常量**是程序最底层的构建块
发布时间:2026/10/17 6:44:36
在 Python 编程中基础数据类型、变量和常量是程序最底层的构建块。题目中提到的“整型 int、浮点 float/double、字符 char”如果直接照搬到 Python需要做一次重要纠正Python 有int和float但没有 C/C 意义上的double和char。Python 中的浮点数统一使用float表示单个字符也不再是独立类型而是长度为 1 的字符串str。因此更准确的 Python 基础类型表述应为整型int、浮点型float、字符串str、布尔型bool以及表示空值的None。变量通过赋值创建常量则主要依靠命名约定表达。标识符命名是否规范直接影响代码可读性、可维护性和团队协作效率。二、基础数据类型1. 整型int整型用于表示整数包括正整数、负整数和 0。Python 的int没有固定位数限制理论上可以表示任意大的整数这一点与 C/C 中的short、int、long有明显区别。age20temperature-5big_number99999999999999999999print(age,type(age))# 20 class intprint(temperature,type(temperature))# -5 class intprint(big_number,type(big_number))# 很大整数 class int2. 浮点型floatPython 中没有double类型浮点数统一使用float。它通常对应底层 C 语言的双精度浮点数用于表示小数。price19.99height1.75pi3.14159print(price,type(price))# 19.99 class floatprint(height,type(height))# 1.75 class float需要注意浮点数在计算机中采用二进制近似存储因此可能出现精度误差print(0.10.2)# 0.30000000000000004如果涉及金融计算等高精度场景后续可进一步使用decimal模块。3. 字符串strPython 中没有单独的charPython 不使用char表示单个字符。字符串由单引号、双引号或三引号定义单个字符只是长度为 1 的字符串。letterAnameAlicesentenceHello, Python.print(letter,type(letter))# A class strprint(name[0])# Aprint(len(letter))# 14. 布尔型bool与空值None布尔型只有两个值True和False常用于条件判断。None表示“没有值”它不是 0也不是空字符串。is_activeTrueis_deletedFalseresultNoneprint(type(is_active))# class boolprint(type(result))# class NoneType三、变量定义与类型推断Python 是动态类型语言变量不需要提前声明类型赋值时由解释器自动推断。x10# intx3.14# 重新赋值为 floatxPython# 重新赋值为 str这种机制非常灵活但也要求开发者注意变量含义的一致性。同一个变量名不应在短距离内反复承载完全不同语义的值否则会降低可读性。查看变量类型可使用type()score95print(type(score))# class int四、常量定义Python 没有真正的“常量”语法不能从语言层面强制禁止修改。工程实践中通常采用全大写命名约定表示常量。PI3.14159GRAVITY9.8MAX_RETRY_COUNT3更规范的做法是将常量放在模块级别避免魔法数字散落在代码中HOURLY_SALARY35SOCIAL_SECURITY_TAX_RATE0.04FEDERAL_TAX_RATE0.10defcompute_net_salary(hours):return(hours*HOURLY_SALARY*(1-(SOCIAL_SECURITY_TAX_RATEFEDERAL_TAX_RATE)))如果需要更强的约束可以使用enum.Enum定义枚举常量fromenumimportEnumclassColor(Enum):RED1GREEN2BLUE3print(Color.RED)# Color.REDprint(Color.RED.value)# 1五、标识符命名规则1. 硬性规则Python 标识符命名必须遵守以下规则只能由字母、数字、下划线组成不能以数字开头不能包含空格和特殊符号区分大小写name、Name、NAME是不同标识符不能使用 Python 关键字如if、for、class、return等。# 合法user_nameAlice_score90count_210# 非法# 2name Bob # 不能以数字开头# user-name Bob # 不能包含减号# class 10 # class 是关键字2. 命名风格Python 社区普遍遵循 PEP 8 规范对象推荐风格示例变量、函数snake_caseuser_name,calculate_area常量UPPER_CASEMAX_SIZE,PI类名PascalCaseStudentInfo,DataProcessor私有属性_var/__var_cache,__secret好的命名应“见名知意”。total_score明显优于tscalculate_area明显优于calc。六、综合示例代码 Python 基础数据类型、变量、常量与命名规范示例 # 常量定义PI3.14159MAX_SCORE100SCHOOL_NAMEPython Academydefget_student_info(name:str,age:int,score:float)-dict:返回学生信息字典演示基础类型使用。is_excellentscore90return{name:name,age:age,score:score,is_excellent:is_excellent,}defcalculate_circle_area(radius:float)-float:使用常量 PI 计算圆面积。ifradius0:raiseValueError(半径必须大于 0)returnPI*radius**2if__name____main__:# 基础类型演示student_nameAlice# strstudent_age20# intstudent_score95.5# floatis_activeTrue# boolremarkNone# NoneTypeprint(类型检查)print(type(student_name))# class strprint(type(student_age))# class intprint(type(student_score))# class floatprint(type(is_active))# class boolprint(type(remark))# class NoneType# 类型转换text_number100numberint(text_number)print(\n类型转换)print(number5)# 105print(float(number))# 100.0print(str(number))# 100# 常量使用radius5areacalculate_circle_area(radius)print(f\n半径为{radius}的圆面积为{area})# 函数调用infoget_student_info(student_name,student_age,student_score)print(\n学生信息,info)# 命名规范演示max_scoreMAX_SCOREprint(f满分{max_score}学校{SCHOOL_NAME})七、代码解析类型展示通过type()可以确认变量当前持有的数据类型。Python 的变量本身没有固定类型类型依附于对象。类型转换int()、float()、str()是常见转换函数。但int(abc)会抛出ValueErrorage: 20会抛出TypeError因此转换前需要确保数据合法。常量使用PI、MAX_SCORE、SCHOOL_NAME采用全大写命名表明它们不应被随意修改。虽然 Python 不会强制保护但这种约定能显著降低维护成本。函数设计函数名使用snake_case参数名具有明确含义返回字典便于后续扩展。f-string 输出f...{变量}...是 Python 推荐的字符串格式化方式比%和.format()更直观。八、亮点总结纠正跨语言误区明确指出 Python 没有double和char避免把 C/C/Java 的类型体系直接套用过来。强调动态类型特性变量类型由赋值对象决定灵活但需要开发者自律。区分“规则”和“约定”标识符命名既有必须遵守的语法规则也有 PEP 8 推荐的风格约定。常量工程化表达不仅介绍全大写命名还补充了枚举类和模块级常量管理方式。代码可运行、可复用示例覆盖类型检查、类型转换、常量使用、函数封装和格式化输出适合作为入门练习模板。掌握这些内容后后续学习列表、元组、字典、函数参数、类与对象时就能更清楚地理解“数据如何存储、变量如何绑定、命名如何表达意图”。