当前位置: 首页 > ai >正文

【python基础知识】变量和简单数据类型

文章目录

    • 变量的命名与使用
      • 命名规则
      • 示例代码
    • 字符串操作(大小写转换/拼接)
      • 大小写转换方法
      • 字符串拼接技巧
    • 数字类型(整数/浮点数)
      • 整数运算
      • 浮点数运算
      • 浮点数精度问题
    • 注释编写规范
      • 单行注释
      • 多行注释(文档字符串)
      • 规范建议
    • 数据类型总结表
    • 总结

在Python编程中,变量和数据类型是最基础的概念。本文将详细介绍变量的命名规范、字符串操作技巧、数字类型的使用,以及注释编写规范。

变量的命名与使用

变量是存储数据的容器,使用前需赋值。Python是动态类型语言,无需声明类型。

命名规则

  • 只能包含:字母、数字和下划线(_),不能以数字开头
  • 区分大小写ageAge 是不同变量
  • 禁止使用:Python关键字(如 if, for, def 等)
  • 建议风格:使用小写字母和下划线(snake_case),如 user_name

示例代码

message = "Hello, Python!"  # 字符串变量
x = 42                     # 整数变量
is_valid = True            # 布尔变量(True/False)

字符串操作(大小写转换/拼接)

字符串是用单引号(')或双引号(")括起来的文本。

大小写转换方法

name = "ada lovelace"
print(name.title())  # 输出 "Ada Lovelace"(首字母大写)
print(name.upper())  # 输出 "ADA LOVELACE"(全大写)
print(name.lower())  # 输出 "ada lovelace"(全小写)

字符串拼接技巧

# 使用 + 拼接
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)  # 输出 "ada lovelace"# f-string(Python 3.6+)
print(f"Hello, {full_name.title()}!")  # 输出 "Hello, Ada Lovelace!"

数字类型(整数/浮点数)

Python支持整数(int)和浮点数(float),运算时会自动转换类型。

整数运算

x = 5
y = -10
print(x + y)  # 输出 -5
print(x * y)  # 输出 -50
print(x ** 2) # 输出 25(幂运算)

浮点数运算

a = 3.14
b = 2.0
print(a + b)  # 输出 5.14
print(a * b)  # 输出 6.28
print(4/2)    # 输出 2.0(除法永远返回浮点数)

浮点数精度问题

# 不精确示例
print(0.1 + 0.2)  # 输出 0.30000000000000004# 解决方案:使用 decimal 模块
from decimal import Decimal
print(Decimal('0.1') + Decimal('0.2'))  # 输出 0.3

注释编写规范

注释用于解释代码逻辑,提高可读性。

单行注释

# 这是一个单行注释
x = 10  # 可以放在代码后面

多行注释(文档字符串)

"""
这是一个多行注释
通常用于函数、类或模块的文档说明
"""
def greet(name):"""返回问候语(函数文档字符串)"""return f"Hello, {name}!"

规范建议

  • 使用英文注释(国际化团队)
  • 解释"为什么"而非"是什么"
  • 保持简洁,避免冗余注释
  • 函数和类必须使用文档字符串(docstring

数据类型总结表

数据类型示例注意事项
字符串'hello'"hi"大小写转换不修改原字符串
整数42, -10运算结果始终为整数
浮点数3.14, 2.0存在精度问题
布尔值True, False首字母必须大写

总结

通过合理命名变量、灵活操作字符串、处理数字类型,并遵循注释规范,可以编写出更清晰、易维护的Python代码。

http://www.xdnf.cn/news/10002.html

相关文章:

  • 基于 HT for Web 轻量化 3D 数字孪生数据中心解决方案
  • 随记 配置服务器的ssl整个过程
  • Netty 实战篇:为 Netty RPC 框架增加超时控制与重试机制,防止系统雪崩
  • ⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能
  • 在日常管理服务器中如何防止SQL注入与XSS攻击?
  • STM32G4 电机外设篇(二) VOFA + ADC + OPAMP
  • CloudCompare-源码分析-处理滚轮事件
  • 【Elasticsearch】suggest_mode
  • LangChain整合Milvus向量数据库实战:数据新增与删除操作
  • Centos7.x内网环境Jenkins前端打包环境配置
  • C#定时器深度对比:System.Timers.Timer vs System.Threading.Timer性能实测与选型指南
  • PECVD 生成 SiO₂ 的反应方程式
  • 数据分类分级的实践与反思:源自数据分析、治理与安全交叉视角的洞察
  • Python训练day34
  • LangChain-LangGraph框架 应用实例
  • 超低延迟与高稳定性的行业领先直播解决方案
  • RocketMQ 三大消息类型深度解析:普通消息、延迟消息、事务消息
  • C++ —— B/类与对象(中)
  • Python字典键的使用与应用:从基础到高级实践
  • OCC笔记:BRepMesh_IncrementalMesh的使用
  • python打卡day40@浙大疏锦行
  • 汽车高速通信的EMC挑战
  • Langchain4j Function Calling (5)
  • 关于ffplay在macos上运行奔溃的问题
  • 嵌入式开发学习日志(linux系统编程--进程(4)——线程锁)Day30
  • Google car key:安全、便捷的汽车解锁新选择
  • day40打卡
  • Netty 实战篇:为 Netty RPC 框架引入调用链追踪,实现链路透明化
  • 特伦斯 S75 电钢琴:奏响音乐新时代的华章
  • mongodb集群之分片集群