python基础语法(十二)

简介: python基础语法(十二)

标准库

认识标准库

Python 自身内置了非常丰富的库

python官方文档上可以看到这些库的内容

简单来说, 主要是这些部分

内置函数 (如 print, input 等)

内置类型 (针对 int, str, bool, list, dict 等类型内置的操作).

文本处理

时间日期

数学计算

文件目录

数据存储 (操作数据库, 数据序列化等).

加密解密

操作系统相关

并发编程相关 (多进程, 多线程, 协程, 异步等).

网络编程相关

多媒体相关 (音频处理, 视频处理等)

图形化界面相关

我们不需要把这些库的内容都背下来, 只要大概知道里面有啥, 需要用的时候能够找到即可

使用 import 导入模块

使用 import 可以导入标准库的一个模块

import [模块名]

所谓 “模块” , 其实就是一个单独的 .py 文件.

使用 import 语句可以把这个外部的 .py 文件导入到当前 .py 文件中, 并执行其中的代码

代码示例: 日期计算

输入任意的两个日期, 计算两个日期之间隔了多少天.

使用 import 语句导入标准库的 datetime 模块

使用 datetime.datetime 构造两个日期. 参数使用 年, 月, 日 这样的格式.

两个日期对象相减, 即可得到日期的差值

import datetime
date1 = datetime.datetime(2012, 2, 14)
date2 = datetime.datetime(2022, 7, 12)
print(date2 - date1)

关于 datetime 的更多操作, 可以参考python官方文档

代码示例: 字符串操作

字符串是 Python 的内置类型, 字符串的很多方法不需要导入额外的模块, 即可直接使用

剑指offer 58, 翻转单词顺序

字符串中的单词反转

题目

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变

为简单起见,标点符号和普通字母一样处理

例如输入字符串"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.'))

leetcode 796, 旋转字符串

旋转字符串

题目

给定两个字符串, 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'))

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

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

题目

给你一个字符串数组 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"))

更多字符串操作,请看官方文档

代码示例: 文件查找工具

指定一个待搜索路径, 同时指定一个待搜索的关键字.

在待搜索路径中查找是否文件名中包含这个关键字.

使用 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 模块的更多操作, 参考官方文档

目录
相关文章
|
2月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
67 4
|
4月前
|
XML 前端开发 数据格式
三分钟搞定 Python XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。它基于树状结构的 XML 文档,可以通过路径表达式来选取节点或节点集。也常常用来解析 HTML。 如果你是一个前端,对用路径获取元素可能陌生又熟悉。陌生是很多的路径,熟悉的路径上又有熟悉的属性和方法。下面我们就来探究一下 XPath 的魅力。
|
25天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1月前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
24 2
|
2月前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
2月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
59 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
2月前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
50 1
|
3月前
|
Java Linux C++
30天拿下Python之基础语法
30天拿下Python之基础语法
30 4
|
3月前
|
IDE Java 开发工具
Python的语法
Python的语法。
38 5
|
3月前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【9月更文挑战第3天】Python 是一种简洁强大的高级编程语言,其清晰的语法和丰富的功能深受程序员喜爱。本文从基本语法入手,介绍 Python 的代码结构特点,如通过缩进区分代码块,使逻辑更清晰。接着详细讲解主要数据类型:数值型、字符串、列表、元组、集合与字典,每个类型均附有示例代码,帮助初学者快速掌握 Python,为后续学习打下坚实基础。
47 2