Python常用的20个编程案例

Python 以其简洁易懂的语法和强大的功能,成为了编程入门和实际应用的热门选择。本文将介绍 20 个 Python 中常用的经典编程案例,希望能帮助大家更好地学习Python。

一、基础语法与数据类型

  1. 打印输出:最基础的程序。

    print("Hello, World!")
    
  2. 变量与数据类型: 演示变量的定义和不同数据类型的使用。

    name = "Alice"  # 字符串
    age = 30        # 整数
    height = 1.75   # 浮点数
    is_student = False # 布尔值
    print(f"Name: {name}, Age: {age}, Height: {height}, Is student: {is_student}")
    
  3. 运算符: 演示算术、比较和逻辑运算符的使用。

    x = 10
    y = 3
    print(f"x + y = {x + y}")  # 加法
    print(f"x - y = {x - y}")  # 减法
    print(f"x * y = {x * y}")  # 乘法
    print(f"x / y = {x / y}")  # 除法
    print(f"x // y = {x // y}") # 整除
    print(f"x % y = {x % y}")  # 取余
    print(f"x > y is {x > y}") # 大于
    print(f"x == y is {x==y}") # 等于
    
  4. 条件语句: 演示 if-elif-else 语句的使用。

    score = 85
    if score >= 90:
        print("优秀")
    elif score >= 80:
        print("良好")
    elif score >= 60:
        print("及格")
    else:
        print("不及格")
    
  5. 循环语句: 演示 forwhile 循环的使用。

    # for 循环
    for i in range(5):
        print(i)
    
    # while 循环
    i = 0
    while i < 5:
        print(i)
        i += 1
    

二、数据结构

  1. 列表: 演示列表的创建、访问和修改。

    fruits = ["apple", "banana", "orange"]
    print(fruits[0])     # 访问第一个元素
    fruits.append("grape") # 添加元素
    print(fruits)
    
  2. 元组: 演示元组的创建和访问(元组不可修改)。

    point = (10, 20)
    print(point[0])
    
  3. 字典: 演示字典的创建、访问和修改。

    person = {"name": "Alice", "age": 30}
    print(person["name"])
    person["city"] = "Beijing"
    print(person)
    
  4. 集合: 演示集合的创建和基本操作(去重)。

    numbers = [1, 2, 2, 3, 3, 3]
    unique_numbers = set(numbers)
    print(unique_numbers)
    

三、函数与模块

  1. 函数定义与调用: 演示如何定义和调用函数。

    def greet(name):
        print(f"Hello, {name}!")
    
    greet("Bob")
    
  2. 模块导入: 演示如何导入和使用模块。

    import math
    print(math.sqrt(16))
    

四、文件操作

  1. 文件读取: 演示如何读取文件内容。

    with open("example.txt", "r") as f:
        content = f.read()
        print(content)
    
  2. 文件写入: 演示如何向文件写入内容。

    with open("output.txt", "w") as f:
        f.write("Hello, file!")
    

五、异常处理

  1. try-except 语句: 演示如何处理异常。

    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("除数不能为 0")
    

六、面向对象编程

  1. 类与对象: 演示如何定义类和创建对象。

    class Dog:
        def __init__(self, name):
            self.name = name
        def bark(self):
            print("Woof!")
    
    my_dog = Dog("Buddy")
    my_dog.bark()
    

七、常用模块应用

  1. 字符串操作: 演示常用的字符串方法。

    text = "Hello, Python!"
    print(text.lower()) # 转换为小写
    print(text.replace("Python", "World")) # 替换
    
  2. 日期时间处理: 演示 datetime 模块的使用。

    import datetime
    now = datetime.datetime.now()
    print(now)
    
  3. 正则表达式: 演示 re 模块的使用。

    import re
    text = "This is a test string."
    match = re.search(r"test", text)
    if match:
        print("找到匹配")
    
  4. 网络请求: 使用 requests 库发送网络请求。

    import requests
    response = requests.get("https://www.baidu.com")
    print(response.status_code)
    
  5. JSON 处理: 使用 json 模块处理 JSON 数据。

    import json
    data = {"name": "Alice", "age": 30}
    json_str = json.dumps(data)
    print(json_str)
    data_back = json.loads(json_str)
    print(data_back)
    

 最后,我精心筹备了一份全面的Python学习大礼包,完全免费分享给每一位渴望成长、希望突破自我现状却略感迷茫的朋友。无论您是编程新手还是希望深化技能的开发者,都欢迎加入我们的学习之旅,共同交流进步!

🌟 学习大礼包包含内容:

Python全领域学习路线图:一目了然,指引您从基础到进阶,再到专业领域的每一步学习路径,明确各方向的核心知识点。

超百节Python精品视频课程:涵盖Python编程的必备基础知识、高效爬虫技术、以及深入的数据分析技能,让您技能全面升级。

实战案例集锦:精选超过100个实战项目案例,从理论到实践,让您在解决实际问题的过程中,深化理解,提升编程能力。

华为独家Python漫画教程:创新学习方式,以轻松幽默的漫画形式,让您随时随地,利用碎片时间也能高效学习Python。

互联网企业Python面试真题集:精选历年知名互联网企业面试真题,助您提前备战,面试准备更充分,职场晋升更顺利。

👉 立即领取方式:只需【点击这里】,即刻解锁您的Python学习新篇章!让我们携手并进,在编程的海洋里探索无限可能 

  

<think>好的,我现在需要帮助用户解决在Kali系统中安装Docker Compose时遇到的错误,特别是APT仓库未签名的问题。用户提到错误信息是“仓库未签名 buster InRelease”。首先,我应该回忆一下之前提供的安装步骤,以及用户现在遇到的问题可能出在哪里。 根据用户之前的对话,我之前给出了安装Docker Compose的方法是通过下载二进制文件,但用户现在可能尝试通过APT仓库安装,或者是在安装Docker时遇到了仓库签名的问题。用户引用了几个不同的源,包括官方Docker仓库和清华镜像,可能用户尝试了不同的仓库导致签名错误。 首先,我需要确定用户的具体操作步骤。用户可能在添加Docker仓库到Kali后,运行sudo apt update时遇到了签名错误,因为Kali基于Debian,但Docker的官方仓库可能没有正确的签名密钥被系统信任。常见的错误可能是“NO_PUBKEY”或者“签名无效”。 解决方案应该是导入Docker的官方GPG密钥,以验证仓库的签名。根据引用中的信息,用户可能已经按照步骤添加了仓库,但缺少了密钥的导入步骤。例如,在引用[2]中提到添加软件源的GPG密钥,可能用户漏掉了这一步。 接下来,我需要检查正确的步骤是否包括下载并添加GPG密钥。通常,添加APT仓库后需要导入对应的公钥,否则会提示未签名的问题。因此,我应该建议用户运行如下的命令来导入密钥: curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg 这应该能解决仓库未签名的问题。如果用户之前使用了不同的镜像源,比如清华大学的镜像,可能需要调整仓库URL和对应的密钥,但通常Docker的官方密钥适用于所有镜像。 另外,用户可能使用了旧版本的Kali(如基于Debian buster),而Docker的仓库可能已经更新,需要确认仓库配置是否正确。例如,确保/etc/apt/sources.list.d/docker.list中的发行版名称(如buster)与系统兼容。 如果用户仍然遇到问题,可能需要清除旧的仓库信息,重新添加并更新缓存。或者检查是否有拼写错误在仓库配置文件中。 此外,用户提到安装Docker Compose,我之前建议的是下载二进制文件的方式,但用户可能尝试通过APT安装docker-compose-plugin,这可能会遇到依赖问题或者版本不兼容。需要指出在Kali中推荐使用二进制安装方式,因为APT源中的版本可能较旧或有依赖问题。 最后,应该提醒用户在解决问题后,重新运行sudo apt update和安装docker-compose的步骤,或者继续使用二进制安装方法。同时,处理可能残留的旧配置或缓存,比如清除/var/lib/apt/lists/中的部分文件。</think>### Kali系统解决Docker Compose安装错误及APT仓库签名问题 #### 一、修复APT仓库未签名问题 当出现`仓库未签名 buster InRelease`错误时,说明系统未信任Docker仓库的GPG密钥。执行以下操作: 1. **清理旧仓库配置**(若存在冲突): ```bash sudo rm -f /etc/apt/sources.list.d/docker.list* ``` 2. **添加正确仓库源**(任选一种): - **阿里云镜像加速版**: ```bash echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list ``` - **官方仓库版**: ```bash echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list ``` 3. **手动导入GPG密钥**(核心步骤): ```bash sudo mkdir -p /usr/share/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg ``` 4. **强制更新仓库缓存**: ```bash sudo apt update --allow-insecure-repositories ``` #### 二、安装Docker Compose ##### 方案一:推荐二进制安装(绕过APT依赖问题) 1. **下载最新版二进制文件**: ```bash sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 2. **赋权并验证**: ```bash sudo chmod +x /usr/local/bin/docker-compose docker-compose --version # 应输出版本号 ``` ##### 方案二:APT安装(需先修复签名) ```bash sudo apt install docker-compose-plugin docker compose version # 注意新版命令格式 ``` #### 三、典型错误处理 1. **密钥错误补充方案**: ```bash # 若仍提示NO_PUBKEY,手动添加密钥 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8 ``` 2. **残留缓存清理**: ```bash sudo rm -rf /var/lib/apt/lists/partial/* sudo apt clean && sudo apt update ``` #### 四、验证完整工作流 ```bash # 创建测试docker-compose.yml echo 'version: "3" services: hello-world: image: hello-world' > docker-compose.yml # 运行测试 docker-compose up ``` --- ### 关键点解析 1. **签名问题本质**:Kali基于Debian,但未预装Docker的GPG密钥,需通过`--signed-by`参数显式指定密钥路径[^2][^3] 2. **架构兼容性**:必须确认`[arch=amd64]`与当前系统架构匹配(Kali默认使用amd64) 3. **版本对应关系**:`buster`对应Debian 10,需确保仓库声明与系统版本一致[^1][^4] --- ### 相关问题 1. 如何查看Kali Linux的Debian基础版本? 2. Docker Compose二进制安装与APT安装有何区别? 3. 如何彻底卸载Docker及残留配置? 4. 为什么国内推荐使用镜像加速仓库?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值