Python入门(2)——变量命名规则与6大核心数据类型

一、变量命名:代码世界的身份证

1.1 基础命名法则

Python变量命名三大铁律:

  1. 首字符限制:必须以字母或下划线开头,禁止数字开头

  2. 合法字符集 :仅允许字母、数字和下划线(_

  3. 避开保留字 :禁用iffor等35个关键字

合法示例:

python 复制代码
_user_age = 25     # 下划线开头
bookPrice2023 = 99 # 包含数字
MAX_LENGTH = 100   # 全大写常量

非法案例:

python 复制代码
3d_model = "car"     # 数字开头
first-name = "Tom"   # 连字符非法
class = "A班"        # 使用关键字

1.2 PEP8进阶规范

命名场景 PEP8规范 反例
变量/函数名 蛇形命名法 userName
类名 大驼峰式 data_processor
常量 全大写+下划线 MaxSpeed
私有变量 单下划线前缀 __secret_code

PyCharm智能提示:

  • 违规命名出现黄色波浪线

  • Alt+Enter快速修复格式问题

1.3 中文变量名争议

支持派用例

python 复制代码
学生列表 = ["张三", "李四"]
print(学生列表[0])  # 正常输出"张三"

反对派理由

  1. 跨平台乱码风险(如Linux默认编码问题)

  2. 协作开发障碍(混合编程环境)

  3. 自动补全失效(部分IDE支持不足)

折中方案

  • 数学公式翻译:Δ = 0.5 * b**2 - 4*a*c

  • 临时调试变量:临时值 = result * 0.8

  • 避免在生产代码中使用

二、数字类型:精确与近界的博弈

2.1 整型与浮点型特性对比

运算差异实验

python 复制代码
# 除法自动升级
print(4 / 2)    # 2.0 → float
print(5 // 2)   # 2 → int

# 混合运算规则
result = 3 + 2.5  # 自动转为float
print(type(result))  # <class 'float'>

精度陷阱演示

python 复制代码
print(0.1 + 0.2)  # 0.30000000000000004
from decimal import Decimal
print(Decimal('0.1') + Decimal('0.2'))  # 精确0.3

2.2 数值极限探索

超大整数处理

python 复制代码
# 普通整数
big_num = 10**100  # 直接计算
print(big_num)     # 完整显示

# 科学计数法
avogadro = 6.022e23
print(f"{avogadro:.0f}")  # 602200000000000000000000

三、字符串:文本的艺术

3.1 索引与切片进阶

多维切片技巧

python 复制代码
text = "Python编程从入门到精通"
print(text[6:8])       # 编程
print(text[::-1])      # 通精到门入从程编nohtyP
print(text[::2])       # Pto编从入到精

实用场景

python 复制代码
# 文件后缀提取
filename = "report_2023.pdf"
print(filename[-3:])  # pdf

# 手机号脱敏
phone = "13812345678"
print(phone[:3] + "****" + phone[-4:])  # 138****5678

3.2 转义字符全解析

常用转义序列

python 复制代码
print("路径:C:\\Users\\Desktop")  # 转义反斜杠
print("第一行\n第二行")           # 换行符
print("温度:\u2103")            # Unicode℃符号

原始字符串妙用

python 复制代码
regex = r"\d{3}-\d{8}"  # 匹配电话号
print(regex)  # \d{3}-\d{8}

四、列表与元组:变革与坚守

4.1 列表的七十二变

动态修改示例

python 复制代码
fruits = ["苹果", "香蕉"]
fruits.insert(1, "橙子")  # 插入元素
fruits[2] = "芒果"        # 修改元素
del fruits[0]            # 删除元素
print(fruits)  # ['橙子', '芒果']

高级技巧

python 复制代码
# 列表推导式
matrix = [[j for j in range(3)] for i in range(3)]
# [[0,1,2], [0,1,2], [0,1,2]]

# 多重拆包
a, *rest, z = [1,2,3,4,5]  # a=1, rest=[2,3,4], z=5

4.2 元组的不可变优势

特性验证

python 复制代码
colors = ("红", "绿", "蓝")
# colors[0] = "黑"  # 引发TypeError

# 元组拆包
x, y = (10, 20)
print(y)  # 20

内存效率测试

python 复制代码
import sys
lst = [1,2,3,4,5]
tup = (1,2,3,4,5)
print(sys.getsizeof(lst))  # 92(示例)
print(sys.getsizeof(tup))  # 72(示例)

五、类型转换:安全与风险的边界

5.1 显式转换的安全指南

安全转换示例

python 复制代码
# 浮点转整型
print(int(3.9))   # 3(直接截断)

# 字符串转数字
valid_str = "123"
print(float(valid_str))  # 123.0

危险地带

python 复制代码
# int("3.14")        # ValueError
# list(123)          # TypeError
# float("NaN")       # 特殊浮点值

5.2 隐式转换的自动魔法

常见隐式转换

python 复制代码
print(True + 5)     # 6 → int
print(3 + 2.5)      # 5.5 → float
print(str(10) + '年') # "10年" → str

布尔转换真相

python 复制代码
print(bool([]))     # False
print(bool(" "))    # True
print(bool(0.0))    # False
print(bool("0"))    # True

六、调试工坊:典型错误破解

6.1 变量引发的五个经典错误

错误案例集

python 复制代码
2nd = "亚军"          # 数字开头
global = 100         # 关键字占用
user list = []       # 空格非法
price$ = 9.9         # 特殊符号
数据 = 100           # 中文变量在服务器报错

6.2 类型错误急救包

类型错误解析

python 复制代码
age = input("年龄:")  # 返回字符串
print(age + 1)       # TypeError

nums = (1,2,3)
nums[0] = 5          # 元组不可变错误

解决方案

python 复制代码
# 安全转换年龄
age = int(input("年龄:").strip())
相关推荐
小黄人软件1 小时前
C# ini文件全自动界面配置:打开界面时读ini配置到界面各控件,界面上的控件根据ini文件内容自动生成,点保存时把界面各控件的值写到ini里。
开发语言·c#
牧歌悠悠1 小时前
【Python 算法】动态规划
python·算法·动态规划
Doris Liu.3 小时前
如何检测代码注入(Part 2)
windows·python·安全·网络安全·网络攻击模型
逢生博客3 小时前
阿里 FunASR 开源中文语音识别大模型应用示例(准确率比faster-whisper高)
人工智能·python·语音识别·funasr
Android洋芋3 小时前
C语言深度解析:从零到系统级开发的完整指南
c语言·开发语言·stm32·条件语句·循环语句·结构体与联合体·指针基础
bjxiaxueliang3 小时前
一文详解QT环境搭建:Windows使用CLion配置QT开发环境
开发语言·windows·qt
噔噔噔噔@3 小时前
软件测试对于整个行业的重要性及必要性
python·单元测试·压力测试
赵谨言4 小时前
基于Python的Django框架的个人博客管理系统
经验分享·python·毕业设计
Run_Teenage4 小时前
C语言 【初始指针】【指针一】
c语言·开发语言
Guarding and trust4 小时前
python系统之综合案例:用python打造智能诗词生成助手
服务器·数据库·python