【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 都会是你最可靠的伙伴。

相关新闻

智能代理系统架构设计与优化实践

智能代理系统架构设计与优化实践

1. 项目概述在AI技术快速发展的今天,智能代理(Agent)系统正成为自动化流程和智能决策的核心组件。claudecode的agent定义项目,本质上是一套针对特定业务场景的智能代理框架设计规范。这个项目不是简单地调用现成API,而是从底层定义了agent的行…

2026/11/6 18:36:36 阅读更多 →
步进电机为何不标功率?从电流控制原理到选型实战解析

步进电机为何不标功率?从电流控制原理到选型实战解析

步进电机,一个在3D打印机、雕刻机、机器人、打印机等精密控制领域无处不在的执行元件。很多工程师和爱好者第一次接触它时,都会有一个共同的疑问:为什么步进电机的规格书上,通常找不到一个明确的“功率”参数,而只有电…

2026/10/29 11:32:14 阅读更多 →
5步实现小爱音箱AI智能升级:从普通音箱到ChatGPT语音助手

5步实现小爱音箱AI智能升级:从普通音箱到ChatGPT语音助手

5步实现小爱音箱AI智能升级:从普通音箱到ChatGPT语音助手 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 你是否曾想过让小爱音箱拥有…

2026/11/7 5:26:03 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻