马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Python 的官方文档传送门:https://docs.python.org/3.10/library/index.html
一,import
import和 C/C++ 的 #include 一样,都是使用库函数的必要步骤,下面给出了几个示例
示例一:日期计算
输入任意两个日期,计算两个日期之间格勒多少天
- 使用 import 语句导入标准库的 datetime 模块
- 使用 datetime.datetime 构造两个日期. 参数使用 年, 月, 日 如许的格式.
- 两个日期对象相减, 即可得到日期的差值.
- import datetime
- date1 = datetime.datetime(2022, 12, 16)
- date2 = datetime.datetime(2024, 12, 16)
- print(date2 - date1)
复制代码
示例二,字符串操纵
①翻转单词顺序
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和 平凡字母一样处置惩罚。比方输入字符串"I am a student. ",则输出"student. a am I"。
- 使用 str 的 split 方法进行字符串切分, 指定"空格"为分隔符,返回结果是一个列表
- 使用列表的 reverse 方法进行逆序
- 再使用 str 的 join 方法进行字符串拼接,把列表中的内容进行合并
- def reverseWords(s):
- tokens = s.split()
- tokens.reverse()
- return ' '.join(tokens)
- print(reverseWords('I am a student.'))
复制代码
②旋转字符串
给定两个字符串, s 和 goal。假如在多少次旋转操纵之后,s 能酿成 goal ,那么返回 true 。 s 的 旋转操纵 就是将 s 最左边的字符移动到最右边。 比方, 若 s = 'abcde',在旋转一次之后结果就是'bcdea' 。
- 使用 len 求字符串的长度. 假如长度不相同, 则肯定不能旋转得到
- 将 s 和 本身 进行拼接, 然后直接使用 in 方法来判断 goal 是否是 s + s 的子串.
- def rotateString(s, goal):
- return len(s) == len(goal) and goal in s + s
- print(rotateString('abcde', 'cdeab'))
- print(rotateString('hello', 'world'))
复制代码
③统计给定字符串前缀的字符串数量
给你一个字符串数组 words 和一个字符串 s ,此中 words 和 s 只包罗 小写英笔墨母 。 请你返回 words 中是字符串 s 前缀 的 字符串数量 。 一个字符串的 前缀 是出如今字符串开头的子字符串。子字符串 是一个字符串中的连续一段字符序列。
- 依次遍历 words 中的字符串
- 直接使用字符串的 startswith 方法即可判断当前字符串是否是 s 的前缀.
- 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"))
复制代码
示例三,文件查找工具
指定一个待搜刮路径, 同时指定一个待搜刮的关键字。在待搜刮路径中查找是否文件名中包罗这个关键字
- 使用 os.walk 即可实现目次的递归遍历
- os.walk 返回一个三元组, 分别是 当前路径 , 当前路径下包罗的目次名 (多个), 当前路径下包罗的文件 名 (多个)
- 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}')
复制代码 二,第三方库
2.1 pip
pip 是 Python 内置的包管理器:
- 所谓包管理器 就类似于我们平时使用的手机 app 应用市肆一样
- 第三方库有许多, 是差别的人, 差别的构造实现的;为了方便大家整理, Python 官方提供了一个网站 PyPI https://pypi.org/, 来收集第三方库
- 其他大佬写好的第三方库也会申请上传到 PyPI 上,这个时候就可以方便的使用 pip 工具来下载 PyPI 上的库了
- pip 在我们安装 Python 的时候就已经内置了,无需额外安装. pip 是一个可执行步伐, 就在 Python 的安装目次中
打开cmd,直接输入pip,假如显示下面信息,阐明pip已经预备停当
假如提示说pip不是内部或外部下令,那就是还没有把 pip 加入到环境变量PATH中,可以手动添加
使用下面下令,则可以安装第三方库,安装乐成后, 即可使用 import 导入相干模块, 即可进利用用.
注意: 假如使用 pip 安装完第三方库之后, 在 PyCharm 中仍旧提示找不到对应的模块, 则检查 Settings -> Project -> Python Interpreter , 看当前 Python 解释器设置的是否正确. (假如一个机器上安装了多个版 本的 Python, 容易出现这种环境).
2.2 示例
我们可以使用 qrcode 这个库来天生二维码
然后就可以直接在控制台里安装了:
安装完成后就可以在代码中之间使用了:
- import qrcode
- img = qrcode.make("你好呀")
- img.save('qrcode.png
复制代码 执行后会在项目目次下天生一个图片文件 ,之后用微信或者别的扫码工具,就可以看到里面的内容了,我们日常扫描的二维码内部一样寻常是一个URL,扫码后会自动跳转到对应的网址,然后打开一个网页
示例二,操纵 excel
读取 excel 可以使用 xlrd 模块. 文档地址: https://xlrd.readthedocs.io/en/latest/
修改 excel 可以使用 xlwt 模块. 文档地址: https://xlwt.readthedocs.io/en/latest/
我们如今工作目次新建一个 test.xlsx并预先往里面添加一些数据:
假设我们要求上面这些同学的均匀分,我们可以先用 pip 安装 xlrd:此处要指定版本号安装,假如不指定版本号就是默认安装的最新版,最新版删除了对 xlsx 格式文件的支持:
然后就是编写代码了,具体步骤为:
- 使用 open_workbook 方法打开一个 excel 文件
- 使用 xlsx.sheet_by_index(0) 获取到 0 号标签页
- 使用 table.nrows 获取到表格的行数
- 使用 table.cell_value(row, col) 获取到表格中 row, col 位置的元素值.
- import xlrd
- # 1. 打开 xlsx 文件
- xlsx = xlrd.open_workbook('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:
- total += table.cell_value(i, 2)
- count += 1
- print(f'平均分: {total / count}')
复制代码
|