适合纯文科生的 python 100个知识点 基础二

文章介绍了Python中模块的导入方式,包括全模块导入、指定函数或变量、别名导入,以及文件的读写操作和异常处理机制。此外,还涵盖了面向对象编程和正则表达式的基础应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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模块中的所有函数和变量。这样我们就可以直接使用pisqrt等函数,而不需要使用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类表示一个学生信息管理系统,它可以添加、删除、获取和列出所有学生的信息。

在主程序中,我们首先创建一个学生信息管理系统,然后向系统中添加两个学生。接着,我们通过学生姓名获取一个学生的信息,并对其成绩进行修改。最后,我们删除一个学生并列出所有学生的信息。

这个学生信息管理系统只是一个简单的示例,实际应用中可能需要更复杂的数据结构和算.法。不过通过这个例子,我们可以看到面向对象编程的一些特点:

  1. 将数据和操作数据的方法封装在一个对象中,使得代码更加模块化、可维护性更高。
  2. 对象可以继承自其他对象,从而减少重复代码并提高代码复用性。
  3. 对象可以具有不同的访问权限,从而实现更加安全的数据操作。
  4. 对象可以通过多态性实现动态绑定,从而使代码更加灵活。

当然,这只是面向对象编程的一些基本特点,实际应用中还需要更多的技术和思想来支持。

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的答案总结的知识点,有不足之处请大佬们给出反馈。

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

若有侵权,请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值