Python基础知识4

复习自学自用,不适合全面学习的家人们,想看的可以看一下 

一、标准库与第三方库

标准库是 Python 自带的 “宝藏库”,涵盖了众多实用功能。其中包括内置函数,像我们常用的print用于输出信息、input用于获取用户输入;还有内置类型,如int(整数)、str(字符串)、bool(布尔值)、list(列表)、dict(字典)等,它们是构建 Python 程序的基础数据结构。此外,标准库还涉及文本处理、时间日期、数学计算、文件目录操作、数据存储、加密解密、操作系统交互、并发编程、网络编程、多媒体处理以及图形化界面等多个领域,几乎能满足日常编程的各种需求。

而第三方库则是由 Python 社区或其他开发者开发的扩展库,通过pip这个 Python 内置的包管理器进行安装。pip就像是一个快递员,能快速帮我们把所需的第三方库 “运送” 到开发环境中,极大地拓展了 Python 的功能边界。

二、标准库的使用示例

1. 日期计算

在处理时间相关的任务时,datetime模块非常实用。下面的代码展示了如何计算两个日期之间的差值:

import datetime

date1 = datetime.datetime(2018, 1, 1)

date2 = datetime.datetime(2018, 2, 1)

print(date1 - date2)

通过导入datetime模块,创建datetime对象来表示具体日期,再进行日期的减法运算,就能轻松得到日期之间的间隔。

2. 字符串操作

翻转单词顺序

def reversewords(s):

    tokens = s.split(' ')

    # split 方法进行字符串切分, 指定 空格 为分隔符. 返回结果是一个列表

    print(tokens)

    tokens.reverse()

    return ' '.join(tokens)

print(reversewords('I am a student.'))

这里使用split方法将字符串按空格分割成单词列表,再通过reverse方法反转列表,最后用join方法将单词重新组合成字符串,实现了单词顺序的翻转。

旋转字符串

def rotateString(s, goal):

    return len(s) == len(goal) and goal in s + s

print(rotateString('abcde', 'cdeab'))

此函数通过判断两个字符串长度是否相等,以及goal字符串是否在s字符串自身拼接后的字符串中,来确定s能否通过旋转变成goal

统计是给定字符串前缀的字符串数目

def countPrefixes(words, s):

    res = 0

    for word in words:

        if s.startswith(word):

            res += 1

    return res

print(countPrefixes(["a", "b", "c", "ab", "bc", "abc"], "abc"))

利用startswith方法遍历列表中的单词,判断是否为给定字符串的前缀,从而统计出符合条件的字符串数目。

3. 文件查找工具(未完全实现)

# import os

# inputPath = input('请输入待搜索路径:')

# pattern = input("请输入待搜索关键词:")

# for dirpath, dirnames, filenames in os.walk(inputPath):

#     for f in filenames:

#         if pattern in f:

#             print(f'{dirpath}/{f}')

上述代码通过os.walk方法遍历指定路径下的所有文件和目录,在文件名中查找包含指定关键字的文件,虽然未完整运行(需取消注释并输入路径和关键词),但展示了利用标准库进行文件查找的基本思路。

三、第三方库的使用示例

1. 生成二维码

安装qrcode库(pip install qrcode[pil])后,使用以下代码即可生成二维码:

import qrcode

img = qrcode.make('我真帅')

img.save('qrcode.png')

简单几行代码,就能将指定文本生成二维码图片并保存,方便用于信息传递和展示。

2. 操作 excel

安装xlrd库(pip install xlrd==1.2.0)后,可以读取 excel 文件。以下代码实现了计算100班同学的平均分:

import xlrd

# 1.打开xlsx文件

xlsx = xlrd.open_workbook('D:/Python/Test/test.xlsx')

# 2.获取0号标签页(当前只有一个标签页)

table = xlsx.sheet_by_index(0)

# 3.获取总行数

nrows = table.nrows

# 4.遍历数据

count = 0

total = 0

for i in range(1, nrows):

    #使用cell_value(row,col)获取到指定坐标单元格的值

    classId = table.cell_value(i, 1)

    if classId == 100:

        count += 1

        total += table.cell_value(i, 2)

        print(table.cell_value(i, 2))

print(f'平均分: {total / count}')

通过xlrd库,我们可以轻松读取 excel 文件中的数据,并进行相应的计算和处理。

3. 程序员鼓励师

使用pynput监听键盘按键,playsound播放音频,并结合threading模块使用多线程,实现每按键20下播放一个音频来鼓励自己:

from pynput import keyboard

from playsound import playsound

from threading import Thread

count = 0

def on_release(key):

    print(key)

    global count

    count += 1

    if count % 10 == 0:

        t = Thread(target=playsound, args=('ding.mp3',))

        t.start()

listener = keyboard.Listener(on_release=on_release)

listener.start()

listener.join()

gitee代码链接:https://gitee.com/downwork50/python_test  

你可能感兴趣的:(Python学习,python,pycharm)