大学生Python期末复习冲刺(有这一篇足够)

这篇具有很好参考价值的文章主要介绍了大学生Python期末复习冲刺(有这一篇足够)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

爆肝2w字👏🏻👏🏻👏🏻

还愁要自己总结知识点?有这一篇就足够👌🏻  

干货满满不看后悔👍👍👍

📝个人主页→数据挖掘博主ZTLJQ的主页

python期末复习,大学生作业-期末-毕设参考,python,开发语言,算法,pycharm,pip

个人推荐python学习系列:

☄️爬虫JS逆向系列专栏 - 爬虫逆向教学

☄️python系列专栏 - 从零开始学python


 

目录

数据类型和变量

👑1、数字类型(int)

1.浮点数类型(float)

2.复数类型(complex)

3.字符串类型(str)

4.浮点数类型(float)

👑2、字符串类型及其操作

1、字符串的创建和基本操作

2、字符串的切片操作

3、字符串的常用方法

4、格式化字符串

👑3、列表、元组和字典的使用

1、列表(List)的使用

2、元组(Tuple)的使用

3、字典(Dictionary)的使用

👑4、变量的定义和命名规范

1、变量的定义

2、变量的命名规范

3、变量的使用注意事项

条件和循环语句

👑1、if语句及其嵌套

1、if语句的基本使用

2、if-else语句的使用

3、if-elif-else语句的使用

4、if语句的嵌套使用

👑2、for循环和while循环

1、for循环的使用

2、遍历字符串

3、遍历字典

4、while循环

5、用户输入循环

6、条件控制循环

👑3、break和continue语句的使用

1、break语句

2、跳出循环

3、结合条件判断

4、continue语句

5、结合条件判断

函数和模块

👑1、函数的定义和调用

1、函数的定义

2、无参数函数

3、带参数函数

4、返回值函数

5、函数的调用

6、调用带参数函数

7、使用返回值

👑2、函数参数和返回值

1、位置参数

2、默认参数

3、可变长参数:

4、返回值的多样化应用

👑3、模块的导入和使用

1、导入标准库模

2、导入第三方模块

3、自定义模块的导入和使用

4、使用别名导入模块

 文章来源地址https://www.toymoban.com/news/detail-778002.html

文件操作

👑1、打开、读取和写入文件

1、文件的打开

2、文件的读取

3、文件的写入

4、使用上下文管理器

👑2、文件指针和文件的关闭

1、文件指针的定位

2、文件指针的移动

3、文件的自动关闭

👑3、异常处理和文件操作的错误处理

1、异常的捕获与处理

2、文件操作错误处理

3、异常处理与文件操作的结合

4、自定义异常

面向对象编程

👑1、类和对象的概念

1、类的定义与实例化

2、对象属性与方法的访问

3、错误处理与类的结合

👑2、属性和方法的定义

1、属性的定义与访问

2、方法的定义与调用:

3、错误处理与属性方法的结合

👑3、继承和多态的实现

1、类的继承与重写

2、多态的实现

3、继承和多态的应用场景


 

数据类型和变量

👑1、数字类型(int)

整数类型表示整数,可以进行基本的数学运算

代码案例:

# 整数类型定义和操作
num1 = 10
num2 = 5
print(num1 + num2)   # 输出:15
print(num1 - num2)   # 输出:5
print(num1 * num2)   # 输出:50
print(num1 / num2)   # 输出:2.0(注意:整数相除得到的是浮点数)
print(num1 // num2)  # 输出:2(地板除法,得到整数结果)
print(num1 % num2)   # 输出:0(取余数)
print(num1 ** num2)  # 输出:100000(幂运算)

1.浮点数类型(float)

浮点数类型表示带有小数部分的数,支持浮点数运算。

代码案例:

# 浮点数类型定义和操作
num1 = 3.14
num2 = 2.7
print(num1 + num2)   # 输出:5.84
print(num1 - num2)   # 输出:0.44
print(num1 * num2)   # 输出:8.478
print(num1 / num2)   # 输出:1.162962962962963
print(num1 ** num2)  # 输出:13.815511826682914(幂运算)

2.复数类型(complex)

复数类型表示实部和虚部组成的复数,可以进行复数运算。

代码案例:

# 复数类型定义和操作
num1 = 2 + 3j
num2 = 4 + 2j
print(num1 + num2)   # 输出:(6+5j)
print(num1 - num2)   # 输出:(-2+1j)
print(num1 * num2)   # 输出:(8+14j)
print(num1 / num2)   # 输出:(0.7+0.4j)
print(num1.real)     # 输出:2.0(获取实部)
print(num1.imag)     # 输出:3.0(获取虚部)
print(num1.conjugate())  # 输出:(2-3j)(求共轭复数)

3.字符串类型(str)

字符串类型表示文本数据,由字符组成,可以进行字符串操作和处理。

# 整数类型定义和操作
num1 = 10
num2 = 5
print(num1 + num2)   # 输出:15
print(num1 - num2)   # 输出:5
print(num1 * num2)   # 输出:50
print(num1 / num2)   # 输出:2.0(注意:整数相除得到的是浮点数)
print(num1 // num2)  # 输出:2(地板除法,得到整数结果)
print(num1 % num2)   # 输出:0(取余数)
print(num1 ** num2)  # 输出:100000(幂运算)

4.浮点数类型(float)

浮点数类型表示带有小数部分的数,支持浮点数运算。

# 浮点数类型定义和操作
num1 = 3.14
num2 = 2.7
print(num1 + num2)   # 输出:5.84
print(num1 - num2)   # 输出:0.44
print(num1 * num2)   # 输出:8.478
print(num1 / num2)   # 输出:1.162962962962963
print(num1 ** num2)  # 输出:13.815511826682914(幂运算)

👑2、字符串类型及其操作

1、字符串的创建和基本操作

可以使用单引号或双引号创建字符串。下面是一些基本的字符串操作示例:

# 创建字符串
str1 = 'Hello, World!'
str2 = "Python Programming"

# 访问字符串中的字符
print(str1[0])      # 输出:H
print(str2[7])      # 输出:P

# 字符串长度
print(len(str1))    # 输出:13
print(len(str2))    # 输出:18

# 字符串拼接
str3 = str1 + " " + str2
print(str3)         # 输出:Hello, World! Python Programming

# 字符串重复
str4 = str1 * 3
print(str4)         # 输出:Hello, World!Hello, World!Hello, World!

2、字符串的切片操作

切片是指从字符串中获取部分字符子串的操作。通过指定起始位置和结束位置的索引,可以截取需要的子串。

str5 = "Python Programming"

# 切片操作
print(str5[0:6])     # 输出:Python
print(str5[7:])      # 输出:Programming
print(str5[:6])      # 输出:Python
print(str5[-11:-1])  # 输出:Programmin

# 步长切片
print(str5[0:10:2])  # 输出:Pto rg

3、字符串的常用方法

Python提供了许多有用的字符串方法,用于处理字符串。以下是一些常用的方法示例:

str6 = "  Hello, World!  "

# 去除字符串两端的空格
print(str6.strip())              # 输出:Hello, World!

# 大小写转换
print(str6.lower())              # 输出:  hello, world!
print(str6.upper())              # 输出:  HELLO, WORLD!

# 查找子串的位置
print(str6.find("World"))        # 输出:9
print(str6.find("Python"))       # 输出:-1

# 替换子串
print(str6.replace("World", "Python"))    # 输出:  Hello, Python!  

# 字符串分割
print(str6.split(","))           # 输出:['  Hello', ' World!  ']

4、格式化字符串

Python提供了多种字符串格式化的方法,用于将变量的值插入到字符串中。

name = "Alice"
age = 20

# 使用占位符
print("My name is %s and I am %d years old." % (name, age))

# 使用f-string
print(f"My name is {name} and I am {age} years old.")

👑3、列表、元组和字典的使用

1、列表(List)的使用

列表是一个有序的可变数据类型,可以存储多个元素,并且允许元素重复。下面是一些基本的列表操作示例:

# 创建列表
list1 = [1, 2, 3, 4, 5]
list2 = ['apple', 'banana', 'orange']

# 访问列表中的元素
print(list1[0])      # 输出:1
print(list2[2])      # 输出:orange

# 列表长度
print(len(list1))    # 输出:5
print(len(list2))    # 输出:3

# 列表的切片操作
print(list1[1:4])    # 输出:[2, 3, 4]
print(list2[:2])     # 输出:['apple', 'banana']

# 列表的修改和添加
list1[0] = 10
list2.append('grape')
print(list1)         # 输出:[10, 2, 3, 4, 5]
print(list2)         # 输出:['apple', 'banana', 'orange', 'grape']

# 列表的删除
del list1[2]
list2.remove('banana')
print(list1)         # 输出:[10, 2, 4, 5]
print(list2)         # 输出:['apple', 'orange', 'grape']

2、元组(Tuple)的使用

元组是一个有序的不可变数据类型,类似于列表,但元组的元素不能修改。下面是一些基本的元组操作示例:

# 创建元组
tuple1 = (1, 2, 3, 4, 5)
tuple2 = ('apple', 'banana', 'orange')

# 访问元组中的元素
print(tuple1[0])     # 输出:1
print(tuple2[2])     # 输出:orange

# 元组长度
print(len(tuple1))   # 输出:5
print(len(tuple2))   # 输出:3

# 元组的切片操作
print(tuple1[1:4])   # 输出:(2, 3, 4)
print(tuple2[:2])    # 输出:('apple', 'banana')

# 元组的拼接
tuple3 = tuple1 + tuple2
print(tuple3)        # 输出:(1, 2, 3, 4, 5, 'apple', 'banana', 'orange')

3、字典(Dictionary)的使用

字典是一个无序的可变数据类型,由键-值对(key-value)组成,用于存储和查找数据。下面是一些基本的字典操作示例:

# 创建字典
dict1 = {'name': 'Alice', 'age': 20, 'country': 'USA'}
dict2 = {'apple': 1.0, 'banana': 0.5, 'orange': 0.8}

# 访问字典中的元素
print(dict1['name'])      # 输出:Alice
print(dict2['apple'])     # 输出:1.0

# 字典长度
print(len(dict1))         # 输出:3
print(len(dict2))         # 输出:3

# 修改字典中的元素
dict1['age'] = 21
dict2['orange'] = 1.0
print(dict1)              # 输出:{'name': 'Alice', 'age': 21, 'country': 'USA'}
print(dict2)              # 输出:{'apple': 1.0, 'banana': 0.5, 'orange': 1.0}

# 添加新的键-值对
dict1['gender'] = 'female'
dict2['grape'] = 0.7
print(dict1)              # 输出:{'name': 'Alice', 'age': 21, 'country': 'USA', 'gender': 'female'}
print(dict2)              # 输出:{'apple': 1.0, 'banana': 0.5, 'orange': 1.0, 'grape': 0.7}

# 删除字典中的元素
del dict1['age']
dict2.pop('banana')
print(dict1)              # 输出:{'name': 'Alice', 'country': 'USA', 'gender': 'female'}
print(dict2)              # 输出:{'apple': 1.0, 'orange': 1.0, 'grape': 0.7}

👑4、变量的定义和命名规范

1、变量的定义

在Python中,变量的定义是通过给变量名赋予一个值来创建变量。下面是一些基本的变量定义示例:

# 定义整数变量
x = 5
y = 10

# 定义浮点数变量
pi = 3.14159
radius = 5.0

# 定义字符串变量
name = "Alice"
greeting = "Hello, world!"

# 定义列表变量
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'orange']

# 定义字典变量
student = {'name': 'Alice', 'age': 20, 'country': 'USA'}
prices = {'apple': 1.0, 'banana': 0.5, 'orange': 0.8}

2、变量的命名规范

在命名变量时,需要遵循一定的规范,以保证代码的可读性和可维护性。以下是Python中变量命名的一些规范:
变量名只能包含字母、数字和下划线,不能包含空格和特殊字符。
变量名不能以数字开头,可以以字母或下划线开头。
变量名区分大小写,例如count和Count是不同的变量。
变量名应具有描述性,能够清晰表达变量所表示的含义。
变量名通常使用小写字母,多个单词之间可以用下划线分隔,例如first_name。
避免使用Python的关键字作为变量名,例如if、for等。
下面是一些符合命名规范的变量示例:

# 定义变量并遵循命名规范
first_name = "Alice"
age = 20
num_students = 100

# 使用多个单词并用下划线分隔
total_sales = 5000.0
student_count = 50

# 避免使用关键字作为变量名
my_list = [1, 2, 3]
for item in my_list:
    print(item)

3、变量的使用注意事项

在使用变量时,需要注意以下几点:
变量在使用之前需要进行定义,即给变量赋予一个值。
变量可以被重新赋值,新的值会覆盖旧的值。
变量的作用域是在其被定义的块内有效,超出该块的范围无法访问该变量。

# 变量的重新赋值
x = 5
print(x)      # 输出:5

x = 10
print(x)      # 输出:10

# 变量作用域的示例
def my_function():
    y = 20
    print(y)  # 输出:20

my_function()
print(y)      # 报错,无法访问函数内部的变量y

 

条件和循环语句

👑1、if语句及其嵌套

1、if语句的基本使用

if语句用于在满足条件时执行特定的代码块。下面是一个基本的if语句示例:

# 基本的if语句
x = 10

if x > 5:
    print("x大于5")

# 在上述示例中,当变量x的值大于5时,if语句的条件为真,执行打印语句。否则,不执行任何操作。

2、if-else语句的使用

if-else语句允许根据条件的真假执行不同的代码块。下面是一个if-else语句的示例:

# if-else语句
x = 3

if x > 5:
    print("x大于5")
else:
    print("x小于等于5")

# 在上述示例中,如果变量x的值大于5,则执行第一个代码块;否则,执行第二个代码块。

3、if-elif-else语句的使用

if-elif-else语句允许根据多个条件的真假执行不同的代码块。elif是"else if"的缩写,用于检查额外的条件。下面是一个if-elif-else语句的示例:

# if-elif-else语句
x = 7

if x > 10:
    print("x大于10")
elif x > 5:
    print("x大于5,小于等于10")
else:
    print("x小于等于5")

# 在上述示例中,首先检查变量x是否大于10,如果是,则执行第一个代码块;
# 如果不满足第一个条件,那么检查是否大于5,如果是,则执行第二个代码块;否则,执行第三个代码块。

4、if语句的嵌套使用

在Python中,if语句可以相互嵌套,以构建更复杂的条件判断逻辑。下面是一个if语句的嵌套示例:

# if语句的嵌套使用
x = 15

if x > 10:
    print("x大于10")
    if x > 15:
        print("x大于15")
    else:
        print("x小于等于15")
else:
    print("x小于等于10")

# 在上述示例中,首先检查变量x是否大于10,如果是,则执行第一个代码块;
# 在第一个代码块中,又嵌套了一个if语句,检查变量x是否大于15,根据条件的真假执行相应的代码块。

 

👑2、for循环和while循环

1、for循环的使用

for循环用于遍历序列(如列表、字符串等)或其他可迭代对象,并按顺序执行特定的代码块。下面是一个for循环的示例:

# for循环遍历列表
fruits = ['apple', 'banana', 'orange']

for fruit in fruits:
    print(fruit)

# 在上述示例中,for循环遍历了列表fruits中的每一个元素,并将其赋值给变量fruit,然后执行打印语句。
# 循环会一直执行,直到遍历完所有的元素。

2、遍历字符串

我们也可以使用for循环遍历字符串中的每个字符。

message = "Hello, World!"

for char in message:
    print(char)

3、遍历字典

在遍历字典时,我们可以使用items()方法来获取键值对,并使用for循环遍历它们。

student_scores = {"Alice": 85, "Bob": 72, "Charlie": 90}

for name, score in student_scores.items():
    print(name, score)

4、while循环

while循环用于在满足特定条件时重复执行一段代码。它会在每次迭代之前检查条件,只要条件为真,就会继续执行循环。

以下是while循环的基本语法:

while 条件:
    # 执行的代码块
    # 更新条件

计数器循环
while循环常用于实现计数器循环,即在一定条件下重复执行固定次数的操作。

count = 0

while count < 5:
    print("Count:", count)
    count += 1

5、用户输入循环

我们可以使用while循环和条件语句来实现根据用户输入进行循环的功能。

user_input = ""

while user_input != "quit":
    user_input = input("请输入内容(输入'quit'退出):")
    print("输入内容:", user_input)

6、条件控制循环

while循环还可以通过条件控制来灵活地实现各种不同的需求。

num = 1
sum = 0

while num <= 10:
    sum += num
    num += 1

print("Sum:", sum)

 

👑3、break和continue语句的使用

1、break语句

break语句用于终止循环,并跳出循环体执行循环之后的代码。当某个条件满足时,我们可以使用break语句立即退出循环,无论循环还有多少次迭代。

以下是break语句的基本语法:

for 变量 in 可迭代对象:
    if 条件:
        break
    # 执行的代码块

2、跳出循环

我们可以使用break语句来跳出for循环或while循环。

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    if fruit == "banana":
        break
    print(fruit)

3、结合条件判断

break语句通常与条件判断结合使用,以满足特定条件时跳出循环。

count = 0

while True:
    print("Count:", count)
    count += 1
    if count == 5:
        break

4、continue语句

continue语句用于跳过当前迭代,并继续执行下一次迭代。当某个条件满足时,我们可以使用continue语句跳过当前循环体的剩余代码,直接进入下一次循环。

以下是continue语句的基本语法:

for 变量 in 可迭代对象:
    if 条件:
        continue
    # 执行的代码块

跳过特定迭代
我们可以使用continue语句来跳过特定的迭代。

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    if fruit == "banana":
        continue
    print(fruit)

5、结合条件判断

continue语句通常与条件判断结合使用,以满足特定条件时跳过当前迭代。

count = 0

while count < 5:
    count += 1
    if count == 3:
        continue
    print("Count:", count)

 

函数和模块

👑1、函数的定义和调用

1、函数的定义

函数是一段完成特定任务的代码块,它可以接收输入参数并返回输出结果。通过定义函数,我们可以将一段代码封装成一个独立的逻辑单元,供程序的其他部分重复使用。

以下是函数的基本定义语法:

def 函数名(参数1, 参数2, ...):
    # 函数体
    # 执行的代码块
    return 返回值

2、无参数函数

我们可以定义一个不接收任何参数的函数。

def say_hello():
    print("Hello, World!")

# 调用函数
say_hello()

3、带参数函数

我们可以定义一个接收参数的函数,并在函数体内使用这些参数。

def greet(name):
    print("Hello, " + name + "!")

# 调用函数
greet("Alice")

4、返回值函数
 

def add_numbers(a, b):
    return a + b

# 调用函数并打印返回值
result = add_numbers(3, 5)
print("Sum:", result)

5、函数的调用

函数的调用是指使用函数名称和适当的参数来执行函数体内的代码。

调用无参数函数
我们可以直接调用不接收任何参数的函数。

def say_hello():
    print("Hello, World!")

# 调用函数
say_hello()

6、调用带参数函数

在调用带参数的函数时,我们需要提供相应的参数值。

def greet(name):
    print("Hello, " + name + "!")

# 调用函数
greet("Alice")

7、使用返回值

在调用返回值函数时,我们可以将返回值赋给一个变量,并在后续代码中使用。

def add_numbers(a, b):
    return a + b

# 调用函数并打印返回值
result = add_numbers(3, 5)
print("Sum:", result)

👑2、函数参数和返回值

1、位置参数

位置参数是最常见的函数参数类型。它们按照函数定义中的参数顺序进行传递,并且在调用函数时必须提供相应的参数值。下面是一个计算两个数之和的函数示例:

def add_numbers(a, b):
    return a + b

result = add_numbers(3, 5)
print(result)  # 输出:8

2、默认参数


默认参数在函数定义时给参数赋予一个默认值,如果调用函数时没有提供该参数的值,则使用默认值。默认参数可以减少函数调用时的必要参数个数。以下是一个带有默认参数的函数示例:

def greet(name, message="Hello"):
    print(message, name)

greet("Alice")  # 输出:Hello Alice
greet("Bob", "Hi")  # 输出:Hi Bob

3、可变长参数:

有时候我们无法确定函数需要接收多少个参数,这时候可变长参数非常有用。在Python中,有两种类型的可变长参数:*args和kwargs。*args用于接收任意数量的位置参数,而kwargs用于接收任意数量的关键字参数。下面是一个使用可变长参数的函数示例:

def calculate_total(*args):
    total = 0
    for num in args:
        total += num
    return total

result = calculate_total(1, 2, 3, 4, 5)
print(result)  # 输出:15

4、返回值的多样化应用

函数可以返回不同类型的值,包括单个值、多个值和空值。返回值可以被存储、传递给其他函数或用于进行进一步的计算。以下是几个返回值多样化应用的示例:

返回单个值:

def square(number):
    return number * number

result = square(5)
print(result)  # 输出:25

返回多个值:

def calculate_sum_and_average(numbers):
    total = sum(numbers)
    average = total / len(numbers)
    return total, average

result = calculate_sum_and_average([1, 2, 3, 4, 5])
print(result)  # 输出:(15, 3.0)

返回空值

def print_message():
    print("Hello, World!")

result = print_message()
print(result)  # 输出:None

👑3、模块的导入和使用

1、导入标准库模

Python标准库是Python安装时默认包含的一组模块,它们提供了各种常用的功能和工具。通过导入标准库模块,我们可以直接使用这些功能。下面是一个使用math模块计算圆的面积的示例:

import math

radius = 5
area = math.pi * math.pow(radius, 2)
print(area)  # 输出:78.53981633974483

2、导入第三方模块

除了标准库模块外,Python还有一个庞大的第三方模块生态系统,可以通过pip等工具进行安装和使用。导入第三方模块需要先安装该模块,然后使用import语句导入。以下是一个使用requests模块发送HTTP请求的示例:

import requests

response = requests.get("https://www.example.com")
print(response.status_code)  # 输出:200

3、自定义模块的导入和使用

除了使用现有的模块,我们还可以自己编写模块来组织和重用代码。自定义模块通常由一个.py文件组成,其中包含函数、类和变量等。下面是一个自定义模块的示例:
calculation.py 文件内容:

def add_numbers(a, b):
    return a + b

def multiply_numbers(a, b):
    return a * b

主程序文件中导入自定义模块并使用其中的函数

import calculation

result = calculation.add_numbers(3, 5)
print(result)  # 输出:8

result = calculation.multiply_numbers(3, 5)
print(result)  # 输出:15

4、使用别名导入模块

在导入模块时,我们可以使用别名来简化模块名的使用。这在模块名过长或存在冲突时特别有用。以下是使用别名导入模块的示例:

import math as m

radius = 5
area = m.pi * m.pow(radius, 2)
print(area)  # 输出:78.53981633974483

 

文件操作

👑1、打开、读取和写入文件

1、文件的打开

在Python中,我们使用open()函数来打开文件,并返回一个文件对象,以便后续操作。在打开文件时,我们需要指定文件的路径和打开模式。以下是几种常见的文件打开模式:
"r":只读模式,用于读取文件内容。
"w":写入模式,用于清空文件并写入新内容。
"a":追加模式,用于在文件末尾追加新内容。
"x":创建模式,用于创建新文件并写入内容。
下面是打开文件并读取其中内容的示例:

file = open("data.txt", "r")
content = file.read()
print(content)
file.close()

2、文件的读取

一旦文件被打开,我们可以使用不同的方法来读取文件中的内容。常见的方法包括:
read():读取整个文件内容。
readline():逐行读取文件内容。
readlines():将文件内容按行读取并返回一个列表。
以下是使用不同方法读取文件内容的示例:

# read()
file = open("data.txt", "r")
content = file.read()
print(content)
file.close()

# readline()
file = open("data.txt", "r")
line = file.readline()
while line:
    print(line)
    line = file.readline()
file.close()

# readlines()
file = open("data.txt", "r")
lines = file.readlines()
for line in lines:
    print(line)
file.close()

3、文件的写入

除了读取文件内容,我们还可以将数据写入文件中。在打开文件时,我们需要使用写入模式("w")或追加模式("a")来写入数据。以下是将数据写入文件的示例:

# 写入模式("w")
file = open("data.txt", "w")
file.write("Hello, World!")
file.close()

# 追加模式("a")
file = open("data.txt", "a")
file.write("\nWelcome to Python!")
file.close()

4、使用上下文管理器

为了更加方便和安全地操作文件,我们可以使用上下文管理器来自动管理文件的打开和关闭。通过使用with语句,可以确保文件在使用完毕后自动关闭,而无需手动调用close()方法。以下是使用上下文管理器进行文件读取的示例:

with open("data.txt", "r") as file:
    content = file.read()
    print(content)

 

👑2、文件指针和文件的关闭

1、文件指针的定位

在文件中,文件指针是一个标记,指示当前读取或写入的位置。文件指针默认指向文件开头。我们可以使用seek()函数将文件指针定位到指定位置。以下是一个将文件指针定位到文件开头的示例:

file = open("data.txt", "r")
file.seek(0)
content = file.read()
print(content)
file.close()

2、文件指针的移动

文件指针不仅可以定位到文件的开头,还可以根据需要进行移动。使用seek()函数和偏移量(以字节为单位),我们可以将文件指针相对于当前位置进行前进或后退。以下是一个将文件指针后退一行的示例:

file = open("data.txt", "r")
file.readline()  # 读取并忽略第一行
file.seek(-len(file.readline()), 1)  # 后退一行
content = file.read()
print(content)
file.close()

3、文件的自动关闭

在文件操作完成后,我们需要确保正确关闭文件,以释放系统资源。为了避免忘记关闭文件,可以使用上下文管理器的方式操作文件。通过使用with语句,文件在使用完毕后会自动关闭,无需手动调用close()方法。以下是使用上下文管理器进行文件操作的示例:

with open("data.txt", "r") as file:
    content = file.read()
    print(content)

👑3、异常处理和文件操作的错误处理

1、异常的捕获与处理

在Python中,我们可以使用try-except语句来捕获和处理异常。try块中的代码尝试执行,如果出现异常,则会跳转到对应的except块,并执行相应的异常处理代码。以下是一个捕获除零错误的示例:

try:
    x = 10 / 0
except ZeroDivisionError:
    print("除零错误发生!")

2、文件操作错误处理

在文件操作中,可能会出现诸如文件不存在、权限错误等错误情况。为了处理这些错误,我们可以使用try-except语句捕获相应的异常,并执行适当的错误处理代码。以下是一个处理文件打开错误的示例:

try:
    file = open("data.txt", "r")
except FileNotFoundError:
    print("文件不存在!")

3、异常处理与文件操作的结合

在文件操作中,我们可以结合异常处理来处理文件的读取和写入操作。通过捕获文件操作可能出现的异常,我们可以在发生错误时进行适当的处理,避免程序崩溃或数据丢失。以下是一个读取文件并处理文件不存在异常的示例:

try:
    with open("data.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("文件不存在!")

4、自定义异常

除了内置的异常类型,我们还可以自定义异常类型来满足特定的错误处理需求。通过继承Python的Exception类,我们可以定义自己的异常类,并在需要时引发自定义异常。以下是一个自定义异常的示例:

class MyCustomException(Exception):
    pass

try:
    raise MyCustomException("自定义异常被引发!")
except MyCustomException as e:
    print(e)

面向对象编程

👑1、类和对象的概念

1、类的定义与实例化

在Python中,我们使用class关键字来定义类,类中包含属性和方法。通过实例化类,我们可以创建对象,并访问对象的属性和调用对象的方法。以下是一个简单的人类(Person)类的定义和实例化示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print("Hello, my name is", self.name)

person1 = Person("Alice", 20)
person1.greet()

 

2、对象属性与方法的访问

在Python中,我们可以通过点运算符来访问对象的属性和调用对象的方法。对象属性存储对象的状态信息,而对象方法用于定义对象的行为。以下是访问对象属性和调用对象方法的示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print("Hello, my name is", self.name)

person1 = Person("Alice", 20)
print(person1.name)  # 访问对象属性
person1.greet()  # 调用对象方法

3、错误处理与类的结合

在类和对象的使用过程中,可能会出现各种错误情况。为了保证程序的健壮性,我们可以结合错误处理来捕获和处理可能发生的异常。以下是一个在类方法中使用错误处理的示例:

class Calculator:
    def divide(self, num1, num2):
        try:
            result = num1 / num2
            print("结果:", result)
        except ZeroDivisionError:
            print("除零错误发生!")

calculator = Calculator()
calculator.divide(10, 0)

👑2、属性和方法的定义

1、属性的定义与访问

在Python类中,我们可以使用__init__方法初始化对象的属性,并使用self关键字来访问和设置属性的值。以下是一个简单的人类(Person)类的属性定义和访问示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person("Alice", 20)
print(person1.name)  # 访问属性值
person1.age = 25  # 设置属性值
print(person1.age)

2、方法的定义与调用:

在Python类中,我们可以定义方法来实现对象的行为。方法可以访问对象的属性,并在需要时进行相应的操作。以下是一个简单的人类(Person)类的方法定义和调用示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print("Hello, my name is", self.name)

person1 = Person("Alice", 20)
person1.greet()  # 调用方法

3、错误处理与属性方法的结合

在属性和方法的使用过程中,可能会出现各种错误情况。为了保证程序的健壮性,我们可以结合错误处理来捕获和处理可能发生的异常。以下是一个在方法中使用错误处理的示例:

class Calculator:
    def divide(self, num1, num2):
        try:
            result = num1 / num2
            print("结果:", result)
        except ZeroDivisionError:
            print("除零错误发生!")

calculator = Calculator()
calculator.divide(10, 0)

👑3、继承和多态的实现

1、类的继承与重写

在Python中,我们可以通过继承来创建一个新类,该新类继承了父类的属性和方法。子类可以使用父类的属性和方法,并可以重写父类的方法以实现自己的行为。以下是一个简单的动物(Animal)类和狗(Dog)类的继承与重写示例:

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        print("动物发出叫声...")


class Dog(Animal):
    def __init__(self, name):
        super().__init__(name)

    def speak(self):
        print("狗发出汪汪叫声!")


dog = Dog("旺财")
dog.speak()  # 输出:"狗发出汪汪叫声!"

2、多态的实现

在Python中,多态可以通过方法的重写和对象的动态绑定来实现。不同的子类对象可以对相同的方法进行不同的实现。以下是一个简单的形状(Shape)类和矩形(Rectangle)类的多态实现示例:

class Shape:
    def calculate_area(self):
        pass


class Rectangle(Shape):
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def calculate_area(self):
        return self.length * self.width


class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def calculate_area(self):
        return 3.14 * self.radius * self.radius


shapes = [Rectangle(5, 10), Circle(3)]
for shape in shapes:
    area = shape.calculate_area()
    print("面积:", area)

3、继承和多态的应用场景

继承和多态在实际开发中有广泛的应用。通过继承,我们可以从现有的类构建出更具体的子类,以实现代码的重用和扩展。而多态则使得我们可以针对不同的对象类型使用相同的方法名,从而简化了代码的编写和维护。这种灵活性使得我们能够更好地应对不同的业务需求。

 

到了这里,关于大学生Python期末复习冲刺(有这一篇足够)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于html/css/js的web网上书店系统网页设计大学生期末源码分享

    摘要: 随着互联网技术的发展,电子商务逐渐普及并成为人们购物的主要方式之一。本实验基于Web技术,使用HTML、CSS和JavaScript等前端技术,设计并实现了一个基于Web的书店商城系统。实现了用户和管理员两类用户的功能需求。 : Web;CSS;JavaScript;网上书店系统;

    2024年02月03日
    浏览(60)
  • 大学生web网页设计期末作业实例代码 (全网最全,建议收藏) HTML+CSS+JS(网页源码)

    临近期末,大一新生的各种考试和专业结课作业纷至沓来。web实训大作业、网页期末作业、web课程与设计、网页设计等,简直让人头大。你还在为网页设计老师的作业要求感到头大?网页作业无从下手?网页要求的总数量太多?没有合适的模板?等等一系列问题。你想要解决

    2024年04月28日
    浏览(56)
  • 大学生bootstrap框架网页作业成品 web前端大作业期末源码 航海王html+jquery+bootstrap响应式网页制作模板 学生海贼王动漫bootstrap框架网站作品

    HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐👇🏻👇🏻👇🏻 ❤ 【作者主页

    2024年02月11日
    浏览(78)
  • 用python语言爬虫爬取微博评论--上--初步爬虫(超详细版,大学生不骗大学生)

    目录 一、找到页面  二、学会使用检查元素 2.1 打开检查元素界面 2.2 找到所有评论所在的位置 2.2.1 搜索评论 2.2.2  找到data表 三、基础部分代码实现 ​​​​​​​ 全部已经更完(下面两个链接是中和下) https://blog.csdn.net/m0_68325382/article/details/137234661?spm=1001.2014.3001.5502 爬

    2024年04月10日
    浏览(55)
  • python+vue 大学生社团管理系统

    本系统分为学生,管理员,社团负责人三个角色,学生可以注册登陆系统,查看社团,申请入团,查看参加社团活动,查看社团新闻,社团负责人对社团信息,入团审核,社团新闻,社团活动和资费进行管理;管理员对学生信息,社团信息,负责人信息,新闻信息,活动信息

    2023年04月23日
    浏览(65)
  • python-数据结构-大学生-航空订票系统

    python-数据结构-大学生-航空订票系统 航空订票系统:可以实现航空客运订票的主要业务活动 基本要求: (1)航线管理:每条航线所涉及的信息由:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量; (2)客户管理:有关订票的客户信息(包括姓名、订

    2024年02月09日
    浏览(42)
  • 大学生精通Python从由浅入深(Python基础篇)

    看到这位 头发浓密 大叔了吗!1989年,为了打发圣诞节假期,龟叔(吉多·范·罗苏姆)开始写Python语言的编译器 。 1991年 ,第一个Python编译器诞生 Python这个名字,来自龟叔所挚爱的电视剧Monty Python’s Flying Circus (蒙蒂·蟒蛇的飞行马戏团) 我们为什么要学习这一项语言,Pytho

    2024年02月10日
    浏览(39)
  • Python+大数据-大学生精通Python从由浅入深(Python基础篇)

    看到这位 头发浓密 大叔了吗!1989年,为了打发圣诞节假期,龟叔(吉多·范·罗苏姆)开始写Python语言的编译器 。 1991年 ,第一个Python编译器诞生 Python这个名字,来自龟叔所挚爱的电视剧Monty Python’s Flying Circus (蒙蒂·蟒蛇的飞行马戏团) 我们为什么要学习这一项语言,Pytho

    2024年02月13日
    浏览(44)
  • 大学生学完python靠几个接单网站兼职,实现经济独立

    程序员就是当今时代的手艺人,程序员可以通过个人的技术来谋生。而在工作之余接私单可以作为一种创富的途径,受到程序员的广泛认可。说句实在话,现在这个时代,很多人仅靠主业顶多维持基本生活,想让自己、家人生活好一点很难。我接的私活并不算多,加起来也就

    2023年04月09日
    浏览(48)
  • 利用Python程序生成字符画 让男大学生们洗脑的挖呀挖呀挖

    源码地址 原教程在这里 演示效果:(有点虚) 利用Python程序生成字符画 让男大学生们洗脑的挖呀挖呀挖 打开pyhton编译器安装opencv和Pillow库 把要进行字符串化的视频命名为input.mp4(或者在代码里修改进行字符串化的视频从input.mp4改为你的视频名) 运行代码,此时会有进度提

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包