Python从零到一:基础语法趣味入门指南

发布时间:2026/8/25 12:35:08

Python从零到一:基础语法趣味入门指南
在当前 AI 大环境下Python 语言在编程语言中的比重大幅增长学习 Python 语言已经成为做 AI 应用开发的重要前置条件。学习 Python 语言就从此刻开始随我来一起学习了解一下它吧。本文从 Python 语言的基础语法使用开始介绍逐步扩展帮助你快速掌握这门语言。1.1.1 变量与基本数据类型给数据起个“外号”想象一下你刚认识一个新朋友你总不能一直叫他“喂”吧变量就是给数据起的“外号”方便我们随时召唤它。# 变量赋值就像贴标签 name Python小王子 # 字符串用引号包裹 age 18 # 整数 height 1.75 # 浮点数带小数点的数 is_cool True # 布尔值只有 True 或 False print(f大家好我是{name}今年{age}岁身高{height}米。) print(f我酷吗答案是{is_cool})小贴士Python 是动态类型语言变量类型不用提前声明它会根据你赋的值自动判断。是不是很“善解人意”1.1.2 控制流让程序学会“做选择”和“重复劳动”程序不能像木头一样呆着得会根据情况做决定还能不厌其烦地重复干活。# if-elif-else人生选择题 score 85 if score 90: print(优秀奖励一顿火锅) elif score 60: print(及格了奖励一杯奶茶。) else: print(下次努力奖励一本习题册。) for 循环重复的快乐 print(\n--- 数鸭子 ---) for i in range(1, 6): # range(1, 6) 生成 1,2,3,4,5 print(f第{i}只鸭子嘎嘎嘎) while 循环不达目的不罢休 print(\n--- 倒计时 ---) countdown 3 while countdown 0: print(f{countdown}...) countdown - 1 # 等价于 countdown countdown - 1 print(发射)1.1.3 函数把你的代码打包成“魔法咒语”重复写一样的代码太累了函数就像你自定义的“魔法咒语”念一次调用一次就能执行一系列操作。# 定义一个打招呼的函数 def greet(name, time_of_day早上): 向某人问好这是一个文档字符串说明函数干嘛的 return f{time_of_day}好{name}今天也要元气满满哦 使用调用函数 message1 greet(小明) print(message1) # 输出早上好小明今天也要元气满满哦 message2 greet(小红, 下午) print(message2) # 输出下午好小红今天也要元气满满哦 函数也可以没有返回值默认返回 None def make_noise(animal): if animal 狗: print(汪汪) elif animal 猫: print(喵~) else: print(未知生物) make_noise(猫) # 输出喵~1.1.4 类与面向对象创造你自己的“小世界”类Class是创建对象的蓝图。对象Object是类的具体实例。面向对象编程OOP让我们用“事物”的思维来组织代码。# 定义一个“学生”类 class Student: # __init__ 是构造方法创建对象时自动调用 def __init__(self, name, major): self.name name # self 代表实例本身 self.major major self.energy 100 # 初始能量值 # 方法类里面的函数 def study(self, hours): cost hours * 10 if self.energy gt; cost: self.energy - cost print(f{self.name}学习了{hours}小时消耗{cost}点能量剩余{self.energy}点。) else: print(f{self.name}能量不足需要休息) def rest(self): self.energy min(100, self.energy 30) print(f{self.name}休息了一下能量恢复至{self.energy}点。) 创建类的实例对象 stu1 Student(张三, 计算机科学) stu2 Student(李四, 人工智能) 调用对象的方法 stu1.study(2) # 输出张三学习了2小时消耗20点能量剩余80点。 stu2.rest() # 输出李四休息了一下能量恢复至100点。1.1.5 数据结构与推导式高效处理数据的“瑞士军刀”Python 提供了几种强大的内置数据结构以及一种简洁的创建方式——推导式。# 列表List有序的可变集合像购物车 shopping_cart [苹果, 香蕉, 牛奶] shopping_cart.append(面包) # 添加元素 print(f购物车{shopping_cart}) 字典Dict键值对集合像通讯录 contact {张三: 13800138000, 李四: 13900139000} print(f李四的电话是{contact[李四]}) 集合Set无序的唯一元素集合像数学里的集合 my_set {1, 2, 2, 3, 3} # 重复元素自动去重 print(f集合内容{my_set}) # 输出{1, 2, 3} 元组Tuple有序的不可变集合像固定套餐 fixed_menu (汉堡, 薯条, 可乐) fixed_menu[0] 鸡翅 # 这行会报错元组不可修改 列表推导式一行代码生成新列表优雅 numbers [1, 2, 3, 4, 5] squared [x ** 2 for x in numbers] # 计算每个数的平方 print(f平方数列表{squared}) # 输出[1, 4, 9, 16, 25] 字典推导式一行代码生成新字典 name_list [Alice, Bob, Charlie] name_length {name: len(name) for name in name_list} print(f名字长度字典{name_length}) # 输出{Alice: 5, Bob: 3, Charlie: 7}1.1.6 装饰器Decorator给函数穿“皮肤”或加“Buff”装饰器本质上是一个函数它接收一个函数作为参数并返回一个新的函数。可以在不修改原函数代码的情况下为函数增加新功能。# 定义一个简单的装饰器给函数执行计时 import time def timer_decorator(func): 装饰器打印函数运行时间 def wrapper(*args, **kwargs): # *args 和 **kwargs 可以接收任意参数 start_time time.time() result func(*args, **kwargs) # 执行原函数 end_time time.time() print(f函数 {func.name} 运行耗时{end_time - start_time:.4f} 秒) return result return wrapper 使用装饰器语法糖 timer_decorator def slow_function(): 一个假装很慢的函数 time.sleep(1) # 休眠1秒 print(任务完成) 调用被装饰的函数 slow_function() 输出 任务完成 函数 slow_function 运行耗时1.0012 秒 另一个例子权限检查装饰器 def require_login(func): def wrapper(user): if user.get(is_login): return func(user) else: return 请先登录 return wrapper require_login def view_profile(user): return f欢迎回来{user[name]} user1 {name: 小明, is_login: True} user2 {name: 小红, is_login: False} print(view_profile(user1)) # 输出欢迎回来小明 print(view_profile(user2)) # 输出请先登录1.1.7 上下文管理器with 语句帮你自动“打扫战场”打开文件、连接数据库后总得记得关闭它们不然会资源泄露。with语句和上下文管理器能帮你自动处理这些“收尾”工作。# 最经典的例子文件操作 # 不用 with 的写法容易忘记关闭文件 file open(test.txt, w) try: file.write(Hello, World!) finally: file.close() # 必须手动关闭 使用 with 语句的写法推荐 with open(test.txt, w) as file: file.write(Hello, World!) 退出 with 代码块后文件会自动关闭即使发生异常也会关 自定义一个简单的上下文管理器 class SimpleTimer: 一个计时上下文管理器 def enter(self): self.start time.time() print(计时开始...) return self # as 后面的变量会接收这个返回值 def __exit__(self, exc_type, exc_val, exc_tb): self.end time.time() print(f计时结束总共耗时{self.end - self.start:.2f} 秒) 使用自定义的上下文管理器 print(\n--- 使用自定义上下文管理器 ---) with SimpleTimer() as timer: time.sleep(0.5) # 模拟一个耗时操作 print(正在执行一些操作...) 输出 计时开始... 正在执行一些操作... 计时结束总共耗时0.50 秒1.1.8 类型注解Type Hints基础给代码加上“说明书”Python 是动态类型但我们可以用类型注解Type Hints来注明变量、函数参数和返回值的期望类型。这不会影响程序运行但能让代码更清晰方便 IDE 提示和静态检查工具如 mypy发现潜在错误。# 给变量加上类型注解Python 3.6 name: str Python age: int 10 height: float 1.75 is_fun: bool True 给函数加上类型注解 def greet_person(name: str, age: int) - str: 向一个人问好并返回问候语 return f你好{name}听说你{age}岁了。 调用带类型注解的函数 message greet_person(小王, 20) print(message) # 输出你好小王听说你20岁了。 更复杂的类型注解需要从 typing 模块导入 from typing import List, Dict, Optional, Union def process_data( numbers: List[int], # 一个整数列表 config: Dict[str, Union[int, str]], # 字典键是字符串值是整数或字符串 threshold: Optional[float] None # 可选的浮点数默认为 None ) - bool: 处理数据返回是否成功 if threshold is None: threshold 0.5 avg sum(numbers) / len(numbers) return avg threshold 使用 result process_data([1, 2, 3], {mode: fast, retry: 3}, 1.0) print(f处理结果{result}) 类型注解只是“提示”不会强制检查下面代码能运行但类型不对 wrong greet_person(123, 二十) # 参数类型不对但能运行mypy 会警告结语恭喜你一口气看完了 Python 基础语法的八大核心板块。从给数据起外号变量到让程序做选择控制流再到创造自己的小世界类最后还给代码加上了“说明书”类型注解。记住编程就像学做饭光看菜谱教程是不够的一定要动手“炒”几次。打开你的代码编辑器把上面的例子都敲一遍再试着改改参数看看会发生什么。遇到报错别怕那是 Python 在教你呢接下来你可以尝试用这些基础知识去写一个小项目比如一个简单的待办事项列表或者一个猜数字的小游戏。实践出真知祝你编程愉快

相关新闻

零基础搭建《我的世界》基岩版私人服务器:从局域网到公网联机全攻略

零基础搭建《我的世界》基岩版私人服务器:从局域网到公网联机全攻略

2026/8/25 12:35:08

想和三五好友一起在《我的世界》基岩版里建造、冒险,却苦于找不到稳定、免费的服务器?或者觉得租用服务器太麻烦、太贵?其实,你完全可以用自己的电脑搭建一个专属的私人服务器!无论是宿舍局域网,还是天南海…

零成本搭建《我的世界》基岩版服务器:从本地部署到外网联机全攻略

零成本搭建《我的世界》基岩版服务器:从本地部署到外网联机全攻略

2026/8/25 12:35:08

这次我们来看一个非常实际的需求:如何在自己的电脑上搭建一个《我的世界》基岩版服务器,实现和朋友联机。很多玩家想和朋友一起玩,但不想租用昂贵的服务器,或者只是想临时开个服体验一下。其实,用你自己的电脑就能搞定…

数据加解密基础知识

数据加解密基础知识

2026/8/25 12:35:08

文章目录数据加解密基础知识笔记为什么要做数据加解密几个必须区分的基础概念加密算法的三大分类对称加密什么是对称加密常见对称加密算法对称加密的优点对称加密的缺点常见使用场景非对称加密什么是非对称加密常见非对称加密算法非对称加密的优点非对称加密的缺点常见使用场景…

零基础入门python21:Flask账本的数据模型——用户、分类和账目

零基础入门python21:Flask账本的数据模型——用户、分类和账目

2026/8/25 13:05:09

零基础入门python21:Flask账本的数据模型——用户、分类和账目一、上一篇课后练习讲解 上一篇要求使用环境变量并验证测试配置。参考测试通过 create_app({TESTING: True, SQLALCHEMY_DATABASE_URI: sqlite:///:memory:}) 创建临时应用,再在应用上下文中…

Agent Router 一个免费用codex,claude的网站如何接入 CC Switch

Agent Router 一个免费用codex,claude的网站如何接入 CC Switch

2026/8/25 13:05:09

先登录 Agent Router 打开 Agent Router,按页面提供的方式完成登录。登录后进入控制台,左侧通常可以看到数据看板、API 令牌、使用日志、钱包和个人设置等入口 创建 API Key 进入左侧的“API 令牌”,点击“添加令牌”。名称取一个自己能认出…

电商美工PS培训零基础怎么学 ?学设计就业推荐橡果教育

电商美工PS培训零基础怎么学 ?学设计就业推荐橡果教育

2026/8/25 13:05:09

电商美工PS培训零基础怎么学 ?学设计就业推荐橡果教育 当下电商行业持续火爆,淘宝、拼多多、京东、抖音、小红书、跨境电商等平台商家数量逐年递增,市场对电商美工的需求始终处于紧缺状态。不管是品牌旗舰店、直播带货团队,还是中…

蓝速科技丨新旧楼宇混杂场景下会议室预约门牌屏一体化改造方案

蓝速科技丨新旧楼宇混杂场景下会议室预约门牌屏一体化改造方案

2026/8/25 13:05:09

在很多大型园区或企业总部的智能化升级项目中,最让人头疼的往往不是技术本身,而是建筑环境的复杂性。想象一下这样的场景:一边是刚刚落成、管线布局完美的新建写字楼,另一边则是墙体厚重、装修定型且严禁大规模破拆的老办公楼。当…

Power BI做了RLS,AI问数会不会越权?

Power BI做了RLS,AI问数会不会越权?

2026/8/25 13:05:09

先说结论 Power BI做了RLS,不代表AI问数天然不会越权 这两句话听起来很接近,实际差别很大。 假设一家企业按区域设置了行级安全(RLS): 华南经理只能看华南 华东经理只能看华东 总经理可以看全国 在Power BI报表里&…

GNSS高级篇- 04 信号体制:4.1 各系统信号特征剖析

GNSS高级篇- 04 信号体制:4.1 各系统信号特征剖析

2026/8/25 12:55:09

GNSS 高级篇 4 信号体制 4.1 各系统信号特征剖析 如果说卫星轨道是 GNSS 的"骨架",原子钟是 GNSS 的"心脏",那信号体制就是 GNSS 的"语言"——卫星用这种语言向地面广播自己的位置和时间,接收机则要听懂这种语…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…