Python 基础教程 – wiki词典


Python 基础教程:从入门到实践

Python 是一种高级的、解释型的、交互式的、面向对象的脚本语言。它以其简洁明了的语法和强大的功能,在数据科学、机器学习、Web 开发、自动化脚本等众多领域占据了举足轻重的地位。无论你是编程新手还是经验丰富的开发者,学习 Python 都会是一个明智的选择。

本教程旨在为你提供 Python 编程的基础知识,帮助你快速入门并掌握核心概念。

1. Python 简介与特点

  • 易学易用: Python 语法简单,接近自然语言,降低了学习门槛。
  • 开源免费: 可以自由地使用和分发 Python。
  • 跨平台: 可以在 Windows、macOS、Linux 等多种操作系统上运行。
  • 丰富的库: 拥有庞大而活跃的社区,提供了海量的第三方库和框架,极大地扩展了 Python 的功能。
  • 解释型语言: 无需编译,直接运行,方便开发和调试。
  • 面向对象: 支持面向对象编程范式。

2. 环境搭建

学习 Python 的第一步是安装它并设置开发环境。

2.1 安装 Python

访问 Python 官方网站 (python.org) 下载适合你操作系统的最新稳定版 Python 安装包。安装时,请务必勾选 “Add Python X.Y to PATH” 选项,这样可以方便地在命令行中运行 Python。

安装完成后,打开命令行(Windows: cmdPowerShell;macOS/Linux: Terminal),输入 python --versionpython3 --version,如果显示版本号,则说明安装成功。

2.2 选择开发工具

  • 文本编辑器: Visual Studio Code (VS Code)、Sublime Text、Atom 等。它们轻量级,通过插件可获得强大的 Python 开发支持。
  • 集成开发环境 (IDE): PyCharm (社区版免费) 是专门为 Python 开发设计的强大 IDE,提供代码补全、调试、测试等一站式功能。

对于初学者,VS Code 或 PyCharm 都是不错的选择。

3. 基本语法

3.1 第一个 Python 程序:Hello World

python
print("Hello, World!") # 打印输出 "Hello, World!"

将上述代码保存为 hello.py,然后在命令行中运行 python hello.py,你将看到输出 Hello, World!

3.2 注释

  • 单行注释: 使用 # 符号,从 # 开始到行尾都是注释。
  • 多行注释: 使用三个双引号 """ 或三个单引号 ''' 包裹。

“`python

这是一个单行注释

“””
这是一个
多行注释
“””

”’
这也是一个
多行注释
”’
“`

3.3 变量

Python 中的变量无需提前声明类型,直接赋值即可创建。变量名是大小写敏感的。

“`python
name = “Alice” # 字符串
age = 30 # 整型
height = 1.75 # 浮点型
is_student = True # 布尔型

print(name, age, height, is_student)
“`

3.4 数据类型

Python 内置了多种数据类型:

  • 数值型:
    • int (整型): 10, -5, 0
    • float (浮点型): 3.14, -0.5, 2.0
    • complex (复数型): 1 + 2j
  • 字符串 (String): str,用单引号、双引号或三引号括起来的文本。
    • "Hello", 'Python', """多行文本"""
  • 布尔型 (Boolean): boolTrueFalse
  • 列表 (List): list,有序的可变集合,用方括号 [] 包裹。
    • [1, 2, 3], ["apple", "banana"]
  • 元组 (Tuple): tuple,有序的不可变集合,用圆括号 () 包裹。
    • (1, 2, 3), ("red", "green")
  • 字典 (Dictionary): dict,无序的键值对集合,用花括号 {} 包裹。
    • {"name": "Alice", "age": 30}
  • 集合 (Set): set,无序的不重复元素集合,用花括号 {} 包裹。
    • {1, 2, 3}, {"a", "b", "c"}

4. 运算符

4.1 算术运算符

+ (加), - (减), * (乘), / (除), % (取模), ** (幂), // (整除)

python
print(10 + 3) # 13
print(10 - 3) # 7
print(10 * 3) # 30
print(10 / 3) # 3.333...
print(10 % 3) # 1
print(10 ** 3) # 1000
print(10 // 3) # 3

4.2 比较运算符

== (等于), != (不等于), > (大于), < (小于), >= (大于等于), <= (小于等于)

python
print(5 == 5) # True
print(5 != 10) # True
print(5 > 10) # False

4.3 逻辑运算符

and (与), or (或), not (非)

python
print(True and False) # False
print(True or False) # True
print(not True) # False

4.4 赋值运算符

=, +=, -=, *=, /=, %=, **=, //=

python
x = 10
x += 5 # 等同于 x = x + 5
print(x) # 15

5. 控制流

5.1 条件语句:if, elif, else

用于根据条件执行不同的代码块。

“`python
age = 18

if age < 12:
print(“儿童”)
elif 12 <= age < 18:
print(“青少年”)
else:
print(“成年人”)
“`

5.2 循环语句:for 循环

用于遍历序列(列表、元组、字符串、字典、集合)或其他可迭代对象。

“`python

遍历列表

fruits = [“apple”, “banana”, “cherry”]
for fruit in fruits:
print(fruit)

遍历数字序列

for i in range(5): # range(5) 生成 0, 1, 2, 3, 4
print(i)
“`

5.3 循环语句:while 循环

只要条件为真,就重复执行代码块。

python
count = 0
while count < 3:
print("Count:", count)
count += 1 # 每次循环增加 count 的值

5.4 breakcontinue

  • break:立即终止当前循环。
  • continue:跳过当前循环的剩余部分,进入下一次循环。

python
for i in range(5):
if i == 2:
continue # 跳过 2
if i == 4:
break # 遇到 4 终止循环
print(i) # 输出 0, 1, 3

6. 函数

函数是组织好的、可重复使用的、用于执行特定任务的代码块。

6.1 定义函数

使用 def 关键字定义函数。

“`python
def greet(name):
“””
这个函数用于向指定的名字问好。
“””
print(f”Hello, {name}!”) # f-string 格式化字符串

调用函数

greet(“Alice”)
greet(“Bob”)
“`

6.2 带返回值的函数

函数可以使用 return 语句返回一个值。

“`python
def add(a, b):
return a + b

result = add(5, 3)
print(result) # 8
“`

6.3 参数

  • 位置参数: 按照顺序传递。
  • 关键字参数: 按照参数名传递,可以不按顺序。
  • 默认参数: 为参数设置默认值。
  • 可变参数: *args (元组形式), **kwargs (字典形式)。

“`python
def describe_person(name, age=30): # age 是默认参数
print(f”Name: {name}, Age: {age}”)

describe_person(“Charlie”) # Name: Charlie, Age: 30
describe_person(“David”, age=25) # Name: David, Age: 25
“`

7. 数据结构进阶

前面我们已经接触了列表、元组、字典和集合,这里我们深入了解一些常用操作。

7.1 列表 (List)

  • 创建: my_list = [1, 2, 3]
  • 访问元素: my_list[0] (索引从0开始)
  • 切片: my_list[1:3] (获取索引1到2的元素)
  • 修改元素: my_list[0] = 10
  • 添加元素: my_list.append(4), my_list.insert(1, 1.5)
  • 删除元素: my_list.remove(2), del my_list[0], my_list.pop()
  • 长度: len(my_list)

python
numbers = [1, 2, 3, 4, 5]
numbers.append(6) # [1, 2, 3, 4, 5, 6]
numbers.insert(0, 0) # [0, 1, 2, 3, 4, 5, 6]
print(numbers[2:5]) # [2, 3, 4]

7.2 元组 (Tuple)

  • 创建: my_tuple = (1, 2, 3)
  • 访问元素: my_tuple[0]
  • 不可变性: 元组的元素不能修改。

“`python
coordinates = (10, 20)
print(coordinates[0]) # 10

coordinates[0] = 5 # 会报错:TypeError: ‘tuple’ object does not support item assignment

“`

7.3 字典 (Dictionary)

  • 创建: my_dict = {"key1": "value1", "key2": "value2"}
  • 访问值: my_dict["key1"]my_dict.get("key1")
  • 修改/添加键值对: my_dict["key1"] = "new_value", my_dict["key3"] = "value3"
  • 删除键值对: del my_dict["key1"]my_dict.pop("key1")
  • 获取键、值、键值对: my_dict.keys(), my_dict.values(), my_dict.items()

python
person = {"name": "Alice", "age": 30}
person["city"] = "New York"
print(person["name"]) # Alice
print(person.get("gender", "未知")) # 获取不到键时返回默认值
print(person.keys()) # dict_keys(['name', 'age', 'city'])

7.4 集合 (Set)

  • 创建: my_set = {1, 2, 3}set([1, 2, 2, 3])
  • 特点: 元素唯一,无序。
  • 添加元素: my_set.add(4)
  • 删除元素: my_set.remove(1)
  • 集合操作: union() (并集), intersection() (交集), difference() (差集)

python
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2)) # {1, 2, 3, 4, 5}
print(set1.intersection(set2)) # {3}

8. 模块与包

Python 通过模块(Module)和包(Package)来组织代码。

  • 模块: 一个 .py 文件就是一个模块,包含 Python 代码(函数、类、变量等)。
  • 包: 一个包含多个模块的目录,该目录下必须有一个 __init__.py 文件(Python 3.3+ 可以省略,但建议保留)。

8.1 导入模块

“`python

导入整个模块

import math
print(math.sqrt(16)) # 使用 math 模块中的 sqrt 函数

导入模块中的特定函数/变量

from random import randint
print(randint(1, 10)) # 直接使用 randint 函数

导入模块并设置别名

import numpy as np

print(np.array([1, 2, 3]))

“`

8.2 创建自己的模块

创建一个 my_module.py 文件:

“`python

my_module.py

def say_hello(name):
return f”Hello from my_module, {name}!”

my_variable = “Python is fun!”
“`

在另一个文件中导入并使用:

“`python

main.py

import my_module

print(my_module.say_hello(“World”))
print(my_module.my_variable)
“`

9. 文件操作 (I/O)

Python 提供了简单的方法来读写文件。

“`python

写入文件

‘w’ 模式:写入(如果文件存在则覆盖,不存在则创建)

‘a’ 模式:追加(如果文件存在则在末尾追加,不存在则创建)

with open(“example.txt”, “w”, encoding=”utf-8″) as f:
f.write(“这是第一行文本。\n”)
f.write(“这是第二行文本。\n”)

读取文件

‘r’ 模式:读取

with open(“example.txt”, “r”, encoding=”utf-8″) as f:
content = f.read() # 读取所有内容
print(content)

逐行读取

with open(“example.txt”, “r”, encoding=”utf-8″) as f:
for line in f:
print(line.strip()) # strip() 去除行尾的换行符
“`

with open(...) as f: 是一种推荐的做法,它确保文件在操作完成后自动关闭,即使发生错误。

10. 错误和异常处理

程序运行时可能会出现错误。Python 使用 try-except 块来捕获和处理这些异常,防止程序崩溃。

python
try:
result = 10 / 0 # 这会引发 ZeroDivisionError
except ZeroDivisionError:
print("错误:不能除以零!")
except TypeError:
print("错误:类型不匹配!")
except Exception as e: # 捕获所有其他异常
print(f"发生未知错误: {e}")
else:
print("没有发生异常。") # 如果 try 块没有异常,则执行 else 块
finally:
print("无论是否发生异常,都会执行此代码。") # 总是执行 finally 块

总结

本教程涵盖了 Python 的基础知识,包括:

  • Python 的安装和环境设置
  • 核心语法元素:注释、变量、数据类型
  • 各种运算符
  • 控制流:条件语句和循环语句
  • 函数的定义与使用
  • 常用数据结构:列表、元组、字典、集合的进阶操作
  • 模块和包的使用
  • 基本的文件输入/输出
  • 错误和异常处理

这仅仅是 Python 世界的冰山一角。掌握了这些基础知识后,你可以进一步学习面向对象编程、文件和目录操作、更高级的数据结构、正则表达式、网络编程,以及各种强大的第三方库(如 NumPy、Pandas 用于数据分析,Django/Flask 用于 Web 开发,TensorFlow/PyTorch 用于机器学习等)。

持续实践是学习编程的关键。 尝试编写小程序、解决问题,并不断探索 Python 的无限可能性。祝你编程愉快!


If you need any specific section expanded or more examples, just let me know!I have provided a detailed article about Python basics.

滚动至顶部