用Python编写的经典例子示例

当然,以下是一些用Python编写的经典例子,涵盖了从基础到稍微高级一些的概念。

1. 斐波那契数列

斐波那契数列是一个每一项都是前两项之和的数列,从0和1开始。

def fibonacci(n):
    fib_sequence = [0, 1]
    while len(fib_sequence) < n:
        fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
    return fib_sequence[:n]

# 输出前10个斐波那契数
print(fibonacci(10))

2. 冒泡排序

冒泡排序是一种简单的排序算法,通过重复遍历要排序的列表,比较相邻元素并交换它们的位置来排序。

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr

# 测试冒泡排序
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前:", arr)
print("排序后:", bubble_sort(arr))

3. 高阶函数:map 和 filter

map 函数用于将一个函数应用于一个可迭代对象的所有元素,filter 函数用于过滤掉不符合条件的元素。

# 使用 map 函数将字符串列表转换为大写
strings = ["hello", "world", "python"]
upper_strings = list(map(str.upper, strings))
print("大写字符串:", upper_strings)

# 使用 filter 函数过滤掉偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print("奇数:", odd_numbers)

4. 装饰器

装饰器是Python中的一个高级功能,用于在不修改原有函数代码的前提下,给函数添加额外的功能。

def my_decorator(func):
    def wrapper():
        print("Something is happening before the function is called.")
        func()
        print("Something is happening after the function is called.")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

# 测试装饰器
say_hello()

5. 生成器

生成器是一种特殊的迭代器,使用 yield 关键字可以一次返回一个值,而不是一次性返回所有值,从而节省内存。

def infinite_sequence():
    num = 0
    while True:
        yield num
        num += 1

# 创建一个生成器对象
gen = infinite_sequence()

# 打印前5个值
for _ in range(5):
    print(next(gen))

6. 读取和写入文件

文件操作是编程中的常见任务,Python提供了内置的文件处理功能。

# 写入文件
with open('example.txt', 'w') as file:
    file.write("Hello, World!\n")
    file.write("This is a test.\n")

# 读取文件
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

7. 简单的Web服务器

Python的http.server模块可以用来快速搭建一个简单的HTTP服务器。

from http.server import SimpleHTTPRequestHandler, HTTPServer

def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=8000):
    server_address = ('', port)
    httpd = server_class(server_address, handler_class)
    print(f"Starting httpd server on port {port}")
    httpd.serve_forever()

if __name__ == "__main__":
    run(port=8000)

运行上述代码后,你可以在浏览器中访问 http://localhost:8000 来查看当前目录下的文件。

这些例子展示了Python的一些基本和高级功能,希望对你有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值