Python基础学习笔记1

89 阅读8分钟

Python基础学习笔记

第一阶段 第一章:Python基础入门


1. Python环境与第一个程序


  • 运行方式
    win+R 打开cmd → 输入`py`进入Python环境
    
  • 第一个程序
    >>> print("Hello world!!")
    Hello world!!
    

2. Pycharm快捷键


快捷键功能
Ctrl+D复制当前行
Shift+Alt+↑/↓上下移动代码行
Ctrl+C全选

3. 基本值类型


  • 常见类型

    • 整型 (int):10
    • 浮点型 (float):13.14
    • 字符串 (str):"Hello"
  • Python 常用值类型分类表

类型分类类型名称描述示例
数字类型整数 (int)表示整数值,无大小限制10, -5, 0
浮点数 (float)表示带小数点的数值3.14, -2.718, 0.0
复数 (complex)表示数学中的复数,形式为 a + bj4+3j, 1.5-2j
布尔类型布尔 (bool)表示逻辑真/假,继承自 intTrue=1, False=0True, False
字符串类型字符串 (str)由字符组成的不可变序列,用于表示文本"Hello", 'Python'
序列类型列表 (list)有序的可变序列,可存储多种数据类型[1, "a", 3.14], [[1,2], ["x","y"]]
元组 (tuple)有序的不可变序列,常用于存储不可修改的数据(1, 2, 3), ("apple", "banana")
集合类型集合 (set)无序且元素唯一的容器,支持集合运算(并集、交集等){1, 2, 3}, {"apple", "banana"}
冻结集合 (frozenset)不可变版本的集合frozenset({1, 2, 3})
映射类型字典 (dict)无序的键值对集合,键唯一且不可变{"name": "Alice", "age": 25}
  • 补充说明
  1. 布尔类型

    • 布尔值为 TrueFalse,可直接用于逻辑判断。
    • 在数值运算中,True 等价于 1False 等价于 0
  2. 字符串与转义

    • 支持单引号(')和双引号(")定义,多行字符串可用三引号('''""")。
    • 示例:"Hello\nWorld"\n 表示换行符)。
  3. 集合与字典的特性

    • 集合:自动去重,元素不可通过索引访问。
    • 字典:键必须是不可变类型(如字符串、数字、元组),值可为任意类型。
  4. 可变性对比

    可变类型不可变类型
    列表 (list)数字 (int, float)
    集合 (set)字符串 (str)
    字典 (dict)元组 (tuple)
    冻结集合 (frozenset)

4. 注释规范


1. 单行注释
  • 语法:以 # 开头,右侧内容为注释(不会被程序执行)。
  • 规范
    • # 与注释内容之间建议留一个空格。
    • 通常用于简短说明或临时禁用单行代码。
  • 示例
    # 我是单行注释:打印Hello World
    print("Hello World")  # 输出欢迎信息
    
2. 多行注释
  • 语法:使用 三对双引号 """注释内容""" 包裹多行文本。
  • 本质:Python中无官方多行注释语法,实际是未赋值的多行字符串(解释器会忽略)。
  • 用途
    • 解释复杂代码逻辑。
    • 函数、类的文档字符串(Docstring)。
  • 示例
    """
    诗名:悯农
    作者:李绅
    功能:输出古诗《悯农》
    """
    print("锄禾日当午")
    print("汗滴禾下土")
    
3. 注释使用场景
场景推荐注释方式示例
单行代码解释# 单行注释x = 10 # 初始化变量
临时禁用代码# 注释单行# print("调试信息")
模块/函数说明文档三引号多行字符串见下方 Docstring示例
复杂逻辑分段解释多行字符串分段注释见下方 多行注释示例
4. 多行注释示例
"""
函数:calculate_sum
功能:计算两个数的和
参数:
  a (int): 第一个整数
  b (int): 第二个整数
返回值:a + b
"""
def calculate_sum(a, b):
    return a + b
5. 注意事项
  1. 多行字符串非真正注释
    • 若未被赋值,解释器会忽略;若被赋值,则成为字符串变量。
    • 错误示例:
      comment = """这是注释"""  # 实际是字符串变量,非注释!
      
  2. IDE工具支持
    • PyCharm等工具支持 Ctrl+/ 快捷键批量注释单行代码。
  3. 代码规范
    • 避免过度注释,优先通过清晰的变量名和函数名表达意图。
    • 修改代码时需同步更新注释,防止误导。
6. 错误用法对比
错误用法正确用法
#注释内容紧贴#号# 注释内容前留空格
多行注释未闭合:"""注释确保三引号成对闭合
注释与代码无空行,难以阅读用空行分隔注释和代码块

第一阶段 第二章:变量与数据类型


5. 变量基础


1. 变量概念
  • 定义:变量是程序运行时存储数据的抽象概念,用于记录和操作数据。
  • 类比:变量类似容器(盒子),用于存放数据。
2. 变量定义格式
变量名 = 变量值
  • 赋值操作:将等号右侧的值赋予左侧的变量。
  • 示例
    money = 50  # 定义变量money并赋值为50
    
3. 变量特征
  1. 值可变:变量存储的值可随时修改。
  2. 动态类型:变量类型由赋值的数据类型决定(无需显式声明类型)。
  3. 命名规则:遵循标识符命名规则(字母/下划线开头,区分大小写)。
4. 示例与练习

示例代码

money = 50
print("钱包余额:", money)  # 输出:钱包余额:50
练习题
钱包初始余额50元,购买冰淇淋(10元)和可乐(5元),计算剩余金额并按格式输出:
当前钱包余额:50元
购买了冰淇淋,花费:10元
购买了可乐,花费:5元
最终,钱包剩余:35元
  • 答案代码
money = 50
print("当前钱包余额:", money, "元")
print("购买了冰淇淋,花费:", 10, "元")
print("购买了可乐,花费:", 5, "元")
money = money - 10 - 5
print("最终,钱包剩余:", money, "元")
  • 执行结果
当前钱包余额:50元
购买了冰淇淋,花费:10元
购买了可乐,花费:5元
最终,钱包剩余:35元

6. 数据类型与检测


1. 基本数据类型分类

Python中基础数据类型可分为以下三类:

类型描述说明示例
str字符串类型用单引号、双引号或三引号包裹的数据"Hello", 'Python'
int整型存储整数(正负均可),无大小限制10, -5, 0
float浮点型存储带小数点的数值(正负均可)3.14, -2.718, 0.0
2. type()函数:查看数据类型
  • 作用:返回变量存储的数据类型(变量本身无类型,存储的数据有类型)。
  • 语法type(被检查的数据或变量)
3. type()函数使用方式
3.1 直接输出数据类型
print(type("我爱学习"))   # <class 'str'>
print(type(123))         # <class 'int'>
print(type(13.14))       # <class 'float'>
3.2 存储类型结果到变量
string_type = type("我爱学习")
int_type = type(123)
float_type = type(13.14)
print(string_type)  # <class 'str'>
print(int_type)     # <class 'int'>
print(float_type)   # <class 'float'>
3.3 查看变量的数据类型
name = "潇潇"
name_type = type(name)
print(name_type)  # <class 'str'>
4. 注意事项
  1. 字符串与数值的区分

    print(type("13.14"))  # <class 'str'>(带引号为字符串)
    print(type(13.14))    # <class 'float'>(无引号为浮点数)
    
  2. 动态类型特性

    • 变量类型由存储的值决定,可随时改变。
    x = 10       # x类型为int
    x = "Hello"  # x类型变为str
    

5. 常见错误示例
错误代码问题说明修正方法
print(type('100'))输出<class 'str'>去除引号改为100
num = "3.14"num为字符串,无法计算改为num = 3.14

7. 类型转换


  • 转换函数
    int(x)    # 转整型
    float(x)  # 转浮点型
    str(x)    # 转字符串
    
  • 示例
    num_str = "123"
    num = int(num_str)  # 字符串转整型
    
    

8. 标识符规则


  • 命名规则

    1. 只允许使用英文、中文、数字、下划线
    2. 数字不能开头
    3. 区分大小写
    4. 不可使用关键字(如if, class
  • 命名规范

    • 见名知意(如student_name
    • 下划线命名法(如user_age

9. 运算符


  • 算术运算符

    运算符描述示例
    +3 + 2 = 5
    //取整除9 // 2 = 4
    **指数2 ** 3 = 8
  • 赋值运算符

    a = 10
    a += 2  # 等价于 a = a + 2
    

10. 字符串操作


  • 三种定义方式

    name1 = '单引号'
    name2 = "双引号"
    name3 = """三引号(支持换行)"""
    
  • 拼接与格式化

    # 拼接
    print("Hello" + "World")  # HelloWorld
    
    # %格式化
    name = "Alice"
    print("Name: %s" % name)  # Name: Alice
    
    # f-string格式化
    age = 25
    print(f"Age: {age}")      # Age: 25
    

11. 数据输入


  • input()使用
    name = input("请输入姓名:")  # 输入始终为字符串类型
    age = int(input("请输入年龄:"))  # 需显式转换类型
    

第一阶段 第三章:条件判断

12. 布尔类型与比较运算符


  • 布尔值True / False
  • 比较运算符
    运算符描述示例
    ==等于10 == 10 → True
    !=不等于10 != 5 → True

13. 条件语句


  • 基本结构

    if 条件:
        执行语句
    elif 条件:
        执行语句
    else:
        执行语句
    
  • 示例

    age = 18
    if age >= 18:
        print("成年")
    else:
        print("未成年")
    

14. 嵌套判断


  • 示例

    height = 175
    vip_level = 3
    if height > 120:
        print("需购票")
        if vip_level >= 3:
            print("VIP可免票")
    
  • 综合案例:猜数字游戏:

import random

# 生成随机数字
num = random.randint(1, 10)
print(num)

# 第一次猜测
guess_num = int(input("请输入你要猜测的数字:"))

if guess_num == num:
    print("恭喜,第一次猜中")
else:
    if guess_num > num:
        print("大了")
    else:
        print("小了")

    # 第二次猜测
    guess_num = int(input("再次请输入你要猜测的数字:"))
    
    if guess_num == num:
        print("恭喜,第二次猜中了")
    else:
        if guess_num > num:
            print("你猜测的数字大了")
        else:
            print("你猜测的数字小了")

        # 第三次猜测
        guess_num = int(input("再次请输入你要猜测的数字:"))
        
        if guess_num == num:
            print("第三次猜中了")
        else:
            print("三次机会用完了,没有猜中")