你好,我是大虫,一名资深全栈工程师。本教程源于乐趣而非专业,欢迎来到Python的世界!
之前写的篇【全网最全】50个Python处理Excel示例代码,覆盖95%日常使用场景 大家有不错的反馈,于是就筹划了本系列教程。
这篇入门教程是为完全没有编程经验的朋友准备的。我会用最简单易懂的方式带你走进编程的大门。
学习编程就像学开车一样,一开始可能觉得复杂,但一旦掌握了基本操作,你就能感受到它带来的无穷乐趣。
准备好了吗?让我们一起开启这段有趣的Python之旅吧!记住,每个程序员都是从打印"Hello World"开始的,你也不例外!
目录
- Python简介与环境搭建
- 第一个Python程序:Hello World
- 变量与数据类型
- 运算符
- 输入与输出
- 条件语句
- 循环语句
- 函数基础
- 数据结构:列表、元组、字典、集合
- 异常处理基础
- 文件操作基础
- 实战项目:简易计算器
1. Python简介与环境搭建
什么是Python?
Python是一种高级编程语言,以其简洁易读的语法而闻名。它被广泛应用于Web开发、数据分析、人工智能、科学计算等领域。
为什么选择Python?因为它简单易学,而且功能强大。就像瑞士军刀一样,虽然小巧但功能齐全。而且,它还有一个可爱的爬虫Logo,这也是"大虫"这个名字的由来哦!
环境搭建步骤:
- 访问 python.org 下载Python
- 安装Python(建议勾选添加到PATH)
- 打开终端/命令行,输入
python --version
验证安装 - 推荐使用代码编辑器如 VS Code 或 PyCharm
安装Python就像给电脑装了个超级大脑。从此,你的电脑不仅能听音乐、看视频,还能帮你解决复杂的计算问题!
第一个Python程序
print("Python环境已准备就绪!")
2. 第一个Python程序:Hello World
Hello World 程序
“Hello, World!” 程序是学习任何编程语言的经典起点。它简单地在屏幕上输出一段文本。每个程序员的"第一次"都是从这里开始的,有点像编程界的成人礼!
# 这是你的第一个Python程序!
# print() 函数用于在控制台输出信息
print("Hello, World!") # 输出: Hello, World!
注释的作用
注释是代码中不会被执行的部分,用于解释代码的功能,提高代码的可读性,便于他人理解和维护。写注释是个好习惯,就像给你的代码加了说明书。别做那个让人看不懂你代码的"神秘程序员"!
# 在Python中,# 号后面的内容是注释,不会被执行
# 注释是用来解释代码的,提高代码可读性
print("欢迎来到Python的世界!") # 可以输出任何文本
3. 变量与数据类型
什么是变量?
变量就像是一个容器,用来存储数据。在Python中,你不需要声明变量的类型,解释器会自动识别。这就像你去餐厅点菜,服务员会根据你点的菜自动给你相应的餐具,而不需要你提前声明要用筷子还是叉子。
基本数据类型
Python有多种内置数据类型,包括数字(整数和浮点数)、字符串和布尔值等。这些数据类型就像不同的工具,各有各的用途。
# 数值类型
age = 25 # 整数 (int) - 表示年龄这类整数数据
height = 1.75 # 浮点数 (float) - 表示身高这类有小数的数据
is_student = True # 布尔值 (bool) - 表示是或否的逻辑值
# 字符串类型
name = "大虫" # 字符串 (str) - 表示文本信息
country = '中国' # 字符串可以用双引号或单引号,选择一种风格并保持一致!
查看变量类型
使用
type()
函数可以查看变量的数据类型,这对于调试和理解代码非常有帮助。当你不确定一个变量是什么类型时,type()
就像一个"侦探",帮你查明真相。
# 查看变量类型
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
print(type(name)) # <class 'str'>
变量命名规则
合理的变量命名可以提高代码的可读性。Python对变量命名有一些规则和建议。
# 变量命名规则:
# 1. 只能包含字母、数字和下划线
# 2. 不能以数字开头
# 3. 不能使用Python关键字(如if, for, while等)
4. 运算符
算术运算符
算术运算符用于执行基本的数学运算,是编程中最常用的运算符之一。
a = 10
b = 3
print("加法:", a + b) # 13
print("减法:", a - b) # 7
print("乘法:", a * b) # 30
print("除法:", a / b) # 3.333...
print("整除:", a // b) # 3 (只取整数部分)
print("取余:", a % b) # 1 (余数)
print("幂运算:", a ** b) # 1000 (10的3次方)
比较运算符
比较运算符用于比较两个值,返回布尔值True或False,在条件语句中经常使用。
print("等于:", a == b) # False
print("不等于:", a != b) # True
print("大于:", a > b) # True
print("小于:", a < b) # False
print("大于等于:", a >= b) # True
print("小于等于:", a <= b) # False
逻辑运算符
逻辑运算符用于组合多个条件,常用于复杂的条件判断中。
x = True
y = False
print("与运算:", x and y) # False (两者都为True才为True)
print("或运算:", x or y) # True (任一为True就为True)
print("非运算:", not x) # False (取反)
5. 输入与输出
输出函数 print()
print()
是Python中最常用的输出函数,可以将信息显示在控制台上。
# 输出(之前已经学过print())
print("直接输出文本")
print("格式化输出:", 123) # 可以输出多个值,用逗号分隔
输入函数 input()
input()
函数用于从用户那里获取输入,是实现交互式程序的基础。
# 输入(input()函数)
# input()会暂停程序,等待用户输入,并返回字符串类型
user_name = input("请输入你的姓名: ")
print("你好,", user_name)
# 注意:input()返回的是字符串,如果需要数字需要转换类型
age_str = input("请输入你的年龄: ")
age = int(age_str) # 使用int()将字符串转换为整数
print("明年你将会是", age + 1, "岁")
格式化字符串
格式化字符串可以让我们更灵活地组合文本和变量值,创建更丰富的输出信息。
name = "小虫"
age = 20
# 方式1:使用format()
print("我的名字是{},今年{}岁".format(name, age))
# 方式2:使用f-string(推荐)
print(f"我的名字是{name},今年{age}岁")
# 方式3:使用%(较老的方式)
print("我的名字是%s,今年%d岁" % (name, age))
6. 条件语句
基本 if 语句
score = 85
# 基本if语句
if score >= 60:
print("及格了!")
if-else 语句
# if-else语句
if score >= 90:
print("优秀")
else:
print("还需努力")
多条件判断(if-elif-else)
# if-elif-else语句(多条件判断)
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
条件表达式(三元运算符)
# 条件表达式(三元运算符)
result = "及格" if score >= 60 else "不及格"
print(result)
多条件组合
# 多条件组合
age = 20
has_license = True
# and: 两个条件都满足
if age >= 18 and has_license:
print("可以开车")
# or: 满足其中一个条件即可
if age < 18 or not has_license:
print("不能开车")
嵌套条件语句
# 嵌套条件语句
weather = "晴天"
temperature = 25
if weather == "晴天":
if temperature > 20:
print("适合户外活动")
else:
print("有点冷,多穿点衣服")
else:
print("不太适合出门")
7. 循环语句
for 循环
# for循环:遍历序列(如列表、字符串等)
fruits = ["苹果", "香蕉", "橙子"]
# 遍历列表
for fruit in fruits:
print(f"我喜欢吃{fruit}")
range() 函数
# 使用range()函数生成数字序列
for i in range(5): # 生成0到4的数字
print(f"第{i+1}次循环")
# range()的其他用法
for i in range(2, 8): # 从2到7
print(i)
for i in range(0, 10, 2): # 从0到9,步长为2
print(i) # 输出: 0, 2, 4, 6, 8
while 循环
# while循环:当条件为真时重复执行
count = 0
while count < 3:
print(f"计数器: {count}")
count += 1 # 等同于 count = count + 1
循环控制语句
# break: 跳出整个循环
for i in range(10):
if i == 5:
break
print(i) # 输出: 0, 1, 2, 3, 4
# continue: 跳过当前循环,继续下一次循环
for i in range(5):
if i == 2:
continue
print(i) # 输出: 0, 1, 3, 4
嵌套循环
# 嵌套循环
for i in range(1, 4): # 外层循环
for j in range(1, 4): # 内层循环
print(f"i={i}, j={j}")
8. 函数基础
什么是函数?
函数是组织好的、可重复使用的、用来实现特定功能的代码块。
定义和调用函数
# 定义一个简单的函数
def greet():
print("你好,欢迎学习Python!")
# 调用函数
greet()
带参数的函数
# 带参数的函数
def greet_person(name):
print(f"你好,{name}!")
greet_person("大虫")
greet_person("小虫")
带默认参数的函数
# 带默认参数的函数
def greet_person_with_title(name, title="同学"):
print(f"你好,{title} {name}!")
greet_person_with_title("大虫") # 使用默认标题
greet_person_with_title("小虫", "老师") # 指定标题
带返回值的函数
# 带返回值的函数
def add(a, b):
return a + b
result = add(3, 5)
print(f"3 + 5 = {result}")
返回多个值
# 返回多个值(实际上是返回一个元组)
def calculate(a, b):
sum_val = a + b
diff = a - b
return sum_val, diff
sum_result, diff_result = calculate(10, 3)
print(f"和: {sum_result}, 差: {diff_result}")
局部变量与全局变量
# 局部变量与全局变量
global_var = "我是全局变量"
def test_function():
local_var = "我是局部变量"
print(local_var)
print(global_var) # 可以访问全局变量
test_function()
# print(local_var) # 这里会报错,因为局部变量在函数外无法访问
print(global_var) # 全局变量可以在任何地方访问
9. 数据结构:列表、元组、字典、集合
列表 (List)
# 列表 (List) - 有序、可变、允许重复元素
fruits = ["苹果", "香蕉", "橙子"]
print(fruits[0]) # 访问第一个元素
fruits.append("葡萄") # 添加元素
fruits[1] = "草莓" # 修改元素
print(fruits)
# 列表常用方法
numbers = [3, 1, 4, 1, 5]
numbers.sort() # 排序
print(numbers)
numbers.reverse() # 反转
print(numbers)
print(len(numbers)) # 获取长度
元组 (Tuple)
# 元组 (Tuple) - 有序、不可变、允许重复元素
colors = ("红", "绿", "蓝")
print(colors[0])
# colors[0] = "黄" # 这会报错,因为元组不可变
字典 (Dictionary)
# 字典 (Dictionary) - 无序、可变、键值对存储
person = {
"name": "大虫",
"age": 25,
"city": "北京"
}
print(person["name"]) # 通过键访问值
person["job"] = "程序员" # 添加新的键值对
person["age"] = 26 # 修改值
print(person)
# 字典常用方法
print(person.keys()) # 获取所有键
print(person.values()) # 获取所有值
print(person.items()) # 获取所有键值对
集合 (Set)
# 集合 (Set) - 无序、可变、不允许重复元素
unique_numbers = {1, 2, 3, 3, 2, 1} # 重复元素会被自动去除
print(unique_numbers) # {1, 2, 3}
# 集合操作
set_a = {1, 2, 3}
set_b = {3, 4, 5}
print(set_a.union(set_b)) # 并集 {1, 2, 3, 4, 5}
print(set_a.intersection(set_b)) # 交集 {3}
print(set_a.difference(set_b)) # 差集 {1, 2}
10. 异常处理基础
什么是异常?
异常处理用于处理程序运行时可能出现的错误,避免程序崩溃。
基本的异常处理结构
# 基本的try-except结构
try:
number = int(input("请输入一个数字: "))
result = 10 / number
print(f"10除以{number}等于{result}")
except ValueError:
print("输入的不是有效数字!")
except ZeroDivisionError:
print("不能除以零!")
except Exception as e:
print(f"发生了未知错误: {e}")
try-except-else-finally结构
# try-except-else-finally结构
try:
file = open("test.txt", "r")
content = file.read()
except FileNotFoundError:
print("文件未找到")
else:
print("文件读取成功")
print(content)
finally:
print("执行清理操作")
# if 'file' in locals():
# file.close() # 关闭文件
主动抛出异常
# 主动抛出异常
def check_age(age):
if age < 0:
raise ValueError("年龄不能为负数")
elif age > 150:
raise ValueError("年龄不能超过150岁")
else:
print(f"年龄{age}岁是有效的")
try:
check_age(-5)
except ValueError as e:
print(e)
11. 文件操作基础
写入文件
# 文件操作是编程中常见的任务
# 写入文件
with open("example.txt", "w", encoding="utf-8") as file:
file.write("这是第一行\n")
file.write("这是第二行\n")
file.write("这是第三行\n")
读取文件
# 读取文件
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
逐行读取文件
# 逐行读取文件
with open("example.txt", "r", encoding="utf-8") as file:
for line in file:
print(f"读取到: {line.strip()}") # strip()去除行末的换行符
追加内容到文件
# 追加内容到文件
with open("example.txt", "a", encoding="utf-8") as file:
file.write("这是追加的一行\n")
检查文件是否存在
# 检查文件是否存在
import os
if os.path.exists("example.txt"):
print("文件存在")
else:
print("文件不存在")
# 删除文件
# os.remove("example.txt")
12. 实战项目:简易计算器
项目介绍
通过这个项目,我们将综合运用前面学到的所有知识点,创建一个实用的计算器程序。这不仅能巩固所学,还能体验到编程的实际应用价值。当你亲手写出来的程序能够正确计算数学题时,那种成就感是无法言喻的!
在本项目中,我们将综合运用前面学到的知识,创建一个简易计算器程序。
代码实现
# 简易计算器项目
# 综合运用前面学过的知识
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
if y == 0:
return "错误:除数不能为0"
return x / y
def calculator():
print("=== 简易计算器 ===")
print("选择操作:")
print("1. 加法")
print("2. 减法")
print("3. 乘法")
print("4. 除法")
while True:
choice = input("请输入操作编号(1/2/3/4)或'q'退出: ")
if choice == 'q':
print("感谢使用计算器!")
break
if choice in ('1', '2', '3', '4'):
try:
num1 = float(input("请输入第一个数字: "))
num2 = float(input("请输入第二个数字: "))
if choice == '1':
print(f"{num1} + {num2} = {add(num1, num2)}")
elif choice == '2':
print(f"{num1} - {num2} = {subtract(num1, num2)}")
elif choice == '3':
print(f"{num1} * {num2} = {multiply(num1, num2)}")
elif choice == '4':
result = divide(num1, num2)
print(f"{num1} / {num2} = {result}")
except ValueError:
print("输入无效,请输入数字!")
else:
print("无效的输入,请重新选择")
# 运行计算器
if __name__ == "__main__":
calculator()
项目总结
通过这个项目,我们练习了:
- 函数定义与调用
- 条件语句
- 循环语句
- 异常处理
- 用户输入处理
恭喜你完成了入门篇的学习!现在你已经掌握了Python的基础知识,可以开始编写一些简单的程序了。记住,编程是一项实践性很强的技能,多写代码才能进步更快。下一站:进阶篇,让我们继续深入Python的世界!
接下来的一周时间里我将会陆续分享本教程的另外两篇《进阶篇》和《高阶篇》。敬请期待噢!
关注"大虫小呓"(全网同名),第一时间获得更多技术干货。