news 2026/4/15 1:31:43

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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("非法输入!")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 1:30:11

从BDD100K到YOLO:一站式数据集格式转换实战指南

1. 环境准备与数据集获取 第一次接触BDD100K数据集时&#xff0c;我被它10万张标注图像的规模震撼到了。这个由伯克利大学发布的驾驶场景数据集&#xff0c;包含了丰富的天气、光照和道路条件变化&#xff0c;是训练自动驾驶模型的绝佳素材。但当我兴冲冲下载完数据准备用YOLOv…

作者头像 李华
网站建设 2026/4/15 1:28:27

Seismic Unix(SU)在Ubuntu 20.04上的安装与配置指南

1. 认识Seismic Unix&#xff08;SU&#xff09; Seismic Unix&#xff08;简称SU&#xff09;是地球物理领域最著名的开源地震数据处理软件包之一。我第一次接触SU是在研究生期间&#xff0c;当时导师扔给我一个U盘说&#xff1a;"把这个装上&#xff0c;以后处理地震数据…

作者头像 李华
网站建设 2026/4/15 1:28:04

6.1 加权方法:等权、IC加权、风险平价

6.1 加权方法&#xff1a;等权、IC加权、风险平价 一、引言&#xff1a;从“因子打分”到“真金白银” 经过前五章的奋战&#xff0c;你已经拥有了若干个经过检验、纯化后的优质因子。现在面临最后的临门一脚&#xff1a;如何将这些因子信号转化为具体的股票权重&#xff1f; 同…

作者头像 李华
网站建设 2026/4/15 1:16:09

【多模态大模型安全红皮书】:2024年全球7大隐私泄露真实案例、3层防御架构与GDPR/《个人信息保护法》合规落地指南

第一章&#xff1a;多模态大模型安全与隐私保护 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型在融合文本、图像、音频和视频等异构数据时&#xff0c;显著扩大了攻击面与隐私泄露风险。训练数据中隐含的敏感身份信息、版权内容或偏见标签可能被模型记忆并重构输…

作者头像 李华
网站建设 2026/4/15 1:13:26

C语言重点内容的部分小结

1.快捷键ctrlc 复制ctrlv 粘贴 ctrlx 剪切ctrlF5 编译代码F10 开始调试ctrlkc 注释ctrlku 取消注释ctrlz 撤销ctrly 反撤销2.while循环while&#xff08;表达式&#xff09;语句&#xff1b;用法举例&#xff1a;输入一个正整数&#xff0c;逆序…

作者头像 李华