软考中级-软件设计师 Python篇
文章目录
Python 基础语法
x = 10 # 整数
y = 3.14 # 浮点数
z = "Hello" # 字符串
a = True # 布尔值
age = 18
if age >= 18:
print("成人")
else:
print("未成年")
for i in range(5):
print(i) # 输出 0 1 2 3 4
count = 0
while count < 5:
print(count)
count += 1
Python 数据结构
# 初始化列表
fruits = ["apple", "banana", "cherry"]
# 添加元素
fruits.append("orange") # 添加到末尾
fruits.insert(1, "mango") # 插入到指定位置
# 删除元素
fruits.remove("banana") # 按值删除
del fruits[2] # 按索引删除
popped_item = fruits.pop() # 删除最后一个元素并返回
# 查找元素
index = fruits.index("apple") # 查找元素的索引
is_present = "cherry" in fruits # 检查是否存在
# 输出列表
print(fruits) # 示例输出: ['apple', 'mango', 'orange']
# 创建元组
person = ("Alice", 25, "Engineer")
# 访问元素
name = person[0] # 读取第一个元素
age = person[1] # 读取第二个元素
# 元组不可变,因此不能直接修改,但可以重新赋值
# person[1] = 26 # 错误:元组元素不可修改
# 可以通过拼接创建新的元组
updated_person = person[:1] + (26,) + person[2:] # 更新年龄
print(updated_person) # 输出: ('Alice', 26, 'Engineer')
# 元组解包
name, age, profession = person
# 查找元素
index = person.index("Engineer") # 查找元素索引
count = person.count(25) # 统计某元素出现次数
# 嵌套元组
nested_tuple = ((1, 2), (3, 4), (5, 6))
first_pair = nested_tuple[0] # 输出: (1, 2)
# 初始化集合
numbers = {1, 2, 3}
# 添加元素
numbers.add(4)
# 删除元素
numbers.remove(2) # 移除指定元素
numbers.discard(5) # 移除指定元素(若不存在不报错)
# 集合运算
odds = {1, 3, 5, 7}
evens = {2, 4, 6, 8}
union_set = odds | evens # 并集
intersection_set = odds & numbers # 交集
# 判断是否包含元素
is_present = 3 in numbers
# 输出集合
print(numbers) # 示例输出: {1, 3, 4}
# 初始化字典
student = {"name": "Alice", "age": 20}
# 添加或更新键值对
student["grade"] = "A" # 添加新键值对
student["age"] = 21 # 更新已有键值对
# 删除键值对
del student["grade"]
# 查找值
age = student.get("age", "Not found")
# 遍历字典
for key, value in student.items():
print(f"{key}: {value}")
# 输出字典
print(student) # 示例输出: {'name': 'Alice', 'age': 21}
函数与模块
def greet(name):
return f"Hello, {name}!"
print(greet("Alice"))
import math
print(math.sqrt(16)) # 输出: 4.0
def add(a, b=5):
return a + b
print(add(3)) # 使用默认值 b=5, 输出 8
面向对象编程
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def display_info(self):
print(f"Car: {self.brand} {self.model}")
car1 = Car("Toyota", "Corolla")
car1.display_info() # 输出: Car: Toyota Corolla
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def display_info(self):
print(f"Car: {self.brand} {self.model}")
car1 = Car("Toyota", "Corolla")
car1.display_info() # 输出: Car: Toyota Corolla
常用算法实现
# 冒泡排序
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr))
# 二分查找
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
sorted_arr = [1, 2, 3, 4, 5]
print(binary_search(sorted_arr, 3)) # 输出: 2
文件操作
# 写入文件
with open("example.txt", "w") as file:
file.write("Hello, world!")
# 读取文件
with open("example.txt", "r") as file:
content = file.read()
print(content)
异常处理
try:
result = 10 / 0
except ZeroDivisionError:
print("除数不能为零")
finally:
print("程序执行结束")
常用库
作者:萨达大