python如何使用库 库

使用库 库 就是是别人已经写好了的代码, 可以让我们直接拿来用. 荀子曰: "君子性非异也,善假于物也" 一个编程语言能不能流行起来, 一方面取决于语法是否简单方便容易学习, 一方面取决于生态是否完备. 所谓的 "生态" 指的就是语言是否有足够丰富的库, 来应对各种各样的场景. 实际开发中, 也并非所有的代码都自己手写, 而是要充分利用现成的库, 简化开发过程. 按照库的来源, 可以大致分成两大类 标准库: Python 自带的库. 只要安装了 Python 就可以直接使用. 第三方库: 其他人实现的库. 要想使用, 需要额外安装. 咱们自己也可以实现 "第三方库" 发布出去, 交给别人来使用. 标准库 认识标准库 Python 自身内置了非常丰富的库. 在 Python 官方文档上可以看到这些库的内容. https://docs.python.org/3.10/library/index.html 简单来说, 主要是这些部分: 内置函数 (如 print, input 等) 内置类型 (针对 int, str, bool, list, dict 等类型内置的操作). 文本处理 时间日期 数学计算 文件目录 数据存储 (操作数据库, 数据序列化等). 加密解密 操作系统相关 并发编程相关 (多进程, 多线程, 协程, 异步等). 网络编程相关 多媒体相关 (音频处理, 视频处理等) 图形化界面相关 ....... 比特就业课 我们不需要把这些库的内容都背下来, 只要大概知道里面有啥, 需要用的时候能够找到即可. 使用 import 导入模块 使用 import 可以导入标准库的一个 模块 import [模块名] 所谓 "模块" , 其实就是一个单独的 .py 文件. 使用 import 语句可以把这个外部的 .py 文件导入到当前 代码示例: 日期计算 输入任意的两个日期, 计算两个日期之间隔了多少天. 使用 import 语句导入标准库的 datetime 模块 使用 .py 文件中, 并执行其中的代码. datetime.datetime 构造两个日期. 参数使用 年, 月, 日 这样的格式. 两个日期对象相减, 即可得到日期的差值. import datetime date1 = datetime.datetime(2012, 2, 14) date2 = datetime.datetime(2022, 7, 12) print(date2 - date1) 快来看一下你和心爱的人已经认识了多少天了. 关于 datetime 的更多操作, 可以参考官方文档 https://docs.python.org/3/library/datetime.html 代码示例: 字符串操作 字符串是 Python 的内置类型, 字符串的很多方法不需要导入额外的模块, 即可直接使用. 1) 剑指offer 58, 翻转单词顺序 https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/ 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和 普通字母一样处理。例如输入字符串"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.')) 2) leetcode 796, 旋转字符串 https://leetcode.cn/problems/rotate-string/ 给定两个字符串, 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')) 3) leetcode 2255, 统计是给定字符串前缀的字符串数目 https://leetcode.cn/problems/count-prefixes-of-a-given-string/ 给你一个字符串数组 words 和一个字符串 s ,其中 words[i] 和 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")) 关于字符串的更多操作, 参考官方文档 https://docs.python.org/3/library/stdtypes.html#str 比特就业课 代码示例: 文件查找工具 指定一个待搜索路径, 同时指定一个待搜索的关键字. 在待搜索路径中查找是否文件名中包含这个关键字. 使用 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}') 关于 os 模块的更多操作, 参考官方文档别人已经写好了的代码, 可以让我们直接拿来用. 荀子曰: "君子性非异也,善假于物也" 一个编程语言能不能流行起来, 一方面取决于语法是否简单方便容易学习, 一方面取决于生态是否完备. 所谓的 "生态" 指的就是语言是否有足够丰富的库, 来应对各种各样的场景. 实际开发中, 也并非所有的代码都自己手写, 而是要充分利用现成的库, 简化开发过程. 按照库的来源, 可以大致分成两大类 标准库: Python 自带的库. 只要安装了 Python 就可以直接使用. 第三方库: 其他人实现的库. 要想使用, 需要额外安装. 咱们自己也可以实现 "第三方库" 发布出去, 交给别人来使用. 标准库 认识标准库 Python 自身内置了非常丰富的库. 在 Python 官方文档上可以看到这些库的内容. https://docs.python.org/3.10/library/index.html 简单来说, 主要是这些部分: 内置函数 (如 print, input 等) 内置类型 (针对 int, str, bool, list, dict 等类型内置的操作). 文本处理 时间日期 数学计算 文件目录 数据存储 (操作数据库, 数据序列化等). 加密解密 操作系统相关 并发编程相关 (多进程, 多线程, 协程, 异步等). 网络编程相关 多媒体相关 (音频处理, 视频处理等) 图形化界面相关 ....... 比特就业课 我们不需要把这些库的内容都背下来, 只要大概知道里面有啥, 需要用的时候能够找到即可. 使用 import 导入模块 使用 import 可以导入标准库的一个 模块 import [模块名] 所谓 "模块" , 其实就是一个单独的 .py 文件. 使用 import 语句可以把这个外部的 .py 文件导入到当前 代码示例: 日期计算 输入任意的两个日期, 计算两个日期之间隔了多少天. 使用 import 语句导入标准库的 datetime 模块 使用 .py 文件中, 并执行其中的代码. datetime.datetime 构造两个日期. 参数使用 年, 月, 日 这样的格式. 两个日期对象相减, 即可得到日期的差值. import datetime date1 = datetime.datetime(2012, 2, 14) date2 = datetime.datetime(2022, 7, 12) print(date2 - date1) 快来看一下你和心爱的人已经认识了多少天了. 关于 datetime 的更多操作, 可以参考官方文档 https://docs.python.org/3/library/datetime.html 代码示例: 字符串操作 字符串是 Python 的内置类型, 字符串的很多方法不需要导入额外的模块, 即可直接使用. 1) 剑指offer 58, 翻转单词顺序 https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/ 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和 普通字母一样处理。例如输入字符串"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.')) 2) leetcode 796, 旋转字符串 https://leetcode.cn/problems/rotate-string/ 给定两个字符串, 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')) 3) leetcode 2255, 统计是给定字符串前缀的字符串数目 https://leetcode.cn/problems/count-prefixes-of-a-given-string/ 给你一个字符串数组 words 和一个字符串 s ,其中 words[i] 和 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")) 关于字符串的更多操作, 参考官方文档 https://docs.python.org/3/library/stdtypes.html#str 比特就业课 代码示例: 文件查找工具 指定一个待搜索路径, 同时指定一个待搜索的关键字. 在待搜索路径中查找是否文件名中包含这个关键字. 使用 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}') 关于 os 模块的更多操作, 参考官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值