零基础学Python——第一章:Python基础入门
Python由荷兰人Guido van Rossum于1989年圣诞节期间创建,并于1991年首次发布。Python的名字来源于Guido喜欢的英国喜剧团体Monty Python,而不是蟒蛇。经过30多年的发展,Python已成为全球最流行的编程语言之一。Python最大的特点是简洁易读的语法和强大的表达能力。就像我们日常使用的自然语言一样,Python代码读起来几乎像英语句子,这使得学习曲线非
第一章:Python基础入门
1.1 认识Python
1.1.1 Python简介
-
Python的历史与发展
Python由荷兰人Guido van Rossum于1989年圣诞节期间创建,并于1991年首次发布。Python的名字来源于Guido喜欢的英国喜剧团体Monty Python,而不是蟒蛇。经过30多年的发展,Python已成为全球最流行的编程语言之一。
-
Python的特点与优势
Python最大的特点是简洁易读的语法和强大的表达能力。就像我们日常使用的自然语言一样,Python代码读起来几乎像英语句子,这使得学习曲线非常平缓。
# 其他语言可能需要很多行代码来表达的逻辑,Python只需要一行 # 例如,打印1到10中的偶数: print([i for i in range(1, 11) if i % 2 == 0]) # 输出: [2, 4, 6, 8, 10]
-
Python的应用领域
Python就像一把瑞士军刀,几乎可以用于任何领域:
- 网站开发(Django, Flask)
- 数据分析与可视化(Pandas, Matplotlib)
- 人工智能与机器学习(TensorFlow, PyTorch)
- 自动化脚本(日常工作自动化)
- 游戏开发(Pygame)
- 科学计算(NumPy, SciPy)
-
Python 2与Python 3的区别
Python 2已于2020年1月1日停止支持。Python 3修复了许多设计缺陷,但不完全向后兼容。主要区别包括:
- 打印语句:Python 2使用
print "Hello"
,Python 3使用print("Hello")
- 整数除法:Python 2中
3/2=1
,Python 3中3/2=1.5
- 字符串处理:Python 3默认使用Unicode编码
本教程将完全基于Python 3进行讲解。
- 打印语句:Python 2使用
1.1.2 为什么选择Python作为入门语言
-
简洁易读的语法
想象你在学习一门外语。有些语言语法复杂,有很多例外规则,而Python就像是一门语法简单、规则统一的语言。Python使用缩进来组织代码块,没有复杂的括号和分号,代码看起来整洁有序。
# 一个简单的条件语句示例 temperature = 30 if temperature > 25: print("今天天气真热!") else: print("今天天气不错!")
-
丰富的库和框架
Python就像是带有无数插件的工具箱。无论你想做什么,很可能已经有现成的库可以帮助你。就像你不需要自己制作每一个厨房工具就能做出美食一样,Python的库让你能够站在巨人的肩膀上开发应用。
-
广泛的应用场景
从简单的计算器到复杂的人工智能系统,Python都能胜任。这就像学习一种既能用于日常对话,又能用于学术研究的语言,投资回报率极高。
-
活跃的社区支持
当你遇到问题时,全球数百万Python开发者组成的社区可以提供帮助。这就像有一个24小时在线的巨大学习小组,随时可以解答你的疑问。
1.2 搭建Python开发环境
1.2.1 安装Python
-
Windows系统安装Python
- 访问Python官网(https://www.python.org/downloads/)下载最新版Python安装包
- 运行安装程序,勾选"Add Python to PATH"选项
- 点击"Install Now"进行安装
- 安装完成后,打开命令提示符(CMD),输入
python --version
验证安装
C:\Users\用户名> python --version Python 3.10.0
-
macOS系统安装Python
macOS通常预装了Python 2.7,但我们需要安装Python 3:
- 推荐使用Homebrew安装:首先安装Homebrew,然后在终端执行:
brew install python3
- 或者从Python官网下载macOS安装包并安装
- 安装后,在终端输入
python3 --version
验证安装
- 推荐使用Homebrew安装:首先安装Homebrew,然后在终端执行:
-
Linux系统安装Python
大多数Linux发行版预装了Python。在终端中:
- 对于Ubuntu/Debian:
sudo apt update sudo apt install python3 python3-pip
- 对于Fedora:
sudo dnf install python3 python3-pip
- 验证安装:
python3 --version
- 对于Ubuntu/Debian:
-
验证安装是否成功
无论使用哪种操作系统,安装完成后,打开终端或命令提示符,输入:
python --version # 或 python3 --version
如果显示Python版本号(如Python 3.10.0),则表示安装成功。
1.2.2 选择并安装IDE/编辑器
-
IDLE(Python自带)
IDLE是Python自带的简单集成开发环境,适合初学者:
- 优点:无需额外安装,界面简单,包含交互式解释器
- 缺点:功能有限,不适合大型项目
- 使用方法:在命令行输入
idle
或从开始菜单启动
-
PyCharm(专业IDE)
PyCharm是功能最全面的Python IDE,有社区版(免费)和专业版:
- 从JetBrains官网(https://www.jetbrains.com/pycharm/download/)下载
- 运行安装程序,按提示完成安装
- 首次启动时,可以选择UI主题和插件
PyCharm就像一辆全功能的豪华汽车,有自动驾驶辅助(代码补全)、导航系统(跳转到定义)和安全气囊(调试工具)。
-
Visual Studio Code(轻量级编辑器)
VS Code是一款轻量级但功能强大的编辑器,通过插件支持Python:
- 从官网(https://code.visualstudio.com/)下载安装
- 安装Python扩展:点击扩展图标,搜索"Python"并安装
- 安装Python扩展包:打开终端,运行
pip install pylint
VS Code就像一辆可以根据需要改装的汽车,基础版轻便实用,随着你的需求增加,可以不断添加新功能。
-
Jupyter Notebook(交互式开发)
Jupyter Notebook特别适合数据分析和学习:
- 安装:
pip install notebook
- 启动:在命令行输入
jupyter notebook
- 浏览器会自动打开Notebook界面
Jupyter Notebook就像是一本可以运行代码的电子笔记本,你可以边写笔记边执行代码,非常适合学习和实验。
- 安装:
1.2.3 第一个Python程序
-
使用交互式解释器
Python的交互式解释器让你可以立即看到代码执行结果,非常适合学习和测试:
- 打开命令行或终端
- 输入
python
或python3
启动解释器 - 看到
>>>
提示符后,输入Python代码并按回车执行
>>> print("你好,Python世界!") 你好,Python世界! >>> 2 + 3 5 >>> name = "小明" >>> print(f"你好,{name}!") 你好,小明! >>> exit() # 退出解释器
-
创建并运行Python脚本文件
对于需要保存和重复执行的代码,我们使用.py文件:
- 打开文本编辑器或IDE
- 创建新文件,输入以下代码:
# 文件名: hello.py # 这是我的第一个Python程序 print("你好,Python世界!") # 计算并显示1到100的和 total = sum(range(1, 101)) print(f"1到100的和是: {total}") # 获取用户输入 name = input("请输入你的名字: ") print(f"你好,{name}!欢迎学习Python!")
- 保存为hello.py
- 在命令行中,导航到文件所在目录,执行:
python hello.py # 或 python3 hello.py
-
理解Python程序的执行过程
Python程序执行过程可以类比为阅读和执行食谱的过程:
- 解析阶段:Python解释器阅读你的代码(食谱),检查语法错误
- 编译阶段:将代码转换为字节码(内部表示),类似于理解食谱步骤
- 执行阶段:逐行执行字节码,就像按步骤烹饪食物
与编译型语言不同,Python是解释型语言,代码在运行时才被转换为机器能理解的形式,这就是为什么Python程序可以直接运行而不需要单独的编译步骤。
1.3 Python基本语法
1.3.1 Python代码结构
-
缩进与代码块
Python使用缩进来表示代码块,这与使用花括号的语言不同:
# 使用4个空格作为标准缩进 if temperature > 30: print("天气炎热") print("记得多喝水") else: print("天气适宜") if is_sunny: print("是个出游的好日子")
缩进就像是段落的层级,帮助我们一眼看出代码的结构。错误的缩进会导致语法错误或逻辑错误。
-
注释的使用(单行注释与多行注释)
注释是写给人看的,不会被执行:
# 这是单行注释,用#开头 print("Hello") # 也可以在代码后添加注释 ''' 这是多行注释 使用三个单引号或三个双引号 可以跨越多行 ''' """ 这也是多行注释 通常用于函数和类的文档说明 """
好的注释就像菜谱中的小贴士,帮助理解代码的目的和工作原理。
-
语句与表达式
- 表达式:产生一个值,如
2 + 2
、name.upper()
- 语句:执行一个操作,如赋值语句
x = 5
、条件语句if-else
# 表达式示例 price = 100 discount = 0.1 final_price = price * (1 - discount) # 这里price * (1 - discount)是表达式 # 语句示例 if final_price > 50: # 条件语句 print("价格仍然较高")
- 表达式:产生一个值,如
-
命名规范与标识符
标识符是变量、函数、类等的名称,命名规则:
- 只能包含字母、数字和下划线
- 不能以数字开头
- 区分大小写
- 不能使用Python关键字(如
if
,for
,class
等)
命名约定:
- 变量和函数名:小写,单词间用下划线连接(snake_case)
- 类名:首字母大写(PascalCase)
- 常量:全大写,单词间用下划线连接
# 良好的命名示例 user_name = "张三" # 变量名 def calculate_total_price(): # 函数名 pass class ShoppingCart: # 类名 pass MAX_RETRY_COUNT = 3 # 常量
好的命名就像好的标签,一眼就能看出内容,无需额外解释。
1.3.2 变量与赋值
-
变量的概念
变量是存储数据的容器,可以类比为贴有标签的盒子:
# 创建一个名为age的变量,存储数值25 age = 25
在这个例子中,
age
是标签(变量名),25
是盒子里的内容(值)。 -
变量命名规则
好的变量名应该具有描述性,表明它存储的是什么:
# 不好的命名 a = 30 # 好的命名 age = 30 temperature_celsius = 30 monthly_salary = 30000
想象你在整理家里的物品,使用"杂物盒"和"冬季衣物盒"哪个更容易找到东西?好的变量名也是如此。
-
赋值操作
赋值使用等号
=
,将右侧的值存储到左侧的变量中:# 基本赋值 name = "小红" age = 25 # 变量的值可以更新 age = 26 # 小红过生日了 # 使用已有变量的值创建新变量 next_year_age = age + 1
-
多重赋值
Python允许在一行中给多个变量赋值:
# 同时给多个变量赋相同的值 x = y = z = 0 # x, y, z都等于0 # 同时给多个变量赋不同的值 name, age, city = "小明", 20, "北京" # 交换两个变量的值(不需要临时变量) a, b = 5, 10 a, b = b, a # 现在a=10, b=5
这就像同时给多个盒子贴标签和放入物品,既方便又高效。
1.4 Python数据类型基础
1.4.1 数字类型
-
整数(int)
整数是没有小数部分的数字,可以是正数、负数或零:
age = 25 # 正整数 temperature = -5 # 负整数 count = 0 # 零 # Python整数没有大小限制 very_large_number = 10**100 # 10的100次方 print(very_large_number)
生活中的整数例子:年龄、人数、楼层数。
-
浮点数(float)
浮点数是有小数部分的数字:
height = 1.75 # 米 weight = 68.5 # 千克 pi = 3.14159 # 科学计数法 distance_to_sun = 1.496e11 # 1.496 × 10^11 米
生活中的浮点数例子:身高、体重、温度、价格。
注意:浮点数计算可能有精度问题:
print(0.1 + 0.2) # 输出0.30000000000000004而不是0.3
-
复数(complex)
复数有实部和虚部,在科学计算和工程中使用:
c = 3 + 4j # 3是实部,4是虚部 print(c.real) # 输出3.0 print(c.imag) # 输出4.0
-
数值运算与内置函数
Python支持所有基本数学运算:
# 基本运算 sum_result = 10 + 5 # 加法: 15 difference = 10 - 5 # 减法: 5 product = 10 * 5 # 乘法: 50 quotient = 10 / 5 # 除法: 2.0 (结果总是浮点数) # 整数除法和余数 integer_division = 10 // 3 # 整数除法: 3 remainder = 10 % 3 # 取余: 1 # 幂运算 power = 2 ** 3 # 2的3次方: 8 # 常用数学函数 import math print(abs(-10)) # 绝对值: 10 print(round(3.7)) # 四舍五入: 4 print(math.sqrt(16)) # 平方根: 4.0 print(math.sin(math.pi/2)) # 正弦函数: 1.0
这些运算就像日常计算器的功能,帮助我们处理各种数值计算。
1.4.2 字符串类型
-
字符串的创建与表示
字符串是文本数据,用单引号或双引号括起来:
# 创建字符串的不同方式 name = "小明" # 双引号 message = '你好,世界' # 单引号 # 多行字符串使用三引号 address = """北京市海淀区 中关村南大街5号 邮编: 100081""" # 包含引号的字符串 quote = "他说:"Python很有趣!"" # 或者使用不同类型的引号 quote = '他说:"Python很有趣!"'
-
字符串的基本操作
字符串支持多种操作,就像处理文本一样:
# 字符串拼接 greeting = "你好," + name # 使用+号连接 # 字符串重复 stars = "*" * 10 # 输出"**********" # 获取字符串长度 print(len(name)) # 输出2 # 字符串索引和切片 word = "Python" print(word[0]) # 'P' (第一个字符) print(word[-1]) # 'n' (最后一个字符) print(word[1:4]) # 'yth' (切片)
-
字符串常用方法
Python提供了丰富的字符串方法:
text = " Python 编程 " # 去除空白 print(text.strip()) # "Python 编程" # 大小写转换 print(text.upper()) # " PYTHON 编程 " print(text.lower()) # " python 编程 " # 查找和替换 print(text.find("编程")) # 返回位置8 print(text.replace("Python", "Java")) # " Java 编程 " # 分割字符串 fruits = "苹果,香蕉,橙子" print(fruits.split(",")) # ['苹果', '香蕉', '橙子']
-
字符串格式化
有多种方式格式化字符串:
# 旧式格式化 print("我叫%s,今年%d岁" % (name, age)) # str.format()方法 print("我叫{},今年{}岁".format(name, age)) # f-strings (Python 3.6+) print(f"我叫{name},今年{age}岁")
1.4.3 列表类型
-
列表的创建与基本操作
列表是有序的可变序列,可以存储不同类型的数据:
# 创建列表 shopping_list = ["苹果", "牛奶", "面包"] numbers = [1, 2, 3, 4, 5] mixed = [1, "文本", 3.14, True] # 访问元素 print(shopping_list[0]) # "苹果" print(numbers[-1]) # 5 (最后一个元素) # 修改元素 shopping_list[1] = "酸奶" # 添加元素 shopping_list.append("鸡蛋") shopping_list.insert(1, "香蕉") # 删除元素 del shopping_list[0] # 删除第一个元素 shopping_list.remove("面包") # 删除指定值 popped = shopping_list.pop() # 删除并返回最后一个元素 # 列表长度 print(len(shopping_list)) # 当前列表长度
-
列表常用方法
numbers = [3, 1, 4, 1, 5, 9, 2] # 排序 numbers.sort() # 原地排序 [1, 1, 2, 3, 4, 5, 9] sorted_numbers = sorted(numbers) # 返回新列表 # 反转 numbers.reverse() # [9, 5, 4, 3, 2, 1, 1] # 查找 print(numbers.index(5)) # 返回位置1 print(3 in numbers) # True # 统计 print(numbers.count(1)) # 2 # 列表拼接 new_list = numbers + [6, 7, 8]
-
列表切片
切片操作可以获取子列表:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[2:5]) # [2, 3, 4] print(numbers[:3]) # [0, 1, 2] (前三个) print(numbers[6:]) # [6, 7, 8, 9] (第六个到最后) print(numbers[::2]) # [0, 2, 4, 6, 8] (每隔一个) print(numbers[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] (反转)
1.4.4 元组类型
-
元组的特点与创建
元组是不可变序列,适合存储不应修改的数据:
# 创建元组 coordinates = (39.9, 116.4) # 北京经纬度 colors = ("红", "绿", "蓝") # RGB颜色 single = (42,) # 单元素元组必须有逗号 # 访问元素 print(coordinates[0]) # 39.9 # 元组解包 lat, lon = coordinates print(f"纬度: {lat}, 经度: {lon}") # 元组不可修改 # coordinates[0] = 40.0 # 会报错
-
元组的应用场景
元组常用于:
- 函数返回多个值
- 字典的键(因为不可变)
- 保护数据不被修改
# 函数返回多个值 def get_user_info(): return "张三", 30, "北京" name, age, city = get_user_info()
1.4.5 字典类型
-
字典的创建与基本操作
字典是键值对的集合,适合存储关联数据:
# 创建字典 student = { "name": "李四", "age": 20, "major": "计算机科学" } # 访问元素 print(student["name"]) # "李四" print(student.get("age")) # 20 # 添加/修改元素 student["grade"] = "A" student["age"] = 21 # 删除元素 del student["major"] popped = student.pop("grade") # 检查键是否存在 print("name" in student) # True # 获取所有键/值 print(student.keys()) # ['name', 'age'] print(student.values()) # ['李四', 21]
-
字典的遍历
# 遍历键 for key in student: print(key) # 遍历键值对 for key, value in student.items(): print(f"{key}: {value}")
1.4.6 练习题
-
字符串练习
编写代码将"Python编程很有趣"中的"编程"替换为"学习",并统计字母"n"出现的次数。text = "Python编程很有趣" # 你的代码
-
列表练习
创建一个购物清单列表,包含至少5种商品,然后:- 删除第三件商品
- 在开头添加一件商品
- 将列表按字母顺序排序
-
元组练习
创建一个包含3个城市名称的元组,然后:- 打印第二个城市
- 尝试修改第一个城市(观察会发生什么)
- 将元组转换为列表
-
字典练习
创建一个个人信息字典,包含姓名、年龄和爱好,然后:- 添加一个新的键值对(如:城市)
- 删除年龄
- 遍历并打印所有信息

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)