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("非法输入!")
相关推荐
阿kun要赚马内1 小时前
Python装饰器的原理详解
开发语言·python
南無忘码至尊1 小时前
Unity学习90天 - 第4天 - 学习预制体 Prefab + 实例化并实现按鼠标生成子弹
学习·unity·游戏引擎
AnalogElectronic1 小时前
PHP学习02,PHP + jQuery + HTML + MySQL+nginx 做一个多用户云笔记项目
学习·php·jquery
2201_756847331 小时前
uni-app怎么接极光推送 uni-app消息推送App端接入【教程】
jvm·数据库·python
hef2882 小时前
HTML5中SVG描边虚线Stroke-dasharray的配置技巧
jvm·数据库·python
java叶新东老师2 小时前
解决jetbrains idea 自带终端无法加载windows系统环境变量
java·windows·intellij-idea
SteveSenna2 小时前
aubo i5+pika realsense+ACT训练完整流程
人工智能·学习·算法·机器人
鱼鳞_2 小时前
Java学习笔记_Day30(File)
笔记·学习
Allen_LVyingbo2 小时前
《狄拉克符号法50讲》习题与解析(上)
开发语言·人工智能·python·数学建模·量子计算