侧边栏壁纸
博主头像
SeaDream乄造梦

Dream,Don't stop a day of hard and don't give up a little hope。 ——不停止一日努力&&不放弃一点希望。

  • 累计撰写 87 篇文章
  • 累计创建 21 个标签
  • 累计收到 15 条评论

目 录CONTENT

文章目录

python 零基础系统学习(借助GPT)

SeaDream乄造梦
2025-03-21 / 0 评论 / 0 点赞 / 178 阅读 / 8,873 字
温馨提示:
亲爱的,如果觉得博主很有趣就留下你的足迹,并收藏下链接在走叭

持续更新中...


本文记录了我借助GPT学习python全过程,持续更新--直至python精通为止。


python是什么

Python 是一种功能强大且用途广泛的编程语言,它几乎可以应用于任何领域。以下是一些 Python 的主要用途和应用场景:

  1. Web 开发
  • 框架:Python 有许多流行的 Web 框架,如 DjangoFlaskFastAPI
  • Django:适合快速开发功能强大的 Web 应用,内置了许多安全和便捷的功能。
  • Flask:轻量级框架,适合开发小型应用或微服务。
  • FastAPI:现代、快速(高性能)的 Web 框架,适合构建 API。
  • 示例:开发博客、社交网络、电子商务网站等。
  1. 数据分析和数据科学
  • :Python 提供了许多强大的数据分析库,如 PandasNumPySciPy
  • 数据可视化:使用 MatplotlibSeabornPlotly 等库进行数据可视化。
  • 示例:处理和分析大规模数据集,生成数据报告,创建数据可视化图表。
  1. 机器学习和人工智能
  • TensorFlowPyTorchscikit-learn 是 Python 中最流行的机器学习和深度学习库。
  • 应用:图像识别、自然语言处理、语音识别、预测分析等。
  • 示例:开发智能推荐系统、语音助手、自动驾驶汽车的算法等。
  1. 自动化和脚本编写
  • 任务自动化:Python 可以用来编写脚本,自动化重复性任务,如文件操作、系统管理等。
  • 示例:批量处理文件、定时任务、自动化测试等。
  1. 游戏开发
  • Pygame 是一个流行的 Python 游戏开发库。
  • 示例:开发简单的 2D 游戏,如贪吃蛇、俄罗斯方块等。
  1. 网络爬虫
  • RequestsBeautifulSoup 是用于网络爬虫的常用库。
  • 示例:抓取网页数据,用于数据分析、内容聚合等。
  1. 桌面应用开发
  • Tkinter(内置)、PyQtKivy 等。
  • 示例:开发跨平台的桌面应用程序,如工具软件、媒体播放器等。
  1. 云计算和服务器管理
  1. 物联网 (IoT)
  • RPi.GPIO(用于 Raspberry Pi)等。
  • 示例:开发智能家居系统、环境监测设备等。
  1. 教育和研究
  • 易学性:Python 语法简洁,易于学习,适合初学者。
  • 应用:在计算机科学、数学、物理学等领域的教学和研究中广泛使用。
  1. 金融和量化交易
  • PandasNumPySciPy 等。
  • 示例:数据分析、风险建模、交易策略开发等。
  1. 生物信息学和基因组学
  • Biopython 等。
  • 示例:处理生物数据,如 DNA 序列分析、蛋白质结构预测等。
  1. 区块链开发
  • PyEthereum 等。
  • 示例:开发智能合约、区块链应用等。
  1. 自然语言处理 (NLP)
  1. 多媒体处理
  • OpenCV(图像处理)、PyDub(音频处理)等。
  • 示例:图像识别、视频编辑、音频处理等。

总结
Python 的强大之处在于它的灵活性和丰富的生态系统。无论你是初学者还是资深开发者,无论你的目标是开发 Web 应用、数据分析、机器学习,还是简单的自动化脚本,Python 都能提供强大的支持。

GPT 聊天地址

https://chatgpt.com/share/67dd32df-6bb4-8002-b88e-5d63a3807a70

提示词:
你是一位高阶python讲师,我现在要自学python,请你一步一步带着我学习。每进行一步我会向你反馈我的学习情况或遇到的问题,你根据我的反馈从而得出是继续查漏补缺还是进行下一步的学习。过程中需要我的任何配合请及时告诉我。我们先从基础知识开始吧

1.基础学习

image.png

# 变量赋值学习

name = "Alice"
age = 25
height = 1.75
is_student = True

print(type(name))  # <class 'str'>
print(type(age))   # <class 'int'>

print("my name is " + name, "and I am " + str(age) + " years old")

# 2.输出输出类型判断练习

user_input = input("请输入一个数字: ")

# 先尝试判断是否是整数
if user_input.isdigit():
    print(f"{user_input} 是整数,类型为 {type(int(user_input))}")

# 尝试判断是否是浮点数
else:
    try:
        print(f"{user_input} 是浮点数,类型为 {type(float(user_input))}")
    except ValueError:
        print(f"{user_input} 不是数字,是字符串,类型为 {type(user_input)}")

# 3.运算符练习

if __name__ == '__main__':
    print("你好")

# 输入两个数字
num1 = int(input("请输入第一个数字: "))
# 判断输入的是奇数还是偶数并输出
if num1 % 2 == 0:
    print(f"{num1} 是偶数")
else:
    print(f"{num1} 是奇数")

num2 = int(input("请输入第二个数字: "))
# 判断输入的是奇数还是偶数并输出
if num2 % 2 == 0:
    print(f"{num2} 是偶数")
else:
    print(f"{num2} 是奇数")


# 输出最大值与最小值
print(f"最大值是:{max(num1, num2)}")
print(f"最小值是:{min(num1, num2)}")

#if num1 > num2:
#    print(f"{num1} 是最大值")
#    print(f"{num2} 是最小值")
#else:
#    print(f"{num2} 是最大值")
#    print(f"{num1} 是最小值")

# 请输入计算运算符
operator = input("请输入运算符(+、-、*、/): ")

# 判断运算符
try:
    if operator == "+":
        print(f"结果:{num1} + {num2} = {num1 + num2}")
    elif operator == "-":
        print(f"结果:{num1} - {num2} = {num1 - num2}")
    elif operator == "*":
        print(f"结果:{num1} * {num2} = {num1 * num2}")
    elif operator == "/":
        if num2 == 0:  # 判断除数是否为 0
            print("除数不能为 0!")
        else:
            print(f"结果:{num1} / {num2} = {num1 / num2:.2f}")  # 保留两位小数
    else:
        print("无效的运算符,请输入 +、-、*、/ 之一!")
except Exception as e:
    print(f"发生错误:{e}")



a = 5
b = 3

print(a > 3 and b < 4)   # True,a 大于 3 且 b 小于 4
print(a > 3 or b > 4)    # True,a 大于 3 或 b 大于 4
print(not a > 3)         # False,取反操作


# 4.if 学习
if __name__ == '__main__':
    age = int(input("请输入年龄: "))
    if age >= 18:
        print("你已经成年,可以进入")
        # 请出示证件
        id_card = input("请出示证件: ")
        if id_card == "身份证":
            print("证件正确,可以进入")
        else:
            print("证件错误,不能进入")
            # 结束程序
            exit()
    else:
        print("你还未成年,不能进入")
        # 结束程序
        exit()

    is_student = False
    score = int(input("请输入分数: "))
    if score >= 90:
        print("优秀")
        is_student = True
    elif score  >= 80 :
        print("良好")
    elif score >= 60:
        print("及格")
    else:
        print("不及格")


# 三目运算符
result  = "欢迎使用" if score >= 80 else "你很差劲"
print(result)

# 判断多个条件
if score >= 80 and not is_student :
    print("优秀但是不是学生")
elif  score >= 90 and is_student:
    print("优秀且是学生")

# 4.1.写一个简单的登录功能

import sys

# 存储用户信息的字典
users = {}

def register():
    print("---- 注册 ----")
    username = input("请输入用户名: ")
    if username in users:
        print("用户名已存在,请重新注册!")
        return
    password = input("请输入密码: ")
    email = input("请输入用于找回密码的邮箱: ")
    security_question = input("请输入密保问题(如你的生日?): ")
    security_answer = input("请输入密保问题的答案: ")

    # 将用户信息存入字典
    users[username] = {
        "password": password,
        "email": email,
        "security_question": security_question,
        "security_answer": security_answer
    }
    print(f"注册成功!欢迎你,{username}!\n")

def login():
    print("---- 登录 ----")
    attempts = 3
    while attempts > 0:
        username = input("请输入用户名: ")
        password = input("请输入密码: ")

        if username in users and users[username]["password"] == password:
            print(f"登录成功!欢迎回来,{username}!\n")
            return True
        else:
            attempts -= 1
            print(f"用户名或密码错误!还有 {attempts} 次尝试机会。")

    print("尝试次数过多,程序退出!")
    sys.exit()

def recover_password():
    print("---- 找回密码 ----")
    username = input("请输入要找回密码的用户名: ")

    if username not in users:
        print("用户名不存在!无法找回密码。\n")
        return

    choice = input("选择找回方式(1.邮箱 2.密保问题): ")
    if choice == "1":
        email = input("请输入注册时的邮箱: ")
        if email == users[username]["email"]:
            print(f"验证成功!您的密码是:{users[username]['password']}\n")
        else:
            print("邮箱不正确,无法找回密码!\n")
    elif choice == "2":
        question = users[username]["security_question"]
        print(f"密保问题:{question}")
        answer = input("请输入密保问题的答案: ")
        if answer == users[username]["security_answer"]:
            print(f"验证成功!您的密码是:{users[username]['password']}\n")
        else:
            print("密保答案错误,无法找回密码!\n")
    else:
        print("无效的选项,请重新选择!\n")

def main():
    while True:
        print("=== 欢迎使用简易登录系统 ===")
        print("1. 注册")
        print("2. 登录")
        print("3. 找回密码")
        print("4. 退出系统")

        choice = input("请输入选项(1/2/3/4): ")

        if choice == "1":
            register()
        elif choice == "2":
            if login():
                break
        elif choice == "3":
            recover_password()
        elif choice == "4":
            print("感谢使用,再见!")
            sys.exit()
        else:
            print("无效的选项,请重新输入!\n")

if __name__ == '__main__':
    main()

# 5.list 学习
if __name__ == '__main__':

    # 创建列表
    fruits = ["apple", "banana", "cherry"]
    print(fruits)

    # 访问元素
    print(fruits[0])      # apple
    print(fruits[-1])     # cherry

    # 修改元素
    fruits[1] = "orange"
    print(fruits)         # ["apple", "orange", "cherry"]

    # 切片操作
    print(fruits[0:2])    # ["apple", "orange"]

    # 添加元素
    fruits.append("grape")           # 末尾添加
    fruits.insert(1, "watermelon")   # 指定位置插入
    print(fruits)

    # 删除元素
    fruits.remove("apple")       # 删除指定元素
    last_fruit = fruits.pop()    # 删除末尾元素
    print(last_fruit)            # "grape"
    print(fruits)

    # 列表长度
    print(len(fruits))

    # 列表排序
    numbers = [5, 2, 9, 1, 5, 6]
    numbers.sort()               # 正序排序
    print(numbers)               # [1, 2, 5, 5, 6, 9]
    numbers.sort(reverse=True)   # 逆序排序
    print(numbers)               # [9, 6, 5, 5, 2, 1]


    # 列表推导式 - 生成新的列表
    squares = [x**2 for x in range(6)]
    print(squares)  # [0, 1, 4, 9, 16, 25]

    # 过滤操作 - 取偶数
    evens = [x for x in range(10) if x % 2 == 0]
    print(evens)  # [0, 2, 4, 6, 8]

    # 列表合并
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    merged_list = list1 + list2
    print(merged_list)

    # 列表嵌套
    matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    print(matrix[1][2])  # 6


    # 创建水果列表
    fruits = ["apple", "banana", "cherry", "mango", "orange"]

    # 输出第 2 个和倒数第 2 个水果
    print("第 2 个水果是:", fruits[1])       # banana
    print("倒数第 2 个水果是:", fruits[-2])  # mango

    # 添加一个新的水果
    fruits.append("grape")
    print("添加新水果后的列表:", fruits)

    # 删除第 3 个水果并输出删除后的列表
    fruits.pop(2)  # 删除索引为 2 的元素(cherry)
    print("删除第 3 个水果后的列表:", fruits)


    # 使用列表推导式生成奇数列表
    odd_numbers = [x for x in range(1, 21) if x % 2 != 0]
    print("1 到 20 之间的奇数列表:", odd_numbers)


    # 3x3 的二维列表
    matrix = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]
    ]

    # 输出中间的数字 5
    print("二维列表的中间数字是:", matrix[1][1])

# 6.元组学习
# 元组的应用场景
# 用于 不可修改的数据,例如常量、配置信息。
# 函数的 多返回值。
# 解包(快速赋值)操作。


if __name__ == '__main__':
    # 创建元组
    fruits = ("apple", "banana", "cherry")
    print(fruits)

    # 不加括号也可以创建元组
    colors = "red", "green", "blue"
    print(colors)

    # 单个元素的元组必须加逗号
    single_element = (5,)
    print(type(single_element))  # <class 'tuple'>



    # 元组索引与切片
    print(fruits[0])      # apple
    print(fruits[-1])     # cherry
    print(fruits[0:2])    # ('apple', 'banana')

    # 元组的长度
    print(len(fruits))    # 3

    # 元组内元素的查询
    print("banana" in fruits)   # True
    print("grape" not in fruits)  # True

    # 元组的连接与重复
    new_fruits = fruits + ("grape",)
    print(new_fruits)  # ('apple', 'banana', 'cherry', 'grape')

    repeat_colors = colors * 2
    print(repeat_colors)  # ('red', 'green', 'blue', 'red', 'green', 'blue')

    # 多返回值
    def get_point():
        return (10, 20)

    x, y = get_point()  # 元组解包
    print(x, y)  # 10 20

    # 用于交换变量
    a, b = 5, 10
    a, b = b, a
    print(a, b)  # 10 5



# 练习题

# 创建包含 3 种颜色的元组
# 输出第一个和最后一个颜色

# 创建元组
colors = ("red", "green", "blue")

# 输出第一个和最后一个颜色
print("第一个颜色:", colors[0])     # red
print("最后一个颜色:", colors[-1])  # blue


# 编写一个函数,传入 2 个整数,返回 和 与 差
# 使用元组解包接收返回值

def calculate(x, y):
    return (x + y, x - y)  # 返回和与差作为元组

# 调用函数并进行元组解包
sum_result, diff_result = calculate(10, 3)

print("和:", sum_result)   # 13
print("差:", diff_result)  # 7


# 使用元组交换变量 a 和 b 的值
# 输出交换后的结果

a = 5
b = 10

# 使用元组交换
a, b = b, a

print("交换后的 a:", a)  # 10
print("交换后的 b:", b)  # 5


0

评论区