当前位置:网站首页 > R语言数据分析 > 正文

strace用法(stale的用法)



原文:AskPython Blog

协议:CC BY-NC-SA 4.0

原文:https://www.askpython.com/python/string/python-string-ljust-rjust-functions

Python String 包含两个提供左右对齐的内置方法。


Python String ljust()函数接受用于填充输入字符串的字符。然后,它替换该字符,并在输入字符串的右侧进行填充。

语法:

 

参数:

  • length :提供的 length 的值基本上用来对齐给定长度的字符串。
  • fill_char :可选参数。这些是需要在字符串周围填充的字符。

ljust()函数返回的值:

ljust()函数返回一个新的字符串,并将给定的 fill_char 替换到原始字符串的右边。

例 1:

 

输出:

 

例 2:

 

输出:

 

numpy string ljust()函数

语法:

 

参数:

  • 输入数组
  • length :提供的 length 的值基本上用来对齐给定长度的字符串。
  • fill_char :可选参数。这些是需要在字符串周围填充的字符。

举例:

 

输出:

 

Python 的 rjust()函数接受用于填充输入字符串的字符。

然后,它替换该字符,并在输入字符串的左侧进行填充。

语法:

 

参数:

  • length :提供的 length 的值基本上用来对齐给定长度的字符串。
  • fill_char :可选参数。这些是需要在字符串周围填充的字符。

从 rjust()函数返回的值:

rjust()函数返回一个新字符串,并将给定的 fill_char 替换到原始字符串的左侧。

例 1:

 

输出:

 

例 2:

 

输出:

 

NumPy 字符串 rjust()函数

语法:

 

参数:

  • 输入数组
  • length :提供的 length 的值基本上用来对齐给定长度的字符串。
  • fill_char :可选参数。这些是需要在字符串周围填充的字符。

举例:

 

输出:

 

因此,在本文中,我们已经理解了 Python 的字符串 ljust()和 rjust()函数的功能。


字符串 ljust()和 rjust()函数

原文:https://www.askpython.com/python/string/python-string-lower

Python String lower()方法将字符串对象转换成小写字符串。这是 Python 中内置的字符串函数之一。因为在 Python 中字符串是不可变的,所以这个方法只返回原始字符串的一个副本

格式:

 

这里,是的小写字符串。

 

输出

 

这将使整个输出字符串变成小写,即使输入字符串只有一部分是大写的。

 

输出

 

由于 Python3 将任何字符串文字作为 Unicode 处理,因此它也可以小写不同的语言。

 

熊猫模块中也有一个方法,其功能与原生 Python 方法相同,但用于熊猫对象。

格式:

 

这里有一个例子可以说明这一点:

 

正如您所观察到的,原始对象保持不变,我们得到一个全部是小写字符串的新对象!


  • Python 文档上的
  • StackOverflow 问题

原文:https://www.askpython.com/python/string/python-string-partition

在本文中,我们将看看 Python string partition()方法的功能。 Python String 引入了大量的内置函数来操作输入的字符串/数据。

Python String 方法用于在输入分隔符最开始/第一次出现时分割输入字符串。

语法:

 

说明:

一旦解释器发现输入字符串中作为参数提供的分隔符,Python string partition()函数就会完成剩下的工作。它在一个元组中将字符串分成三个部分:

  • 字符串在分隔符之前的部分
  • 分隔符
  • 分隔符后的字符串

例 1:

 

在上面的代码片段中,inp_str 在分隔符处进行分区: friends

输出:

 

例 2:

 

在上面的代码片段中,我们试图在分隔符处分割字符串:黑色

但是,正如我们可以观察到的,字符串’ black '不在输入字符串中,所以在这种情况下,函数返回一个包含整个输入字符串和两个空字符串的元组。

输出:

 

例 3:

 

在上面的例子中,分隔符’’在输入字符串中出现了两次。在这种情况下,partition()函数在输入分隔符的周围分割输入字符串。

输出:

 

NumPy 模块 为我们提供了 numpy.partition()方法对输入数组进行相应的拆分。

方法在参数列表中提供的第 n 个元素周围拆分输入数组,

  • 一调用 numpy.partition()方法,它首先创建输入数组的副本,创建数组元素
  • 比第 n 个元素小的元素被放置在它之前
  • 等于或大于第 n 个元素的元素被放置在其之后

语法:

 
  • :需要对其进行分区的元素的索引。
  • :您想要执行的排序类型。默认值为’选择
  • :元素排序的轴。默认值为 -1

举例:

 

在上面这段代码中,partition()方法创建了一个输入数组的副本,并在内部对其进行排序。

排序后,输入数组看起来像:-87,0,10,12,50,90,100。

其中,围绕排序数组第一个位置的元素进行划分,即 0

之后,所有小于 0 的元素被放置在 0 的前面/左边,所有大于 0 的元素被放置在分隔符元素(0)的右边。

:数组中元素出现的顺序没有定义。

输出:

 

熊猫模块 为我们提供了方法来拆分输入分隔符周围的字符串。

语法:

 
  • :包含数据值被分割的分隔符。
  • :如果为 false,则以元组的形式返回分隔后的字符串。否则,它返回分隔符周围两个单独列中的值。默认值为

输入 csv 文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Input file

举例:

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output Partition


在本文中,我们已经了解了 Python partition()方法在不同场景下的工作方式。


  • Python 字符串分割()方法

原文:https://www.askpython.com/python/string/python-string-split-function

Python string split()函数允许用户拆分字符串列表。当我们处理 CSV 数据时,这非常有用。

 
  • 分隔符:它基本上是作为一个分隔符,在指定的分隔符值处分割字符串。
  • maxsplit :这是字符串可以拆分的上限

举例: split()函数

 

输出:

 

示例:使用“,”作为分隔符

 

输出:

 

示例:设置 maxsplit = value

 

输出:

 

多行字符串分割()函数

 

输出:

 

split()函数中的多字符分隔符

 

输出:

 

str.split()函数

Python 字符串 split()函数也可以与类引用一起使用。我们必须将源字符串传递给 split。

 

CSV-字符串 split()函数

 

输出:

 

Python string split()函数在将基于分隔符的值拆分成字符串列表时非常有用。


  • Python split()函数
  • 字符串函数文档

原文:https://www.askpython.com/python/string/python-string-splitlines-method

今天在本教程中,我们将讨论Python 字符串 splitlines()方法

首先,让我们看看这个方法的基本定义。

Python string 是一个内置方法,它返回字符串中的行列表,在行边界处断开。换行符不包括在结果列表中,除非被称为

下面给出了在 Python 中使用方法的语法。

 

这里,

  • str 是一个字符串对象,我们需要把它分成一系列的行,
  • 保持端点当设置时,线条边界包含在结果列表元素中。否则,不包括换行符。

线边界字符及其各自的描述如下表所示。

线边界表

| 性格;角色;字母 | Python 中的表示 |
| | 换行 |
| | 回车 |
| | 回车+换行 |
| v 或x0b | 线条制表(Python 3.2 以后) |
| f 或x0c | 表单提要(Python 3.2 以后) |
| x1c | 文件分隔符 |
| x1d | 组分隔符 |
| x1e | 记录分离器 |
| x85 | 下一行(C1 控制代码) |
| ** u2028 | 行分隔符 |
| 
 | 段落分隔符 |

既然我们已经介绍了 Python 中方法的基本定义和语法,让我们看一些例子。这有助于我们对题目有一个清晰的理解。

没有保留端

如前所述,不提及 keepends 参数将导致创建一个分割线列表,不包括换行符或边界字符。

看看下面的例子。

 

输出:

 

这里,

  • 我们声明了三个字符串,其中包含由不同的换行符分隔的各种单词,
  • 我们将它们中的每一个传递给内置的方法,并将 keepends 设置为默认值 (false) 。并打印拆分行的结果列表。

从输出中我们可以看到,由于没有设置 keepends ,所有被分割的行都不包含行边界或边界字符。对于 string2,包含在单词中,因为它不是边界字符(不在表中)。

因此,输出是合理的。

带保持端

如果我们将保持端参数称为,那么现在分裂的线路将包括各自的线路断路器。

让我们通过将 Python string 方法中的 keepends 参数设置为来修改我们之前的代码(没有 keepends)。仔细查看输出,并尝试注意与前一个输出相比的变化。

 

输出:

 

正如所料,对于相同的字符串,输出包括所有的边界字符。

因此,在本教程中,我们开始了解内置的 Python string 方法,它做什么以及如何工作。

关于这个话题的任何问题,请在下面的评论中发表。

  • 关于 string splitlines() 的 Python 文档,
  • Python 字符串 split lines()–日志开发帖子,
  • 如何在新行字符上拆分 python 字符串–堆栈溢出问题。

原文:https://www.askpython.com/python/string/python-string-startswith-function

Python 中的 String 有内置的函数,可以对字符串执行几乎所有的操作。Python String startswith()函数检查字符串中的特定前缀,否则返回 True else。

要点:

  • 返回类型:布尔型,即真或假
  • 参数值:有 3 个参数:前缀、开始、结束

| 前缀 | 它可以是要检查的字符串或字符串元组。它区分大小写 |
| 开始 | 它是可选的,用于指定开始检查的起始索引 |
| 结束 | 它是可选的,用于指定检查结束的结束索引 |


这里的 str_name 指的是要检查前缀的字符串,strartwith()是一个内置函数。


例 1:

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output-startswith() Example1

例 2:

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output-startswith() Example2

例 3:

 

输出:

在本文中,我们已经了解了 substring()函数在各种输入环境下的工作和实现。

  • Python 字符串
  • Python startswith()函数
  • Python 字符串文档

原文:https://www.askpython.com/python/string/python-string-substring

Substring 是字符串的一部分,可以提取并表示为新字符串。在本教程中,我们将学习如何在 Python 中使用子字符串。

可以使用以下任一方法创建子字符串:

  • 方法
 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Creation-Substring

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Substring Creation Example


可以通过以下方法之一检查字符串中是否存在子字符串:

  • 通过使用运算符
  • 通过使用方法
 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Substring Presence Example


以下是从给定字符串中获取子字符串的一些方法:

  • 通过使用
  • 通过使用方法

例 1: 利用列表切片

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output-Fetch Substring

例 2 : 使用 itertools.combinations()方法

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output-Fetch Substring 1


count()函数用于表示给定字符串中字符/子字符串的数量。

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output Count Substring

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Count Substring


 

上面的代码片段给出了一个字符串中所有特定子字符串的索引/位置。

输出:

[0, 6, 26]


  • Python 子串
  • Python 字符串函数文档

原文:https://www.askpython.com/python/string/python-string-swapcase

在本文中,我们将详细介绍 Python String swapcase()函数Python String 为我们提供了许多内置的方法来操纵输入数据进行进一步的操作。让我们开始了解这个方法。

Python 字符串函数转换输入字符串中每个字符的大小写。它将所有的小写字符转换成大写字符,反之亦然。

语法:

 

例 1:

 

输出:

 

例 2:

 

输出:

 

Python 的 NumPy 模块 为我们提供了转换输入字母大小写的功能。

函数以元素方式转换输入数据字符的大小写。

语法:

 

举例:

 

注意 : Python 函数创建输入元素的数组。

输出:

 

Python Pandas 模块 包含各种数据结构来表示数据。一种这样的数据结构是系列

Pandas 的 Series 函数使我们能够改变/转换系列中每个字符串的大小写。与 Python string swapcase()函数相比,Pandas swapcase()也可以处理文件,如下例所示。

语法:

 

输入。csv 文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Input CSV file

举例:

 

方法用于输入和读取文件。csv 扩展名。

InP _ file[" Name "]. str . swap case()方法将出现在的名称列下的每个字符串的大小写进行转换。csv 文件。

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output CSV file


在本文中,我们已经了解了 Python swapcase()方法与 String、NumPy 和 Pandas 模块的工作原理。


  • Python swapcase()函数

原文:https://www.askpython.com/python/string/python-string-title

在本文中,我们将了解 String title() 方法的功能。 Python 字符串 包含了大量处理数据的内置函数。我们最近还研究了确认字符串标题大小写的方法 istitle() 。


Python String title() 方法基本上是将输入字符串转换为标题大小写,即它只将输入字符串中每个单词的第一个字符转换为大写,其余字符转换为小写

语法:

 

举例:

 

在这个例子中,如上所示,只有输入字符串中每个单词的第一个字符被转换为大写。

输出:

 

例 2:

 

除了第一个字母以外的所有其他字符都被转换成小写,如上所示。

输出:

 

例 3:

 

单词前有数字或编号不会影响功能的运行。数字后面的字符被认为是第一个字符。

输出:

 

NumPy 模块numpy.char.title() 函数向标题格输入数据。

方法将输入数组中每个元素的第一个字母转换成大写,并将每个单词的其余字符转换成小写。

语法:

 

举例:

 

输出:

 

熊猫模块 内置了 Series.str.title() 方法来对输入数据集的每一项进行标题 case。

语法:

 

方法将数据集每个元素的第一个字母转换成大写,并将每个单词的其余字符转换成小写。

输入 csv 文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Input file-title()

举例:

 

输出:

 

在本文中,我们已经了解了 Python title()函数的工作原理。


Python String title()方法

原文:https://www.askpython.com/python/string/python-string-translate

Python 的字符串类的内置方法用于将字符串映射到翻译表。 translate() 方法只是使用转换表规则对其进行转换。

让我们进一步了解本文中的方法。


由于 translate() 函数返回一个新的字符串,字符串中的每个字符都用给定的翻译表替换,所以它的输入是一个字符串和一个表,返回一个字符串。

但是,由于这是一个属于类的方法,我们只使用输入字符串对象调用它们。

 

这里,是包含相关映射的翻译表。

虽然我们知道什么是翻译表,但我们还不知道它是如何构造的。让我们也理解这一点。


使用 maketrans()构造转换表

我们可以使用方法制作转换表。

因为任何映射都可以作为翻译表,所以现有的 Python 字典也可以成为翻译表。

maketrans(): 的语法

我们总是使用调用 maketrans(),其中是表示 Python 的 string 类的内置关键字。

如果只有一个参数,它必须是一个字典映射( ) Unicode 序数(整数)或字符(长度为 1 的字符串)到 Unicode 序数、字符串(任意长度)或。字符键将被转换成序数。

 

如果有两个参数,它们必须是等长的字符串(和),在结果字典中,x 中的每个字符都会映射到 y 中相同位置的字符。

 

如果有第三个参数,它必须是一个字符串(),其字符将被映射到结果中的。

 

进行翻译

在使用 maketrans() 构建转换表之后,我们现在可以使用 python string translate() 执行从输入字符串到输出字符串的转换。

让我们举例说明使用的所有三种方式,让你的理解更加完整。

使用字典映射
 

输出将是包含右移 9 位的每个字符的字符串。

输出:

 

使用直接映射

下面是一个更简单的例子,它利用直接映射并使用两个参数构造一个转换表,然后将它们传递给输入字符串 translate()函数。

 

这会将第一个’ A 字符翻译成’ a ,然后将’ ABCD 转换成’ abcd ,如下所示。

输出:

 

同样,由于该选项指定两个字符串的长度相同,任何其他操作都会引发一个异常。

 

输出:

 

使用无映射

下面是一个更简单的例子,它通过使用 3 个参数调用来利用映射。

 

这将把‘As’替换为‘ab’,同时把‘e’替换为,有效地从字符串中删除该字符。

输出:

 

直接构造一个字典映射

我们可以在调用函数时构造一个直接映射到的字典。

 

这将给出与前面代码片段相同的输出,因为它们有相同的翻译表。

输出:

 

注意:我们可以将一个 Unicode 值(映射字典中的键)映射到任意字符串的*,这与将字符串作为参数传递给不同。因此,像这样的映射是有效的,并且用“ hello ”替换“ A ”。*


在本文中,我们学习了如何使用 python string translate()方法基于 python 中的翻译表执行字符串翻译。我们还研究了如何使用各种方法构建这样一个表。

  • 【maketrans()的 Python 文档
  • Python 文档用于翻译()
  • journal dev translate()上的文章

原文:https://www.askpython.com/python/string/python-string-upper-function

Python String upper()函数将完整的字符串转换成大写,并返回一个新的字符串。字符串在 String 中是不可变的,所以原来的字符串值保持不变。

要点:

  • 返回类型:字符串
  • 参数值:没有参数可以传入 upper()函数。
  • 将整个字符串转换成大写
  • 它不会修改原始字符串。修改后的字符串可以用新的变量名保存。

示例:给定字符串-“祝您愉快”或“祝您愉快”或“祝您愉快”或“祝您愉快”

使用 upper()函数后的新字符串:“祝您有美好的一天”(针对以上给出的所有字符串)


 

这里 str_name 指的是输入字符串。并且,upper()是 python 中内置的字符串函数。

 

情况 1:字符串是小写的,可能包含数字/特殊字符/空格

 

情况 2:字符串是大写的,可能包含数字/特殊字符/空格

 

情况 3:字符串中每个单词只有第一个字母是大写的

 

情况 4:字符串只包含数字或特殊字符

 

情况 5:字符串为空

 

  • Python 字符串转换为大写–str . upper()
  • Python 字符串内置函数

原文:https://www.askpython.com/python/string/python-string-zfill

Python string zfill() 方法用于在字符串左边填充零,直到达到特定的宽度。这是向字符串添加填充的最“Pythonic 式”的方法,而不是使用 for 循环手动迭代。


Python string zfill() 函数属于 string 类,只能在 String 对象上使用。

它将宽度作为参数,并在字符串的左边(字符串的开始)填充零,直到达到指定的宽度。

如果 width < len(str) ,则返回原字符串。否则,由于 Python 字符串是不可变的,这个函数返回一个新的字符串。

 

如果有前导符号( +/- ),则在符号后添加填充,即使在新字符串中也保持前导符号的位置。

现在我们来看一些例子。


如果没有前导符号,则将零填充到左侧。

 

如您所见,零被填充到左侧,新字符串的长度为 15

如果指定的宽度小于 len(“AskPython”) ,那么我们得到原始字符串。

 

如果有一个前导 +/- 符号,则在符号后补零。

 

除了 zfill() 之外,我们还可以使用一些其他方法在字符串中引入零填充。

使用 str.rjust()

str.zfill() 类似, str.rjust() 也可以给字符串填充,但也允许我们指定填充字符串的字符。看看下面的例子。

 

这里,我们介绍了使用填充零,使用填充一个。您可以用任何字符替换这些数字。

使用打印字符串格式

如果你正在处理实数,你也可以使用 Python f-strings (来自 Python 3.6 和更高版本)返回一个零填充字符串。

 

您可以在官方文档中了解更多关于打印字符串格式的信息。


  • zfill()上的 Python 文档
  • zfill()上的 StackOverflow 问题
  • zfill()上的 JournalDev 文章

原文:https://www.askpython.com/python/python-strptime

所以今天,我们将讨论如何使用 Python strptime()方法将字符串转换成日期时间。

让我们开始吧。

Python 的方法在和模块中都可用。它用于根据指定的格式将给定的字符串解析成 datetime 或 time 对象。

对于这两个模块来说,这个函数的用法是相同的,唯一的区别是返回的对象的类型。让我们仔细看看使用它的语法。

对于日期时间模块,下面给出了使用方法的语法。

 

上面的语句返回一个按照指定格式解析的对应的对象。

对于时间模块,使用的语法非常相似。

 

在这里,该方法做同样的工作,只是这里返回值是一个由或返回的对象。

对于这两种情况,格式参数使用的指令与 strftime() 使用的指令相同,如下表格式所示。格式参数必须是字符串,并且有默认值。如果字符串不能按照给定的格式进行解析,或者解析后有多余的数据,就会引发一个。

指定格式参数时,必须遵循下面给出的格式表来使用适当的指令。

指示的指令的含义示例输出%AWeekday 作为区域设置的全名。星期三%a工作日作为区域设置的缩写名称。杀了他,Wed%w以十进制数表示的工作日,其中 0 表示星期日,6 表示星期六。0,1,2,3,4…6%d一个月中的某一天,以零填充的十进制数表示。01,02,03…31%-d十进制数字表示的一个月中的某一天。(特定于平台)1,2,3…%b月份作为区域设置的缩写名称。瑕疵%B月份作为区域设置的全名。三月%m以零填充的十进制数表示的月份。01,02…12%-m十进制数形式的月份。(特定于平台)1,2,…12%y没有世纪作为零填充十进制数的年份。20(2020 年)%Y以世纪为小数的年份。2020,2021 等等。%H以零填充的十进制数表示的小时(24 小时制)。01, 02, …%-H十进制数形式的小时(24 小时制)。(特定于平台)1,2,3,…%I以零填充的十进制数表示的小时(12 小时制)。01, 02, 03, …%-我十进制数形式的小时(12 小时制)。(特定于平台)1, 2, 3 …%p等同于 AM 或 PM 的区域设置。上午,下午%M以零填充的十进制数表示的分钟。01, 02, …59%-M十进制数形式的分钟。(特定于平台)1,2,3,…59%S秒,以零填充的十进制数表示。01, 02,…59%-S秒为十进制数。(特定于平台)1, 2, …59%f微秒作为十进制数,左边补零。000000%z+HHMM 或-HHMM 形式的 UTC 偏移量(如果对象是简单的,则为空字符串)。(空),+0000,-0400,+1030%Z时区名称(如果对象是简单的,则为空字符串)。(空)、UTC、is、CST%j以零填充的十进制数表示的一年中的某一天。1, 2, 3, … 366%-j以十进制数表示的一年中的某一天。(特定于平台)1, 2, 3, … 366%U一年中的周数(星期日是一周的第一天),以零填充的十进制数表示。新年中第一个星期日之前的所有日子都被视为第 0 周。1, 2, 3,… 53%W以十进制数表示的一年中的周数(星期一是一周的第一天)。新年中第一个星期一之前的所有日子都被视为第 0 周。1, 2, 3,… 53%c区域设置的适当日期和时间表示。2020 年 5 月 6 日星期三 12 时 23 分 56 秒%x区域设置的适当日期表示。05/06/20%X区域设置的适当时间表示。12:23:56%%文字“%”字符。%

Source: Strftime() Official Homepage

现在我们已经熟悉了对 datetime 和 time 模块使用方法的语法,让我们看看如何使用它。

1. time.strptime()

在下面的例子中,我们将把一个给定的字符串转换成一个 time 对象。

 

输出:

 

这里,是包含相应时间参数的给定字符串。我们使用 strptime()函数按照 “%d/%m/%Y %H:%M:%S” 格式将这个字符串解析到变量中。正如所料,obj 的类型是。

接下来,我们还使用默认格式解析了另一个字符串(没有指定 format 参数)。如前所述,在这种情况下默认格式设置为。这证明了输出的合理性。

2. datetime.strptime()

现在让我们使用方法将一个给定的字符串转换成一个日期时间对象。

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

datetime strptime() Output

从上面的输出可以看出,被成功地转换成了日期时间对象。我们还可以对这个对象使用和函数来分别获得 datetime.timedatetime.date 对象。

让我们看另一个例子,我们使用用户的 input()函数获取日期和时间。

 

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

strptime() ValueError

在本例中,我们将作为用户输入,并使用方法将其转换为 datetime 对象。我们再次使用方法将这个对象打印成我们想要的格式。

如果我们不为 strptime()方法提供一个与指定格式匹配的字符串会怎么样?在这种情况下,会引发一个。看看下面的输出(对于相同的代码),我们这样做了。

 

所以我们今天学习了使用方法在 Python 中将字符串转换成各种类型。

关于这个主题的任何进一步的问题,请随意使用下面的评论。

  • 什么是 Python strftime()函数?,
  • Python 时间模块,
  • time strptime()–Python 文档,
  • datetime strptime()–Python 文档。

原文:https://www.askpython.com/python-modules/python-struct-module

Python struct 模块用于提供一个简单的 Python 接口来访问和操作 C 的结构数据类型。如果您需要处理 C 代码,并且没有时间用 C 语言编写工具,因为它是一种低级语言,那么这可能是一个方便的工具。

这个模块可以将 Python 值转换成 C 结构,反之亦然。C 结构被用作 Python bytes 对象,因为 C 中没有被称为对象的东西;只有字节大小的数据结构。

让我们来理解如何使用这个模块来拥有一个到 C 结构的 Python 接口。


在本模块中,由于我们关注的是 C 结构,所以让我们来看看本模块为我们提供的一些功能。

struct.pack()

这用于将元素打包成 Python 字节串(字节对象)。由于存储模式是基于字节的,基于 C 的程序可以使用来自 Python 程序的的输出。

格式: struct.pack(格式,v1,v2,…)

、、…是将被打包到字节对象中的值。它们表示 C 结构的字段值。因为具有字段的 C 结构必须正好具有值,所以参数必须与格式要求的值完全匹配。

这里,指的是包装的格式。这是必要的,因为我们需要指定字节串的数据类型,因为它用于 C 代码。下表列出了最常见的值。我们需要每个值一种格式来指定它的数据类型。

| 格式 | C Datatype | Python 类型 |
| | 茶 | 长度为 1 的字符串 |
| | _Bool | 弯曲件 |
| | 短的 | 整数 |
| | 长的 | 整数 |
| | (同 Internationalorganizations)国际组织 | 整数 |
| | 漂浮物 | 漂浮物 |
| | 两倍 | 漂浮物 |
| | char[] | 线 |

让我们用一些例子来理解这一点。

下面的代码片段使用将 3 个整数 1、2 和 3 存储在一个字节对象中。由于一个整数的大小在我的机器上是 4 字节,所以你看到 3 个 4 字节的块,对应 c 中的 3 个整数。

 

输出

 

如果没有传递适当的类型,Python struct 模块将引发异常。

 

输出

 

struct.unpack()

Python struct 模块的这个函数根据适当的格式将打包的值解包为其原始表示。这将返回一个元组,其大小等于传递的值的数量,因为 byte 对象被解包以给出元素。

格式: struct.unpack(格式,字符串)

这将根据格式说明符解包字节。

这是的反转。让我们用它产生一个旧的字节字符串,并尝试用取回传递给它的 python 值。

 

输出

 

正如您所看到的,如果我们对和使用相同的格式说明符,我们确实可以从这个元组中打包我们的旧 Python 值。


struct.calcsize()

此函数使用给定的格式说明符返回结构的字符串表示形式的总大小,以检索数据的类型并计算大小。

格式: struct.calcsize(fmt)

 

输出

 

struct.pack_into()

该函数用于将值打包到 Python 字符串缓冲区,可在模块中获得。

格式: struct.pack_into(fmt,buffer,offset,v1,v2,…)

这里,指的是格式说明符,一如既往。是字符串缓冲区,现在将包含指定的打包值。您还可以从基本地址中指定一个位置,从这里开始打包。

这不会返回任何值,只是将值存储到字符串中。

 

输出

 

事实上,我们在缓冲字符串中获得了打包的值。


struct.unpack_from()

与类似,有一个对应项用于从缓冲字符串中解包值。这与相反。

格式: struct.unpack_from(fmt,buffer,offset)

这将返回一组值,类似于。

 

输出

 

在本文中,我们学习了如何使用 Python struct 模块来处理 C 类型的结构对象。

  • 关于 Python 结构模块的 JournalDev 文章

原文:https://www.askpython.com/python-modules/python-subprocess-module

读者朋友们,你们好!在本文中,我们将详细关注 Python 子流程模块

所以,让我们开始吧!


在了解子流程模块的功能之前,让我们考虑以下情况

通常情况下,我们用 Python 编写代码来自动化一个过程,或者通过一些 UI 表单或者任何与数据相关的表单来获得不需要人工干预的结果。但是,如果我们需要获得某些操作或功能的系统级信息,该怎么办呢?我们如何在 Python 中处理系统级脚本?

这就是出现的时候。

使用子流程模块,我们可以处理 Python 代码中的系统级脚本。它允许我们与输入建立联系。系统进程的输出以及错误管道和代码。

子流程模块包含在 Python 环境中运行系统级脚本的各种方法:

  1. subprocess.call()
  2. subprocess.run()
  3. subprocess . check _ output()
  4. 子流程。Popen() 和通信()函数

现在让我们一个一个来看看吧!


为了使用与子流程模块相关的功能,我们需要将模块导入到 Python 环境中。

subprocess.call() 函数运行作为参数的命令,并返回代码执行成功与否的值。

看看下面的语法!

 

例 01:

在下面的例子中,我们试图通过 Python 脚本执行“echo Hello world”。

同样,对于 call()函数,第一个参数(echo)被视为可执行命令,第一个参数之后的参数被视为命令行参数。

此外,我们需要指定 shell = True ,以便参数被视为字符串。如果设置为 False,参数将被视为路径或文件路径。

 

输出:

如下所示,它返回 0 作为返回代码。代码返回的任何其他值表示命令运行不成功。

 

例 02:

在本例中,我们通过 python 脚本执行了命令“ls -l”。

 

输出:

 

如上所示,call()函数只返回所执行命令的返回代码。它没有帮助我们检查输入和检查参数。

同样,我们有 subprocess.run() 函数帮助我们在 python 代码中执行 bash 或系统脚本,并返回命令的返回代码。

此外,它还返回传递给函数的参数。这样,它可以帮助我们验证系统脚本的输入。

举例:

 

输出:

 

功能使我们能够在内部以全新的过程执行子程序。此外,这可以用于在 python 中执行 shell 命令。

语法:

 
  • stdout:命令的输出值
  • stderr:命令返回的错误

推荐阅读——Python stdin,stdout,stderr

举例:

 

这里,我们还使用了 communicate() 函数。这个函数帮助我们直接从流程中读取和获取脚本的输入、输出和错误值,如上所示。

输出:

 

到此,我们就结束了这个话题。如果你遇到任何问题,欢迎在下面评论。更多与 Python 相关的文章,敬请关注我们。

在那之前,学习愉快!!🙂

原文:https://www.askpython.com/python/built-in-methods/python-sum-method

在本教程中,我们将讨论 Python sum()方法。

Python 方法是一个内置方法,它返回传递的 iterable 的所有元素的总和。

让我们看看在 Python 中使用 sum()方法的语法。

 

这里,

  • iterable 可以是任何包含我们需要计算总和的值的 iterable 对象。它可以是列表、元组或字典,
  • start 是将要进行加法运算的初始值。默认情况下,起始值设置为 0

现在让我们看一些例子来清楚地理解这个方法的使用和工作。

如前所述,方法可以计算以 list、 tuple 或 dictionary 即任意 iterable 形式传递的值的总和。但条件是,iterable 应该包含某个值,否则,会引发一个错误

让我们通过寻找整数列表、元组列表、字典列表和复数列表的元素的和来熟悉该方法。

 

输出:

 

这里,

  • 我们首先用一些值初始化列表 1元组 1字典 1complx_num
  • 然后我们简单地将这些 iterable 分别传递给方法,
  • 为了计算列表 1 元素的总和,我们设置了一个起始值 5 ,对于其余的,我们不传递任何起始参数(默认设置为 0 )。

因此,我们得到了期望的输出。对于每种情况,我们得到各自的可迭代元素的和。

Python 中的 NumPy 模块中定义了一个方法。它用于计算 NumPy 数组元素的和。但是,这个方法也可以找到 python 中任何其他包含一些值的 iterable 的元素之和。

让我们比较一下 Python 中对于一些可迭代对象的和的输出。

 

输出:

 

正如我们所见,和方法为列表 list1 返回相同的结果。

对于计算列表、元组和字典等可迭代对象的总和,内置的方法比 numpy 的 方法更快更容易使用。

但是当涉及到 numpy 数组时,方法似乎更快更可靠。这仅仅是因为 NumPy 使用了一种矢量化的方法。

因此,在本教程中,我们了解了 Python 中内置的方法,以及 Python sum()和 numpy.sum()方法之间的比较。我希望你现在对这个方法有一个清楚的了解。

对于任何进一步的问题,请随意共同以下。

  • Python 文档中关于 sum()的 Python ,
  • Python 的 sum vs. NumPy 的 NumPy . sum–stack overflow 问题,
  • python sum()–日志开发帖子。

原文:https://www.askpython.com/python/python-switch-case-implementation

Python 不支持 switch-case 语句。有人提议在 PEP-3103 中引入 Python switch case 语句,但遭到拒绝,因为它没有增加太多价值。

我们可以使用 if-else-elif 语句轻松实现 switch-case 语句逻辑。然而,我们可以使用定制代码在 Python 中实现类似开关情况的行为。


在 Python 中有两种方法来实现切换情况行为。

  1. 使用字典
  2. 动态功能

1.使用字典实现 Python 开关 Case

我们可以创建一个字典,其中键是大小写,值是结果。我们将使用默认值调用 dictionary get()方法来实现没有匹配案例时的场景。

假设我们有一个 if-else 块。

 

现在,我们想使用字典将它转换成开关情况行为。

 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Python Switch Case Implementation


2.用动态函数实现 Python 开关盒

上述实现适用于简单的打印语句。但是,大多数情况下,我们在 if-else 块中执行一些方法,然后字典将不会作为开关情况替换。

假设我们有下面的 if-else 块来对输入整数执行一些操作。

 

我们可以创建一个动态方法来实现类似 switch-case 的行为。

 

这里,选择被映射到字典键,输入整数被映射到λ函数。最后,lambda 函数的输出从 switch_func()调用返回。


试验 switch-case 语句的实现是很好的。但是,这非常令人困惑,而且我们不能在 if-else 块中用多个语句实现复杂的场景。所以,坚持简单的 if-else 语句,保持代码简单易读。


  • StackOverflow 问题
到此这篇strace用法(stale的用法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • qpainter画曲线图(qpainter绘制虚线)2025-03-01 23:45:06
  • argparser怎么下载(ar happy ghost怎么下载)2025-03-01 23:45:06
  • web和mvc的区别(mvc与webform相比有什么优势)2025-03-01 23:45:06
  • shorer是什么意思译(shore是什么意思中文翻译)2025-03-01 23:45:06
  • vmware虚拟机下载安装(vmware虚拟机下载安装连接超时怎么解决)2025-03-01 23:45:06
  • resnet模型代码(resnet训练自己的模型)2025-03-01 23:45:06
  • bullet point论文(superpoint论文)2025-03-01 23:45:06
  • compare比较文件夹(bcompare比较文件夹)2025-03-01 23:45:06
  • codepen网站入口(coderutil网站)2025-03-01 23:45:06
  • raise翻译(offering praise翻译)2025-03-01 23:45:06
  • 全屏图片