Python 基础编程示例详解

1. 变量与数据类型

变量赋值

name = "Alice"  # 字符串类型(str),用于存储文本数据
age = 30  # 整数类型(int),用于存储整数值
height = 1.75  # 浮点数类型(float),用于存储带小数点的数值
is_student = False  # 布尔类型(bool),只有True和False两种取值

数据类型转换

# 字符串转换为数值类型
num_str = "123"
num_int = int(num_str)  # 转换为整数,结果:123
num_float = float(num_str)  # 转换为浮点数,结果:123.0

# 数值转换为布尔值
bool_val = bool(0)  # 转换为布尔值,结果:False
bool_val = bool(42)  # 转换为布尔值,结果:True

打印变量

# 使用f-string格式化输出(Python 3.6+)
print(f"姓名: {name}, 年龄: {age}")  

# 显示变量的数据类型
print("原始数据类型:", 
      f"name: {type(name)}", 
      f"age: {type(age)}", 
      f"height: {type(height)}", 
      f"is_student: {type(is_student)}")

2. 条件语句

if-elif-else语句

x = 10
if x > 20:
    print("x大于20")  # 条件不满足,跳过
elif x < 5:
    print("x小于5")  # 条件不满足,跳过
else:
    print("x在5到20之间")  # 这个分支会被执行

三元表达式

score = 75
result = "及格" if score >= 60 else "不及格"  # 相当于if-else的简写形式
print(f"考试成绩: {score}, 结果: {result}")  # 输出:考试成绩: 75, 结果: 及格

多条件判断

temperature = 25
if temperature >= 20 and temperature < 30:  # 可以简写为 20 <= temperature < 30
    print("适宜的温度范围")  # 输出:适宜的温度范围

3. 循环结构

for循环示例

fruits = ["apple", "banana", "cherry"]  # 列表数据结构
for fruit in fruits:  # 遍历列表中的每个元素
    print(f"我喜欢吃{fruit}")  # 会依次输出:我喜欢吃apple、我喜欢吃banana、我喜欢吃cherry

while循环示例

count = 0
while count < 5:  # 条件为True时继续循环
    print(f"计数: {count}")  # 输出:计数: 0到计数: 4
    count += 1  # 递增操作,相当于 count = count + 1

带索引的循环

for index, fruit in enumerate(fruits, start=1):  # enumerate返回(索引,元素)元组
    print(f"水果{index}: {fruit}")  # 输出:水果1: apple、水果2: banana、水果3: cherry

循环控制语句

for num in range(10):  # range(10)生成0-9的数字序列
    if num == 3:
        continue  # 跳过当前迭代,不执行后续代码
    if num == 7:
        break  # 终止整个循环
    print(num)  # 输出:0 1 2 4 5 6

4. 函数定义

定义简单函数

def add(a, b):
    """计算两个数的和
    参数:
        a: 第一个数字
        b: 第二个数字
    返回:
        两数之和
    """
    return a + b

调用函数

result = add(3, 5)  # 位置参数传递
print(f"3 + 5 = {result}")  # 输出:3 + 5 = 8

默认参数示例

def greet(name="Guest"):
    """打招呼函数
    参数:
        name: 名字,默认值为"Guest"
    """
    print(f"Hello, {name}!")

greet()  # 使用默认参数,输出: Hello, Guest!
greet("Alice")  # 传入指定参数,输出: Hello, Alice!

可变参数

def calculate_sum(*numbers):
    """计算任意数量数字的和
    参数:
        *numbers: 可变数量的参数,被打包为元组
    """
    total = 0
    for num in numbers:
        total += num
    return total

print(calculate_sum(1, 2, 3, 4, 5))  # 输出:15

5. 数据结构操作

列表(List)操作

numbers = [1, 3, 5, 7, 9]  # 创建列表
numbers.append(11)  # 在末尾添加元素,变为[1,3,5,7,9,11]
numbers.insert(2, 4)  # 在索引2处插入4,变为[1,3,4,5,7,9,11]
print(numbers[1:4])  # 切片操作,输出子列表: [3,4,5]
numbers.remove(5)  # 删除第一个出现的5,变为[1,3,4,7,9,11]
popped = numbers.pop()  # 移除并返回最后一个元素(11),列表变为[1,3,4,7,9]

字典(Dictionary)操作

person = {"name": "Bob", "age": 25, "city": "New York"}  # 创建字典
person["job"] = "Engineer"  # 添加新键值对,变为{"name":"Bob",...,"job":"Engineer"}
print(person["age"])  # 获取值,输出: 25
print(person.get("email", "N/A"))  # 安全获取,不存在返回默认值"N/A"

集合(Set)操作

fruits_set = {"apple", "banana", "cherry"}  # 创建集合(无序不重复)
fruits_set.add("orange")  # 添加元素
fruits_set.discard("banana")  # 移除元素
print(fruits_set.union({"grape", "pear"}))  # 集合并集,输出: {'apple','cherry','orange','grape','pear'}

6. 文件操作

写入文件

with open("test.txt", "w", encoding="utf-8") as f:  # 使用with语句自动关闭文件
    f.write("Hello, World!\n")  # 写入第一行
    f.write("这是一个测试文件。\n")  # 写入第二行
    f.write("Python文件操作示例。")  # 写入第三行

读取文件

with open("test.txt", "r", encoding="utf-8") as f:
    content = f.read()  # 读取全部内容为一个字符串
    print(content)  # 输出文件全部内容
    
    f.seek(0)  # 重置文件指针到开头
    for line_num, line in enumerate(f, 1):  # 逐行读取
        print(f"第{line_num}行: {line.strip()}")  # strip()去除换行符和空格

文件操作模式

# "r" - 读取模式(默认)
# "w" - 写入模式(会覆盖已有内容)
# "a" - 追加模式(在文件末尾添加内容)
# "r+" - 读写模式(文件指针在开头)
# "w+" - 读写模式(会覆盖已有内容)
# "a+" - 读写模式(文件指针在末尾)
# "b" - 二进制模式(如"rb"或"wb")

7. 异常处理

基本异常处理

try:
    num = int(input("请输入一个数字: "))  # 可能引发ValueError
    result = 10 / num  # 可能引发ZeroDivisionError
except ValueError as ve:
    print(f"输入错误: {ve}")  # 处理输入非数字的情况
except ZeroDivisionError:
    print("不能除以零!")  # 处理除以零的情况
except Exception as e:  # 捕获所有其他异常
    print(f"发生未知错误: {type(e).__name__}")
else:
    print(f"计算结果: {result}")  # 没有异常时执行
finally:
    print("程序执行完毕")  # 无论是否异常都会执行

自定义异常

class MyError(Exception):
    """自定义异常类"""
    def __init__(self, message):
        self.message = message
        
    def __str__(self):
        return f"自定义错误: {self.message}"

try:
    raise MyError("发生了一些问题")  # 主动抛出异常
except MyError as e:
    print(e)  # 输出: 自定义错误: 发生了一些问题

8. 类与对象

基本类定义

class Person:
    """人类类"""
    species = "人类"  # 类属性,所有实例共享
    
    def __init__(self, name, age):
        """初始化方法"""
        self.name = name  # 实例属性
        self.age = age
    
    def greet(self):
        """实例方法"""
        print(f"你好,我是{self.name},今年{self.age}岁。")
    
    @classmethod
    def get_species(cls):
        """类方法"""
        return cls.species

创建和使用对象

p1 = Person("Alice", 30)  # 创建Person实例
p1.greet()  # 调用实例方法,输出: 你好,我是Alice,今年30岁。

# 访问类属性和方法
print(Person.species)  # 输出: 人类
print(Person.get_species())  # 输出: 人类

继承示例

class Student(Person):
    """学生类,继承自Person"""
    def __init__(self, name, age, grade):
        super().__init__(name, age)  # 调用父类初始化方法
        self.grade = grade  # 新增属性
    
    def study(self):
        """新增方法"""
        print(f"{self.name}正在学习,成绩为{self.grade}")
    
    def greet(self):
        """重写父类方法"""
        print(f"我是学生{self.name},今年{self.age}岁,成绩{self.grade}")

s1 = Student("Bob", 20, "A")
s1.study()  # 输出: Bob正在学习,成绩为A
s1.greet()  # 输出: 我是学生Bob,今年20岁,成绩A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
OSZAR »