你好,我是大虫,一名资深全栈工程师。本教程源于乐趣而非专业,欢迎来到Python的世界!
这篇入门教程是为完全没有编程经验的朋友准备的。我会用最简单易懂的方式带你走进编程的大门。
学习编程就像学开车一样,一开始可能觉得复杂,但一旦掌握了基本操作,你就能感受到它带来的无穷乐趣。
准备好了吗?让我们一起开启这段有趣的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 = 10b = 3print("加法:", a + b) # 13print("减法:", a - b) # 7print("乘法:", a * b) # 30print("除法:", a / b) # 3.333...print("整除:", a // b) # 3 (只取整数部分)print("取余:", a % b) # 1 (余数)print("幂运算:", a ** b) # 1000 (10的3次方)
比较运算符
比较运算符用于比较两个值,返回布尔值True或False,在条件语句中经常使用。
print("等于:", a == b) # Falseprint("不等于:", a != b) # Trueprint("大于:", a > b) # Trueprint("小于:", a < b) # Falseprint("大于等于:", a >= b) # Trueprint("小于等于:", a <= b) # False
逻辑运算符
逻辑运算符用于组合多个条件,常用于复杂的条件判断中。
x = Truey = Falseprint("与运算:", 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 = 20has_license = True# and: 两个条件都满足if age >= 18 and has_license: print("可以开车")# or: 满足其中一个条件即可if age < 18 or not has_license: print("不能开车")
嵌套条件语句
# 嵌套条件语句weather = "晴天"temperature = 25if 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 = 0while 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 + bresult = add(3, 5)print(f"3 + 5 = {result}")
返回多个值
# 返回多个值(实际上是返回一个元组)def calculate(a, b): sum_val = a + b diff = a - b return sum_val, diffsum_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 osif os.path.exists("example.txt"): print("文件存在")else: print("文件不存在")# 删除文件# os.remove("example.txt")
12. 实战项目:简易计算器
项目介绍
通过这个项目,我们将综合运用前面学到的所有知识点,创建一个实用的计算器程序。这不仅能巩固所学,还能体验到编程的实际应用价值。当你亲手写出来的程序能够正确计算数学题时,那种成就感是无法言喻的!
在本项目中,我们将综合运用前面学到的知识,创建一个简易计算器程序。
代码实现
# 简易计算器项目# 综合运用前面学过的知识def add(x, y): return x + ydef subtract(x, y): return x - ydef multiply(x, y): return x * ydef divide(x, y): if y == 0: return "错误:除数不能为0" return x / ydef 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的世界!
接下来的一周时间里我将会陆续分享本教程的另外两篇《进阶篇》和《高阶篇》。敬请期待噢!
关注"大虫小呓"(全网同名),第一时间获得更多技术干货。