行业资讯
📅 2026/7/25 5:02:19
【Python 基础】第 期:人生苦短,我用 Python
【Python 基础】第 期人生苦短我用 Python引言为什么是 Python“人生苦短我用 Python”——这句流传甚广的口号道出了 Python 的核心魅力简洁、高效、易读。作为一门解释型、面向对象的高级编程语言Python 以其优雅的语法和强大的生态成为初学者和资深开发者共同的选择。无论你是想快速实现一个想法还是构建复杂的数据分析系统Python 都能让你用更少的代码完成更多的事。今天我们将从基础概念出发逐步深入 Python 的核心机制最终通过实战示例展示它的威力。让我们开始这段旅程吧## 一、Python 基础变量与数据类型### 1.1 变量赋值与动态类型Python 不需要显式声明变量类型它采用动态类型系统。这意味着你可以直接将值赋给变量类型由解释器自动推断。python# 变量赋值无需声明类型name Alice # 字符串类型age 25 # 整数类型height 1.68 # 浮点数类型is_student True # 布尔类型# 打印变量信息print(f姓名{name}年龄{age}身高{height}米是否是学生{is_student})# 动态改变类型age 二十五岁 # 现在 age 变成了字符串print(f修改后的年龄{age})### 1.2 基本数据类型操作Python 提供了丰富的数据类型包括数字、字符串、列表、元组、字典等。我们重点介绍几种常用类型。python# 数字运算a 10b 3print(f加法{a} {b} {a b})print(f除法取整{a} // {b} {a // b}) # 结果为 3print(f幂运算{a} ** {b} {a ** b}) # 结果为 1000# 字符串操作text Hello, Python!print(f字符串长度{len(text)})print(f大写转换{text.upper()})print(f替换{text.replace(Python, World)})# 列表可变序列fruits [苹果, 香蕉, 橘子]fruits.append(葡萄)print(f列表内容{fruits})print(f第二个元素{fruits[1]})## 二、控制流让程序做决策### 2.1 条件语句if-elif-else结构让程序根据条件执行不同的代码块。python# 判断成绩等级score 85if score 90: grade 优秀elif score 80: grade 良好elif score 60: grade 及格else: grade 不及格print(f成绩 {score} 分等级为{grade})### 2.2 循环结构for循环和while循环是 Python 中重复执行代码的主要方式。python# for 循环遍历可迭代对象print(1 到 5 的平方)for num in range(1, 6): square num ** 2 print(f{num} 的平方是 {square})# while 循环条件控制print(\n使用 while 循环计算 1 到 10 的和)total 0counter 1while counter 10: total counter counter 1print(f1 到 10 的和为{total})## 三、函数代码复用的基石函数是组织代码的基本单元它封装了一段可重复使用的逻辑。### 3.1 定义和调用函数python# 定义函数计算斐波那契数列def fibonacci(n): 返回斐波那契数列的前 n 项 if n 0: return [] elif n 1: return [0] elif n 2: return [0, 1] result [0, 1] for i in range(2, n): next_num result[-1] result[-2] result.append(next_num) return result# 调用函数print(斐波那契数列前 10 项)fib_list fibonacci(10)print(fib_list)# 函数还可以有默认参数def greet(name, greeting你好): 带默认参数的问候函数 return f{greeting}{name}print(greet(小明))print(greet(Bob, Hello))### 3.2 变量的作用域理解局部变量和全局变量的区别很重要。python# 全局变量global_var 我是全局变量def scope_demo(): local_var 我是局部变量 print(f函数内部{global_var}) print(f函数内部{local_var}) # 修改全局变量需要使用 global 关键字 global global_var global_var 全局变量已被修改scope_demo()print(f函数外部{global_var})# print(local_var) # 这会报错因为 local_var 在函数外部不可见## 四、数据结构进阶列表与字典### 4.1 列表的高级操作python# 列表推导式优雅地生成列表squares [x**2 for x in range(1, 11)]print(f1 到 10 的平方列表{squares})# 列表切片numbers [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(f前三个元素{numbers[:3]})print(f从索引 2 到 5{numbers[2:6]})print(f步长为 2{numbers[::2]})# 列表排序unsorted [3, 1, 4, 1, 5, 9, 2, 6]unsorted.sort() # 原地排序print(f排序后{unsorted})# 使用 sorted 函数不修改原列表words [apple, banana, cherry, date]sorted_words sorted(words, keylen) # 按字符串长度排序print(f按长度排序{sorted_words})### 4.2 字典键值对的强大工具python# 创建字典student { 姓名: 张三, 年龄: 20, 成绩: { 数学: 95, 英语: 88, 物理: 92 }}# 访问字典print(f学生姓名{student[姓名]})print(f数学成绩{student[成绩][数学]})# 字典方法print(f所有键{list(student.keys())})print(f所有值{list(student.values())})# 字典推导式squares_dict {x: x**2 for x in range(1, 6)}print(f数字平方字典{squares_dict})## 五、文件操作读写数据Python 提供了简单的文件操作接口让我们能轻松处理文本文件。python# 写入文件with open(example.txt, w, encodingutf-8) as file: file.write(第一行Hello, Python!\n) file.write(第二行文件操作很简单\n) file.write(第三行人生苦短我用 Python\n)# 读取文件print(读取文件内容)with open(example.txt, r, encodingutf-8) as file: content file.read() print(content)# 逐行读取print(逐行读取)with open(example.txt, r, encodingutf-8) as file: for line_number, line in enumerate(file, 1): print(f第 {line_number} 行{line.strip()})## 六、异常处理让程序更健壮程序运行中难免会遇到错误合理的异常处理能让程序优雅地应对问题。pythondef safe_divide(a, b): 安全的除法函数 try: result a / b except ZeroDivisionError: print(错误除数不能为零) return None except TypeError: print(错误请输入数字) return None else: # 没有异常时执行 print(f计算成功{a} / {b} {result}) return result finally: # 无论是否异常都会执行 print(除法操作完成)# 测试异常处理print(测试 1正常除法)safe_divide(10, 2)print(\n测试 2除数为零)safe_divide(10, 0)print(\n测试 3类型错误)safe_divide(10, 2)## 七、面向对象编程封装与抽象类是 Python 面向对象编程的核心它允许我们创建自定义的数据类型。pythonclass BankAccount: 银行账户类 # 类变量所有实例共享 bank_name Python 银行 def __init__(self, owner, initial_balance0): 构造函数初始化账户 self.owner owner self.__balance initial_balance # 私有属性通过名称改写 self.transactions [] def deposit(self, amount): 存款 if amount 0: self.__balance amount self.transactions.append(f存款{amount}元) return True return False def withdraw(self, amount): 取款 if 0 amount self.__balance: self.__balance - amount self.transactions.append(f取款-{amount}元) return True return False def get_balance(self): 获取余额 return self.__balance def show_info(self): 显示账户信息 print(f银行{self.bank_name}) print(f户主{self.owner}) print(f余额{self.__balance}元) print(交易记录) for trans in self.transactions[-5:]: # 显示最近5笔交易 print(f - {trans})# 使用类print(创建账户)account BankAccount(小明, 1000)account.deposit(500)account.withdraw(200)account.show_info()# 访问类变量print(f\n银行名称{BankAccount.bank_name})## 八、模块与包组织大型项目Python 的模块系统让我们能轻松组织和复用代码。python# 创建自定义模块保存为 math_utils.pydef factorial(n): if n 0: return 1 return n * factorial(n - 1)def is_prime(n): if n 2: return False for i in range(2, int(n**0.5) 1): if n % i 0: return False return True# 导入和使用模块# import math_utils# from math_utils import factorial, is_prime# 使用 Python 标准库import mathimport randomfrom datetime import datetimeprint(f圆周率{math.pi})print(f随机数{random.randint(1, 100)})print(f当前时间{datetime.now()})# 使用第三方库需要先安装pip install requests# import requests# response requests.get(https://api.github.com)# print(response.status_code)## 九、实战案例数据分析小工具让我们综合运用所学知识创建一个简单的数据分析工具。pythondef analyze_scores(scores): 分析学生成绩数据 if not scores: return # 基本统计 total sum(scores) count len(scores) average total / count max_score max(scores) min_score min(scores) # 计算中位数 sorted_scores sorted(scores) if count % 2 0: median (sorted_scores[count//2 - 1] sorted_scores[count//2]) / 2 else: median sorted_scores[count//2] # 成绩分布 distribution { 优秀(90-100): 0, 良好(80-89): 0, 中等(70-79): 0, 及格(60-69): 0, 不及格(60): 0 } for score in scores: if score 90: distribution[优秀(90-100)] 1 elif score 80: distribution[良好(80-89)] 1 elif score 70: distribution[中等(70-79)] 1 elif score 60: distribution[及格(60-69)] 1 else: distribution[不及格(60)] 1 # 输出结果 print( * 40) print(成绩分析报告) print( * 40) print(f总人数{count}) print(f平均分{average:.2f}) print(f最高分{max_score}) print(f最低分{min_score}) print(f中位数{median:.2f}) print(\n成绩分布) for level, count in distribution.items(): if count 0: bar # * count print(f {level}: {bar} ({count}人))# 模拟数据import randomrandom.seed(42)test_scores [random.randint(40, 100) for _ in range(20)]# 进行分析analyze_scores(test_scores)## 十、总结Python 的力量从基础的变量赋值到高级的面向对象编程从简单的控制流到复杂的数据分析Python 以其清晰简洁的语法和强大的功能让我们能够用更少的时间完成更多的工作。本文涵盖的内容只是 Python 世界的冰山一角但它已经足够让你感受到“人生苦短我用 Python”这句话的真谛。Python 的核心优势在于-可读性强代码如文章般自然-生态丰富从 Web 开发到机器学习无所不能-社区活跃遇到问题总能找到解决方案-入门简单适合所有层次的开发者现在你已经掌握了 Python 的基础知识可以开始构建自己的项目了。记住编程最好的学习方式就是动手实践。打开你的编辑器开始编写第一个 Python 程序吧无论你是想自动化办公、开发网站还是探索人工智能Python 都会是你最可靠的伙伴。