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

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} 元素唯一,无序

类型转换函数:

python 复制代码
int("10") → 10
str(3.14) → "3.14"
list("abc") → ['a','b','c']
三、判断语句
python 复制代码
# 基础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循环

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

2. for循环

python 复制代码
# 遍历序列
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退出)

五、函数
python 复制代码
# 定义函数
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. 避免默认参数可变陷阱:

    python 复制代码
    # 错误示范
    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)作为缩进层级
    • 同一代码块必须严格对齐
    python 复制代码
    # 错误示例
    if True:
    print("Hello")  # IndentationError
  2. 引号使用

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

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


七、综合实例:学生成绩分析器
python 复制代码
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捕获潜在错误

    python 复制代码
    try:
        num = int(input("输入数字: "))
    except ValueError:
        print("非法输入!")
相关推荐
天若有情6738 小时前
程序员原创|借鉴JS事件冒泡,根治电脑文件混乱的“冒泡整理法”
开发语言·javascript·windows·ecmascript·电脑·办公·日常
小e说说8 小时前
拯救孩子学习兴趣大作战!这些软件超神了
学习
九成宫8 小时前
Outlook使用
windows·笔记·outlook·办公
七颗糖很甜8 小时前
电离层对地基雷达测量精度的影响分析与校正方法
python
AC赳赳老秦8 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
小熊Coding9 小时前
Python2D射击冒险闯关游戏2.0版本
python·pygame
盘古工具9 小时前
【分享】打开PDF文件的几种方式
windows·pdf
FYKJ_20109 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
呱呱巨基10 小时前
Linux 基础IO
linux·c++·笔记·学习
yanghuashuiyue10 小时前
Deep Agents 框架-CLI
python·langchain·langgraph·deepagents