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

Python学习日志(二):基础语法

Python基础语法

一、变量

变量是存储数据的容器,通过赋值语句创建:

name = "Alice" # 字符串变量 age = 25 # 整数变量 height = 1.68 # 浮点数变量 is_student = True # 布尔变量

注意事项

  1. 变量名区分大小写:Ageage不同
  2. 命名规范:使用蛇形命名法(如user_name
  3. 动态类型:变量类型由赋值自动确定
  4. 避免使用Python关键字(如printfor)作变量名

二、数据类型
类型示例特性
整型(int)42无大小限制
浮点(float)3.14存在精度误差
字符串(str)"Python"支持切片"Py"[0:2]
布尔(bool)True/False逻辑运算基础
列表(list)[1, "a", True]可修改,有序
元组(tuple)(1, "b")不可修改
字典(dict){"name": "Bob"}键值对映射
集合(set){1, 2, 3}元素唯一,无序

类型转换函数:

int("10") → 10 str(3.14) → "3.14" list("abc") → ['a','b','c']
三、判断语句
# 基础if-elif-else结构 score = 85 if score >= 90: print("优秀") elif score >= 60: print("及格") # 输出此结果 else: print("不及格") # 三元表达式 status = "通过" if score >= 60 else "未通过"

注意事项

  1. 使用==判断相等,is判断对象标识
  2. 空值判断:if not list:优于if len(list)==0:
  3. 避免连续比较歧义:1 < x < 10合法,但x == y == z需谨慎
四、循环结构

1. while循环

count = 0 while count < 5: print(f"计数: {count}") count += 1 # 必须更新循环变量!

2. for循环

# 遍历序列 fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit) # 使用range for i in range(3): # 输出0,1,2 print(i) # 字典遍历 person = {"name": "Tom", "age": 20} for key, value in person.items(): print(f"{key}: {value}")

循环控制

  • break:立即终止循环
  • continue:跳过当前迭代
  • else:循环正常结束时执行(非break退出)

五、函数
# 定义函数 def calculate_area(width, height=1): # height为默认参数 """计算矩形面积""" # 文档字符串 return width * height # 调用函数 print(calculate_area(5, 4)) # 输出20 print(calculate_area(3)) # 使用默认height=1, 输出3 # 匿名函数 square = lambda x: x**2 print(square(4)) # 输出16

注意事项

  1. 参数传递:不可变对象传值,可变对象传引用
  2. 避免默认参数可变陷阱:
    # 错误示范 def add_item(item, lst=[]): lst.append(item) return lst # 正确做法 def add_item(item, lst=None): lst = lst or [] lst.append(item) return lst
六、语法注意事项
  1. 缩进规则

    • 使用4个空格(非Tab)作为缩进层级
    • 同一代码块必须严格对齐
    # 错误示例 if True: print("Hello") # IndentationError
  2. 引号使用

    • 字符串可用单引号'或双引号"
    • 多行字符串用三引号'''"""
  3. 特殊运算符

    • 整除://(如7//2→3
    • 幂运算:**(如2**3→8
    • 成员检测:in(如"a" in "apple"→True
  4. 空值表示:使用None(非NULLnull


七、综合实例:学生成绩分析器
def analyze_grades(grades): """分析成绩数据""" if not grades: return "无有效数据" # 计算统计值 avg = sum(grades) / len(grades) max_score = max(grades) min_score = min(grades) # 评级分布 levels = {"A": 0, "B": 0, "C": 0, "D": 0} for score in grades: if score >= 90: levels["A"] += 1 elif score >= 80: levels["B"] += 1 elif score >= 70: levels["C"] += 1 else: levels["D"] += 1 # 返回结果字典 return { "average": round(avg, 2), "max": max_score, "min": min_score, "distribution": levels } # 测试数据 scores = [92, 85, 76, 88, 69, 95, 62] result = analyze_grades(scores) # 结果输出 print(f"平均分: {result['average']}") print(f"最高分: {result['max']}, 最低分: {result['min']}") print("等级分布:") for level, count in result["distribution"].items(): print(f"{level}级: {count}人")

输出结果

平均分: 81.0 最高分: 95, 最低分: 62 等级分布: A级: 2人 B级: 2人 C级: 2人 D级: 1人
八、最佳实践总结
  1. 变量:使用描述性名称,避免单字符(除循环变量)
  2. 类型:操作前验证数据类型(如用type()isinstance()
  3. 循环:优先选用for循环,避免无限while
  4. 函数:遵循单一职责原则,函数长度不超过50行
  5. 异常处理:使用try-except捕获潜在错误
    try: num = int(input("输入数字: ")) except ValueError: print("非法输入!")
http://www.jsqmd.com/news/642325/

相关文章:

  • 教你怎样搭建自动化测试框架?
  • 精准力控安全夹持,力控夹爪厂家品控与售后体系全解析 - 品牌2026
  • 每日一题:.NET 性能优化常用手段有哪些?
  • 璀璨时代楼盘联系方式查询指南:结合区域发展与居住品质的客观信息参考 - 品牌推荐
  • 2026年精密夹爪品牌推荐:精密夹爪核心指标与品质管控标准解读 - 品牌2026
  • 区块链分片算法突破:MLGO信任场重塑物联网,Kafka06-进阶-尚硅谷。
  • 终极免费音频解密工具:3分钟解锁QQ音乐加密文件实现跨平台播放
  • 精密装配力控保障:2026年优质供应商甄选与供货稳定性核查 - 品牌2026
  • 告别繁琐!OpenClaw Windows 可视化一键部署安装教程
  • 客服机器人回答错误可自动撤回?智能 Agent 功能详解 + 消息撤回,发错答案快速补救?
  • 6.1 加权方法:等权、IC加权、风险平价
  • 2026年SCI论文AI率超标怎么办?这4款降AI工具实测通过率最高
  • 河南精铸工匠不锈钢有限公司电话查询:获取官方联系途径的指南与商业合作注意事项 - 品牌推荐
  • 2026年电爪品牌推荐:电爪品牌实力精选与品控标准测评 - 品牌2026
  • 玄域靶场越权系列第1关实战复盘
  • 10-15万家庭混动SUV安全性能实证研究报告
  • 如何在jupyter中实现qutip输出电路示意图
  • 刘艳伟律师联系方式:在郑州寻求建设工程与房地产领域专业法律支持时的联系途径与初步沟通建议 - 品牌推荐
  • **发散创新:基于RBAC模型的开源权限管理系统设计与实现**在现代软件架构中,权限控制是系统安全的核
  • DearPyGui内置的‘开发者工具箱’有多强?手把手教你用Style Editor和Metrics打造专属UI
  • 拼多多爬虫终极指南:3步获取电商平台真实数据
  • qutip——玩(6)
  • 2026年,这家公司如何助力互联网医疗软件开发与运营?
  • 《深度解析QClaw同步架构:为什么它比所有云盘都快10倍》
  • AAAI认证! Transformer+多模态融合2026仍是王炸,持续狂揽顶会
  • 如何选25-30万新能源SUV车型?2026年4月推荐评测口碑对比TOP5产品知名城市通勤停车难 - 品牌推荐
  • 算法训练营第二天| 27. 双指针
  • Python Lambda 表达式等价普通函数实现
  • 2026届最火的降AI率方案横评
  • Banana Vision Studio在文物保护中的应用:古董机械钟表数字化