Python基础语法
6 出模块的导入
6.1定义
在Python中,可以通过import
语句导入模块。以下是几种导入模块的方式以及相关的代码和案例:
6.2 直接导入整个模块
import math
print(math.pi) # 输出圆周率π的值
在这个例子中,我们使用了import
语句将整个math
模块导入进来。在程序中,我们可以使用math
模块中定义的函数和变量。例如,我们输出了圆周率π的值。
6.3 导入指定的函数或变量
from math import pi
print(pi) # 输出圆周率π的值
在这个例子中,我们使用了from...import
语句,指定了我们要导入的变量是pi
。这样我们就可以直接使用pi
,而不需要使用math
前缀。
6.4 给导入的变量指定别名
from math import pi as PI
print(PI) # 输出圆周率π的值
在这个例子中,我们使用了as
关键字,给导入的变量pi
指定了别名PI
。这样我们就可以使用PI
来代替pi
。
6.5 导入整个模块并给模块指定别名
pythonCopy code
import math as m
print(m.pi) # 输出圆周率π的值
在这个例子中,我们使用了as
关键字,给导入的模块math
指定了别名m
。这样我们就可以使用m
来代替math
。
6.6 导入模块中的所有函数和变量
from math import *
print(pi) # 输出圆周率π的值
print(sqrt(16)) # 输出16的平方根
在这个例子中,我们使用了*
通配符,导入了math
模块中的所有函数和变量。这样我们就可以直接使用pi
和sqrt
等函数,而不需要使用math
前缀。
这些是导入模块的几种方式和相关的代码和案例。
7 出模块的导入
7.1出模块的导入的定义
文件的读写是Python中常见的操作之一,可以通过内置的open函数实现。
7.2文件读取代码示例
# 打开文件,使用with语句可以确保文件自动关闭
with open('example.txt', 'r') as f:
# 读取文件内容
content = f.read()
# 打印文件内容
print(content)
7.3文件写入代码示例
# 打开文件,使用with语句可以确保文件自动关闭
with open('example.txt', 'w') as f:
# 写入文件内容
f.write('Hello, World!')
以上示例代码中,'example.txt’是需要读取或写入的文件名。读取文件时,使用’r’模式打开文件,读取文件内容后,通过print函数打印到控制台上。写入文件时,使用’w’模式打开文件,通过write函数将需要写入的内容写入文件中。
如果需要逐行读取文件内容,则可以使用readlines函数,示例代码如下:
# 打开文件,使用with语句可以确保文件自动关闭
with open('example.txt', 'r') as f:
# 逐行读取文件内容
lines = f.readlines()
# 打印每一行的内容
for line in lines:
print(line)
以上代码中,readlines函数将文件内容逐行读取到一个列表中,通过for循环遍历每一行,并打印到控制台上。
需要注意的是,在使用open函数打开文件时,需要指定文件所在的路径,否则Python将在当前工作目录中寻找该文件。如果需要在Windows操作系统中使用路径,则需要使用双斜杠(‘’)或单斜杠(‘/’)对路径进行分隔。在Linux和Mac OS中使用单斜杠(‘/’)即可。
8 异常处理
8.1异常处理的定义
异常处理是指程序在运行时发生异常时进行处理,以避免程序崩溃或出现错误结果。在Python中,可以使用try-except语句来捕获并处理异常。
8.2异常处理代码示例
try:
num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))
result = num1 / num2
print("两个数字相除的结果是:", result)
except ZeroDivisionError:
print("除数不能为0,请重新输入。")
except ValueError:
print("输入的不是数字,请重新输入。")
except Exception as e:
print("程序发生了错误:", e)
finally:
print("程序执行完毕。")
在这个示例中,用户需要输入两个数字,程序会将它们相除并输出结果。但是如果用户输入的是0或者不是数字,程序就会抛出异常,此时可以使用try-except语句来处理这些异常。try块中是需要被检测的代码,except块中是处理异常的代码。如果try块中的代码抛出了一个ZeroDivisionError异常,程序就会跳转到第一个except块中,输出一个提示信息;如果抛出了一个ValueError异常,程序就会跳转到第二个except块中,输出一个提示信息;如果抛出了其他类型的异常,程序就会跳转到最后一个except块中,输出异常信息。finally块中的代码不管程序是否发生异常都会执行,这里用来输出一个提示信息表示程序已经执行完毕。
8.3自定义异常处理类的案例
class MyException(Exception):
def __init__(self, message):
self.message = message
try:
raise MyException("这是一个自定义异常。")
except MyException as e:
print(e.message)
finally:
print("程序执行完毕。")
这个案例中,我们定义了一个MyException异常处理类,它继承自Exception类。在这个类中,我们重写了__init__方法,用来初始化异常信息。然后在try块中,我们抛出了一个MyException异常,并传递了一个异常信息。在except块中,我们捕获了这个异常,并输出了异常信息。最后在finally块中输出一个提示信息表示程序已经执行完毕。
9 面向对象编程
9.1面向对象编程的定义
面向对象编程(Object-Oriented Programming,OOP)是一种程序设计的范式,它将程序中的数据和操作数据的方法绑定在一起,以对象的形式呈现,从而将程序模块化,增强代码的复用性和可维护性。
9.2面向对象编程的代码示例
下面是一个Python的面向对象编程的代码和案例,它实现了一个简单的学生信息管理系统:
class 学生:
def __init__(self, 名字, 年龄, 性别, 分数):
self.名字 = 名字
self.年龄 = 年龄
self.性别 = 性别
self.分数 = 分数
def 获取名字(self):
return self.名字
def 获取年龄(self):
return self.年龄
def 获取性别(self):
return self.性别
def 获取分数(self):
return self.分数
def 设置名字(self, 名字):
self.名字 = 名字
def 设置年龄(self, 年龄):
self.年龄 = 年龄
def 设置性别(self, 性别):
self.性别 = 性别
def 设置分数(self, 分数):
self.分数 = 分数
class 学生管理:
def __init__(self):
self.学生列表 = []
def 添加学生(self, 学生):
self.学生列表.append(学生)
def 删除学生(self, 学生):
self.学生列表.remove(学生)
def 获取学生(self, 名字):
for 学生 in self.学生列表:
if 学生.获取名字() == 名字:
return 学生
return None
def 获取所有学生(self):
return self.学生列表
if __name__ == '__main__':
# 创建学生管理系统
管理系统 = 学生管理()
# 添加学生
学生1 = 学生('Tom', 18, '男', 80)
管理系统.添加学生(学生1)
学生2 = 学生('Lucy', 19, '女', 85)
管理系统.添加学生(学生2)
# 获取学生信息
学生 = 管理系统.获取学生('Tom')
if 学生:
print('姓名: {}, 年龄: {}, 性别: {}, 分数: {}'.format(学生.获取名字(), 学生.获取年龄(),
学生.获取性别(), 学生.获取分数()))
# 修改学生信息
学生.设置分数(90)
print('姓名: {}, 年龄: {}, 性别: {}, 分数: {}'.format(学生.获取名字(), 学生.获取年龄(),
学生.获取性别(), 学生.获取分数()))
# 删除学生
管理系统.删除学生(学生2)
# 获取所有学生信息
学生列表 = 管理系统.获取所有学生()
for 学生 in 学生列表:
print('姓名: {}, 年龄: {}, 性别: {}, 分数: {}'.format(学生.获取名字(), 学生.获取年龄(),
学生.获取性别(), 学生.获取分数()))
上面的代码中,Student
类表示一个学生对象,它有名字、年龄、性别和成绩四个属性,以及获取和修改属性的方法。StudentManagement
类表示一个学生信息管理系统,它可以添加、删除、获取和列出所有学生的信息。
在主程序中,我们首先创建一个学生信息管理系统,然后向系统中添加两个学生。接着,我们通过学生姓名获取一个学生的信息,并对其成绩进行修改。最后,我们删除一个学生并列出所有学生的信息。
这个学生信息管理系统只是一个简单的示例,实际应用中可能需要更复杂的数据结构和算.法。不过通过这个例子,我们可以看到面向对象编程的一些特点:
- 将数据和操作数据的方法封装在一个对象中,使得代码更加模块化、可维护性更高。
- 对象可以继承自其他对象,从而减少重复代码并提高代码复用性。
- 对象可以具有不同的访问权限,从而实现更加安全的数据操作。
- 对象可以通过多态性实现动态绑定,从而使代码更加灵活。
当然,这只是面向对象编程的一些基本特点,实际应用中还需要更多的技术和思想来支持。
10 正则表达式
10.1正则表达式的定义
正则表达式是一种用于描述字符串模式的工具,可用于在文本中搜索、替换或提取特定模式的字符串。在Python中,正则表达式通常使用re模块来实现。
9.2正则表达式的代码示例1
import re
pattern = r"[\u4e00-\u9fa5]+"
string = "你好,世界!"
result = re.findall(pattern, string)
print(result)
输出:
['你好', '世界']
在这个例子中,我们定义了一个正则表达式模式,其中[\u4e00-\u9fa5]
表示汉字字符的Unicode范围,+
表示匹配一个或多个汉字字符。我们使用re.findall()
函数搜索字符串中所有匹配模式的子字符串,并将结果存储在一个列表中,并将其打印出来。
10.2正则表达式的代码示例2
用于匹配日期格式的字符串:
import re
pattern = r"\d{4}-\d{2}-\d{2}"
string = "今天是2023-03-30,明天是2023-03-31"
result = re.findall(pattern, string)
print(result)
输出:
['2023-03-30', '2023-03-31']
在这个例子中,我们定义了一个正则表达式模式,其中\d
表示数字字符,{4}
表示匹配4个数字字符,{2}
表示匹配2个数字字符。通过这个模式,我们可以匹配YYYY-MM-DD
格式的日期字符串。我们使用re.findall()
函数搜索字符串中所有匹配模式的子字符串,并将结果存储在一个列表中,并将其打印出来。
本文是结合ChatGPT的答案总结的知识点,有不足之处请大佬们给出反馈。
题外话
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板

若有侵权,请联系删除