零基础快速入门Python:从安装到写出第一个程序

如果你是一个编程小白,想学一门简单又强大的语言,Python绝对是首选。它不仅语法接近英语,而且应用广泛------从数据分析、人工智能到网站开发、自动化办公,Python无处不在。今天,我们就从零开始,带你迈出Python学习的第一步。不需要任何编程基础,只要跟着操作,每个概念我都会用最通俗的语言解释清楚。很快你就能写出自己的第一个Python程序。


一、安装Python:搭建你的编程环境

首先,我们需要在电脑上安装Python环境。这个过程就像安装微信或QQ一样简单。

1. 下载安装包

打开Python官网:python.org。点击导航栏的"Downloads",网站会自动检测你的操作系统,并推荐下载最新版。

  • Windows用户 :选择 Windows installer (64-bit)(如果你的电脑是64位系统,现在基本都是)。

  • Mac用户 :选择 macOS 64-bit installer

  • Linux用户:一般系统自带Python,如需更新请用包管理器。

2. 安装

双击下载的安装包。这里有一个关键步骤 :在安装界面最下方,一定要勾选 "Add Python to PATH" (将Python添加到环境变量)。这个选项能让你之后在命令行中直接使用python命令,否则每次都要输入完整路径,很麻烦。勾选后点击"Install Now",等待安装完成。

3. 验证安装

安装完成后,打开命令行(Windows:按Win+R,输入cmd回车;Mac:打开"终端")。输入以下命令并回车:

python 复制代码
python --version

如果显示类似 Python 3.12.0 的版本号,说明安装成功。如果提示"不是内部或外部命令",说明没有勾选"Add Python to PATH",可以卸载重装,或者手动配置环境变量(新手建议重装)。

小提示:除了官方Python环境,你也可以安装Anaconda------一个包含Python和众多数据科学工具的集成平台,特别适合想做数据分析的初学者。不过对于入门,官方Python已经足够。


二、第一个Python程序:Hello, World!

按照编程界的传统,第一个程序通常是输出"Hello, World!"。Python有两种运行代码的方式:交互式环境脚本文件

1. 交互式环境(适合测试简单代码)

在命令行输入python并回车,你会看到>>>提示符,这表示进入了Python交互式环境。在这里可以直接输入代码,并立刻看到结果。试试输入:

python 复制代码
print("Hello, world!")

回车后,屏幕上就会显示Hello, world!。输入exit()可以退出交互环境。

这种方式很适合临时测试一小段代码,但不适合编写完整的程序。

2. 脚本文件(日常开发使用)

创建一个文本文件,重命名为hello.py(后缀名必须是.py,这是Python文件的标志)。用记事本或VS Code等文本编辑器打开,输入:

python 复制代码
print("Hello, world!")

保存文件。然后在命令行中切换到该文件所在的目录 (例如文件在桌面,就输入cd Desktop),运行,同样会输出Hello, world!。恭喜!你的第一个Python程序运行成功了。


三、Python基础语法:从零开始构建知识体系

1. 变量和数据类型

变量就像一个小盒子,用来存放数据。Python中不需要事先声明盒子里装什么类型的东西,直接放进去就行------这叫"动态类型"。

常见的数据类型有:

  • 字符串(str):文本,需要用引号括起来(单引号或双引号都可以)。

  • 整数(int):没有小数点的数字。

  • 浮点数(float):带小数点的数字。

  • 布尔值(bool) :只有True(真)和False(假)两种,用于逻辑判断。

python 复制代码
name = "小明"        # 字符串
age = 18             # 整数
height = 1.75        # 浮点数
is_student = True    # 布尔值

print(name, age, height, is_student)  # 同时输出多个变量,用逗号分隔

2. 基本运算符

Python支持常见的数学运算:

python 复制代码
a = 10
b = 3
print(a + b)   # 13  加法
print(a - b)   # 7   减法
print(a * b)   # 30  乘法
print(a / b)   # 3.3333333333333335  除法(结果总是浮点数)
print(a // b)  # 3   整除(只保留整数部分,向下取整)
print(a % b)   # 1   取余(求模,即10除以3的余数)
print(a ** b)  # 1000 乘方(10的3次方)

注意///的区别:/会得到小数,//只保留整数部分。

3. 输入与输出

  • 输出print()函数用于在屏幕上显示内容。

  • 输入input()函数用于获取用户从键盘输入的内容(注意:输入的内容总是字符串)。

python 复制代码
name = input("请输入你的名字:")
print("你好," + name + "!")  # 字符串拼接(用+连接)

但是字符串拼接有时不太方便,Python提供了更现代的格式化方法------f-string(Python 3.6+支持):

python 复制代码
age = input("请输入你的年龄:")
print(f"你好,{name},你今年{age}岁了。")  # 在字符串前加f,用花括号{}插入变量

这样写更清晰,也不容易出错。


四、控制流:让程序学会做决定

程序默认是按顺序一行行执行的,但通过"控制流"语句,我们可以让程序根据不同情况选择不同的路线,或者重复执行某些代码。

1. if条件判断

if语句用来判断条件是否成立,如果成立就执行缩进的代码块。

python 复制代码
score = 85
if score >= 90:
    print("优秀")      # 如果score>=90,执行这里
elif score >= 60:      # elif是else if的缩写,表示"否则如果"
    print("及格")      # 如果score在60~89之间,执行这里
else:                  # 其他所有情况
    print("不及格")    # 如果score<60,执行这里

重要 :Python用缩进 (通常是4个空格)来表示代码块,而不是像其他语言用花括号{}。所以缩进一定要对齐,否则会报错。

2. for循环

for循环通常用来遍历一个序列(比如列表、字符串、range生成的数字范围)。

python 复制代码
# 遍历列表
fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:          # fruit依次取列表中的每个元素
    print(f"我喜欢吃{fruit}")

# 使用range生成数字序列
# range(5) 生成0,1,2,3,4(从0开始,到5结束,不包括5)
for i in range(5):
    print(f"当前计数:{i}")

# range可以指定起始和步长
# range(1, 10, 2) 生成1,3,5,7,9(从1开始,到10结束,步长为2)

3. while循环

while循环在条件为真时一直重复执行,直到条件变为假。

python 复制代码
count = 0
while count < 3:               # 当count小于3时,重复执行
    print(f"正在循环第{count+1}次")
    count += 1                 # 每次让count增加1,否则会无限循环

一定要记得更新计数器,否则条件永远为真,程序会陷入无限循环(可以用Ctrl+C强制终止)。

4. 循环控制:break和continue

  • break:立即跳出整个循环。

  • continue:跳过本次循环的剩余代码,直接进入下一次循环。

python 复制代码
# break示例:找到第一个能被7整除的数
for i in range(1, 20):
    if i % 7 == 0:
        print(f"找到了:{i}")
        break          # 找到后就跳出循环

# continue示例:只打印奇数
for i in range(10):
    if i % 2 == 0:     # 如果是偶数
        continue       # 跳过本次循环,不执行后面的print
    print(i)           # 输出1,3,5,7,9

五、数据结构:组织数据的容器

数据结构是存放数据的"容器",Python提供了几种非常实用的内置数据结构。

1. 列表(List)------有序可变序列

列表用方括号[]表示,里面的元素可以是任意类型,并且可以随时添加、删除或修改。

python 复制代码
# 创建列表
fruits = ["苹果", "香蕉", "橘子"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hello", True, 3.14]  # 列表可以混合不同类型

# 访问元素(索引从0开始)
print(fruits[0])      # 第一个元素:"苹果"
print(fruits[-1])     # 最后一个元素:"橘子"(-1表示倒数第一个)

# 修改元素
fruits[1] = "草莓"    # 将第二个元素改为"草莓"

# 添加元素
fruits.append("葡萄")  # 在末尾添加

# 删除元素
fruits.remove("苹果")  # 删除指定值的元素(只删除第一个匹配项)

# 列表长度
print(len(fruits))     # 获取列表元素个数

# 切片:获取子列表 [start:end:step]
print(numbers[1:4])    # 从索引1到3(不包括4):[2,3,4]
print(numbers[:3])     # 从头到索引2:[1,2,3]
print(numbers[::2])    # 从头到尾,步长为2:[1,3,5]
复制代码

2. 元组(Tuple)------有序不可变序列

元组用圆括号()表示,一旦创建就不能修改(不可变)。适合存储固定不变的数据,比如坐标、颜色值。

python 复制代码
coordinates = (10, 20)        # 二维坐标
rgb_color = (255, 128, 0)     # RGB颜色值

# 访问元素
print(coordinates[0])  # 10

# 元组不能修改,下面的代码会报错
# coordinates[0] = 30  # TypeError: 'tuple' object does not support item assignment
复制代码

3. 字典(Dict)------键值对集合

字典用花括号{}表示,每个元素由"键:值"组成,通过键来访问对应的值。字典中的键必须是唯一的。

python 复制代码
# 创建字典
student = {
    "name": "小明",
    "age": 18,
    "score": 95
}

# 访问值
print(student["name"])     # 小明
print(student.get("age"))  # 18(用get方法,如果键不存在返回None,不会报错)

# 修改值
student["score"] = 98

# 添加新键值对
student["gender"] = "男"

# 删除键值对
del student["age"]

# 遍历字典
for key, value in student.items():
    print(f"{key}: {value}")
复制代码

4. 集合(Set)------无序不重复元素

集合用花括号{}表示,但里面只有值,没有键。集合会自动去除重复元素,并且可以进行数学上的集合运算。

python 复制代码
# 创建集合
numbers = {1, 2, 3, 3, 2}  # 重复元素会被自动去除
print(numbers)  # {1, 2, 3}

# 集合运算
set_a = {1, 2, 3}
set_b = {2, 3, 4}
print(set_a & set_b)  # 交集:{2, 3}
print(set_a | set_b)  # 并集:{1, 2, 3, 4}
print(set_a - set_b)  # 差集:在set_a但不在set_b中的元素 {1}
print(set_a ^ set_b)  # 对称差集:两个集合中不重复的元素 {1, 4}
复制代码

六、函数:代码复用的艺术

当我们需要重复执行某段代码时,可以把它封装成一个函数,需要时直接调用,避免重复写同样的代码。

1. 定义和调用函数

def关键字定义函数,后面跟函数名和圆括号,冒号后缩进写函数体。

python 复制代码
def greet(name):
    """这是一个简单的打招呼函数(文档字符串,用来解释函数的作用)"""
    print(f"你好,{name}!")

# 调用函数
greet("小红")
greet("小李")

2. 返回值

函数可以用return语句返回一个值,调用函数的地方会得到这个值。

python 复制代码
def add(a, b):
    return a + b   # 返回a+b的结果

result = add(3, 5)   # result接收返回值
print(result)        # 8

3. 参数类型

  • 位置参数:调用时按顺序传入。

  • 默认参数:定义时可以给参数一个默认值,调用时如果不传就用默认值。

  • 关键字参数:调用时通过参数名指定,可以打乱顺序。

python 复制代码
# 默认参数
def power(base, exponent=2):
    return base ** exponent

print(power(3))     # 9(只传一个参数,exponent使用默认值2)
print(power(3, 3))  # 27(两个参数都传了)

# 关键字参数
print(power(exponent=4, base=2))  # 16,顺序无关,通过参数名指定

4. 变量作用域

  • 全局变量:在函数外部定义的变量,整个程序都能访问。

  • 局部变量:在函数内部定义的变量,只能在函数内部使用。

  • 如果要在函数内部修改全局变量,需要用global声明。

python 复制代码
x = 10  # 全局变量

def my_func():
    y = 5  # 局部变量
    global x  # 声明x是全局变量
    x = 20   # 修改全局变量
    print(f"函数内部:x={x}, y={y}")

my_func()
print(f"函数外部:x={x}")  # 20,全局变量被修改了
# print(y)  # 报错!y在函数外部不可见

七、文件操作与异常处理

1. 文件读写

Python可以很方便地读写文件。使用open()函数打开文件,操作完成后要关闭文件(用close()),但更推荐用with语句,它会自动关闭文件。

python 复制代码
# 写入文件('w'模式:写入,会覆盖原有内容;如果文件不存在会创建)
with open('test.txt', 'w', encoding='utf-8') as file:
    file.write("Hello, World!\n")
    file.write("这是第二行\n")

# 读取文件('r'模式:读取)
with open('test.txt', 'r', encoding='utf-8') as file:
    content = file.read()  # 一次读取全部内容
    print(content)

# 逐行读取(适合大文件,避免一次性占用太多内存)
with open('test.txt', 'r', encoding='utf-8') as file:
    for line in file:
        print(line.strip())  # strip()去除行尾的换行符

# 追加内容('a'模式:追加,在文件末尾添加)
with open('test.txt', 'a', encoding='utf-8') as file:
    file.write("这是追加的内容\n")

encoding='utf-8' 是为了正确处理中文,否则可能会出现乱码。

2. 异常处理

程序运行时可能会遇到错误(比如用户输入了非数字、除数为0),如果不处理,程序就会崩溃。用try...except可以捕获异常,让程序更健壮。

python 复制代码
try:
    num = int(input("请输入一个数字:"))
    result = 10 / num
    print(f"10除以{num}等于{result}")
except ValueError:
    print("输入无效,请输入数字!")      # 捕获输入不是数字的错误
except ZeroDivisionError:
    print("除数不能为0!")               # 捕获除以0的错误
else:
    print("计算成功完成!")              # 没有异常时执行
finally:
    print("程序执行结束")                # 无论是否有异常都会执行

八、模块与库:站在巨人的肩膀上

Python的强大之处在于它有丰富的模块,你可以直接使用别人写好的功能,避免重复造轮子。

1. 导入模块

import关键字导入模块,然后使用模块名.函数名的方式调用。

python 复制代码
# 导入整个模块
import math
print(math.sqrt(16))  # 4.0(求平方根)

# 只导入模块中的特定函数
from random import randint
print(randint(1, 100))  # 生成1-100的随机整数

# 给模块起别名
import datetime as dt
print(dt.datetime.now())  # 当前日期时间

# 不推荐:导入所有内容(可能导致命名冲突)
# from math import *

2. 常用内置模块

  • os:与操作系统交互(文件路径、环境变量等)

  • sys:与Python解释器交互(命令行参数等)

  • json:处理JSON数据

  • re:正则表达式

  • time:时间相关函数

3. 安装第三方库

除了Python自带的模块,还有成千上万的第三方库可以用。用pip工具安装:

python 复制代码
pip install requests    # 安装网络请求库
pip install numpy       # 安装科学计算库
pip install pandas      # 安装数据分析库
安装后就可以导入使用:

python

import requests
response = requests.get("https://api.github.com")
print(response.status_code)  # 200表示请求成功

九、动手小项目:猜数字游戏(带解释)

下面我们把学到的知识组合起来,写一个简单的猜数字游戏。这个程序会随机生成一个1到100之间的数字,让玩家猜,每次猜错会提示"太大了"或"太小了",直到猜对为止。

python 复制代码
import random  # 导入random模块,用于生成随机数

# 生成一个1到100之间的随机整数,赋值给secret
secret = random.randint(1, 100)

# 初始化变量
guess = 0      # 玩家猜的数字,初始为0(确保不等于secret)
tries = 0      # 记录尝试次数

print("欢迎来玩猜数字游戏!")
print("我已经想好了一个1到100之间的数字。")

# 只要玩家没猜对,就继续循环
while guess != secret:
    # 获取玩家输入,并转换为整数
    guess = int(input("你猜的数字是:"))
    tries += 1  # 尝试次数加1

    if guess < secret:
        print("太小了!再试试吧。")
    elif guess > secret:
        print("太大了!再试试吧。")

# 循环结束,说明猜对了
print(f"恭喜你!猜对了!数字就是{secret}。")
print(f"你一共用了{tries}次。")

代码解释

  • import random:引入随机数模块。

  • secret = random.randint(1, 100):生成1~100的随机整数。

  • while guess != secret::循环条件,只要猜的数字不等于秘密数字就继续。

  • guess = int(input(...)):input返回的是字符串,需要用int()转换成整数才能比较。

  • tries += 1:每猜一次增加计数。

  • if...elif...:根据猜测值给出提示。

  • guess == secret时,循环结束,输出祝贺信息。

把这段代码保存为.py文件并运行,就能玩啦!


十一、学习资源推荐

  • 官方文档docs.python.org/zh-cn/3/(有中文版,是最权威的参考)

  • 在线教程:菜鸟教程、廖雪峰的Python教程、W3Schools

  • 练习平台:LeetCode(题库)、Codewars(闯关式)、牛客网

  • 书籍

    • 《Python编程:从入门到实践》(适合零基础,项目驱动)

    • 《流畅的Python》(进阶必读)

  • 视频课程:B站搜索"Python入门",有很多免费优质课程(如小甲鱼、黑马程序员等)


十二、写在最后

编程是一门实践性很强的技能,只看不练永远学不会。建议你每天花一点时间敲代码,从简单的例子开始,慢慢尝试修改、组合。遇到错误不要怕,把错误信息复制到搜索引擎里,你会发现无数人遇到过同样的问题------编程的过程就是不断解决问题的过程。

Python的世界很大,今天的入门只是打开了大门。坚持下去,你一定能写出属于自己的精彩程序。加油!

相关推荐
xcLeigh2 小时前
IoTDB Python原生接口全攻略:从基础读写到高级实战
开发语言·数据库·python·api·iotdb·原生接口·读写数据
User_芊芊君子2 小时前
文科生封神!Python+AI 零门槛变现:3 天造 App,指令即收入(附脉脉 AI 沙龙干货)
开发语言·人工智能·python
MeowNeko2 小时前
为什么说程序员重命名时电脑不要带中文?记一次python manage.py runserver时UnicodeDecodeError的原因与解决方案
人工智能·python·chatgpt·中间件·django·utf8
是Dream呀2 小时前
2025年中秋月亮只有94.91%圆?Python告诉你真相
开发语言·python·中秋节
星辰徐哥2 小时前
Python开发从入门到精通:异步编程与协程
开发语言·python
AI智能研究院2 小时前
Python系列进阶教程(一)Python 面向对象
开发语言·python
郁大锤2 小时前
Windows 环境下安装 Python 与环境变量配置
开发语言·windows·python
xcLeigh2 小时前
Python操作国产金仓数据库(KingbaseES)全流程:从环境搭建到实战应用
开发语言·数据库·python·国产数据库·kingbasees·金仓数据库
xiaoye37088 小时前
Java 自动装箱 / 拆箱 原理详解
java·开发语言