GVKun编程网logo

| =(ior)在Python中做什么?(python中io指什么)

7

本文将为您提供关于|=的详细介绍,我们还将为您解释ior在Python中做什么?的相关知识,同时,我们还将为您提供关于*[,keyword_arg=value]在Python仅关键字函数定义中做什么?

本文将为您提供关于| =的详细介绍,我们还将为您解释ior在Python中做什么?的相关知识,同时,我们还将为您提供关于*[, keyword_arg = value] 在 Python 仅关键字函数定义中做什么?、<>运算符在python中做什么?、<()在Bash中做什么?、if __name__ =&#__main__&# 在 Python 中做什么?的实用信息。

本文目录一览:

| =(ior)在Python中做什么?(python中io指什么)

| =(ior)在Python中做什么?(python中io指什么)

Google不允许我进行搜索,|=因此我在查找相关文档时遇到了麻烦。有人知道吗

答案1

小编典典

|=在成对的对象之间执行 就地 +操作。尤其是:

  • 集合:联合操作
  • dicts:更新操作
  • 计数器:(多集)联合运算
  • 数字:按位或,二进制运算

在大多数情况下,它与|操作员有关。请参阅下面的示例。

套装

例如,两个分配的集合的s1并并s2共享以下等效表达式:

>>> s1 = s1 | s2                                           # 1>>> s1 |= s2                                               # 2>>> s1.__ior__(s2)                                         # 3

其中的最终值s1等于:

  1. 分配的OR操作
  2. 就地或运算
  3. 通过特殊方法++进行原位或运算

在这里,我们将OR(|)和就地OR(|=)应用于 集合

>>> s1 = {"a", "b", "c"}>>> s2 = {"d", "e", "f"}>>> # OR, | >>> s1 | s2{''a'', ''b'', ''c'', ''d'', ''e'', ''f''}>>> s1                                                     # `s1` is unchanged{''a'', ''b'', ''c''}>>> # In-place OR, |=>>> s1 |= s2>>> s1                                                     # `s1` is reassigned{''a'', ''b'', ''c'', ''d'', ''e'', ''f''}

辞典

在Python 3.9+中,在字典之间提出了新的merge(|)和update(|=)运算符。注意:这些与上述集合运算符不同。

两个指定的dictd1和之间的给定操作d2

>>> d1 = d1 | d2                                           # 1>>> d1 |= d2                                               # 2

其中d1经由相当于:

  1. 分配的合并权操作
  2. 就地合并权限(更新)操作;相当于d1.update(d2)

在此,我们将merge(|)和update(|=)应用于 字典

>>> d1 = {"a": 0, "b": 1, "c": 2}>>> d2 = {"c": 20, "d": 30}>>> # Merge, | >>> d1 | d2{"a": 0, "b": 1, "c": 20, "d": 30}>>> d1 {"a": 0, "b": 1, "c": 2}>>> # Update, |=>>> d1 |= d2>>> d1 {"a": 0, "b": 1, "c": 20, "d": 30}

专柜

collections.Counter涉及称为数学数据结构
多集 (MSET)。它基本上是(对象,多重性)键值对的决定。

给定两个分配柜台之间的操作c1c2

>>> c1 = c1 | c2                                           # 1>>> c1 |= c2                                               # 2

其中c1经由相当于:

  1. 指定的联合操作
  2. 就地联合操作

多集的并集包含每个条目的最大重复数。请注意,这与两个集合之间或两个常规字典之间的行为方式不同。

在这里,我们将union(|)和就地union(|=)应用于 Counters

import collections as ct>>> c1 = ct.Counter({2: 2, 3: 3})>>> c2 = ct.Counter({1: 1, 3: 5})>>> # Union, |    >>> c1 | c2Counter({2: 2, 3: 5, 1: 1})>>> c1Counter({2: 2, 3: 3})>>> # In-place Union, |=>>> c1 |= c2>>> c1Counter({2: 2, 3: 5, 1: 1})

号码

最后,您可以进行二进制数学运算。

在两个分配的数字n1和之间进行给定的运算n2

>>> n1 = n1 | n2                                           # 1>>> n1 |= n2                                               # 2

其中n1经由相当于:

  1. 分配的按位或运算
  2. 就地按位或运算

在这里,我们将按位OR(|)和就位按位OR(|=)应用于 数字

>>> n1 = 0>>> n2 = 1>>> # Bitwise OR, |>>> n1 | n21>>> n10>>> # In-place Bitwise OR, |=>>> n1 |= n2>>> n11

评论

本节简要回顾一些按位数学。在最简单的情况下,按位或运算会比较两个二进制位。1除非两个位均为,否则它将始终返回0

>>> assert 1 == (1 | 1) == (1 | 0) == (0 | 1)>>> assert 0 == (0 | 0)

现在,我们将这个想法扩展到二进制数之外。给定任意两个整数(缺少小数部分),我们应用按位“或”并得到一个积分结果:

>>> a = 10 >>> b = 16 >>> a | b26

怎么样?通常,按位运算遵循一些“规则”:

  1. 内部比较二进制等效项
  2. 应用操作
  3. 以给定类型返回结果

让我们将这些规则应用于上面的常规整数。

(1)比较二进制等效项,在这里视为字符串(0b表示二进制):

>>> bin(a)''0b1010''>>> bin(b)''0b10000''

(2)对每列应用按位或运算(0当两者均为时0,否则1):

0101010000-----11010

(3)返回给定类型的结果,例如以10为底的十进制数:

>>> int(0b11010)26

内部二进制比较意味着我们可以将后者应用于任何基数的整数,例如十六进制和八进制:

>>> c = 0xa                                            # 10>>> d = 0o20                                           # 16 >>> c | d26

也可以看看

  • 在抽象基类中重载__ior__()方法以迭代可迭代对象的示例MutableSet
  • R. Hettinger的OrderedSet配方(分别参见第3行和第10行)
  • 一对Python的想法线程上为什么要使用|=更新一组
  • 一个在Python 3潜水的部分B.8 Python的运营商的特殊方法

+就位按位或运算符不能应用于文字;将对象分配给名称。

++特殊方法返回与其对应运算符相同的操作。

*[, keyword_arg = value] 在 Python 仅关键字函数定义中做什么?

*[, keyword_arg = value] 在 Python 仅关键字函数定义中做什么?

如何解决*[, keyword_arg = value] 在 Python 仅关键字函数定义中做什么??

考虑一下:

help(min)

给出:

Help on built-in function min in module builtins:    

min(...)
    min(iterable,*[,default=obj,key=func]) -> value
    min(arg1,arg2,*args,key=func]) -> value
    
    With a single iterable argument,return its smallest item. The
    default keyword-only argument specifies an object to return if
    the provided iterable is empty.
    With two or more arguments,return the smallest argument.

我的问题是:

min(iterable,key=func]) -> value

min(iterable,*,key=func) -> value

解决方法

这不是 Python 语法,它只是在帮助文本中使用以表明这些参数是可选的。

,

Python 文档/帮助源自 EBNF 来描述语法。一对 [ ] 在 EBNF 和 Python 文档中表示“可选”;为简洁起见,文档中没有引用 ( ) 和名称等常用符号,即使这在 EBNF 中具有不同的含义。
*, 源自 Python 的 call syntax。 * 表示“位置参数结束”。

具体例子

min(iterable,*[,default=obj,key=func]) -> value

这意味着 defaultkey 是可选的仅关键字参数。

<>运算符在python中做什么?

<>运算符在python中做什么?

我在这里碰到了这个,总是这样使用:

if string1.find(string2) <> -1:
    pass

什么是<>运营商做的,为什么不使用普通的==in

抱歉,如果以前没有回答,搜索引擎将不喜欢标点符号。

<()在Bash中做什么?

<()在Bash中做什么?

在superuser.com上的帖子答案中,我们看到了

join <(sort abc) <(sort bcd)

在将文件abc和bcd进行发送之前将它们排序。这导致了一个编程问题,更适合于stackoverflow。

这是如何运作的?<()构造到底是什么?它叫什么?

如果(sort abc)是在abc上运行sort并返回输出的合法调用,为什么我们需要<

也就是说,以下两行是等效的

(sort abc) | join - <(sort bcd)join <(sort abc) <(sort bcd)

join (sort abc) (sort bcd)

是语法错误。请提示我!

答案1

小编典典

这称为过程替换。

<( list)是单个语法结构,在这种情况下,“ <”字符不是单独的符号。它执行 list
并将其输出作为文件(不是标准重定向)提供给命令。

它等效于运行(除了在可能的情况下使用管道而不是临时文件):

sort abc > /tmp/1sort bcd > /tmp/2join /tmp/1 /tmp/2

请注意,两种输出均以要连接的文件名形式提供,而不是以标准重定向的形式提供。

( list)是出于不同目的的不同构造。它只是创建一个执行 list 的子外壳,将其标准描述符提供给父外壳。

这是bash手册中的相关部分。

if __name__ =&#__main__&# 在 Python 中做什么?

if __name__ =&#__main__&# 在 Python 中做什么?

if __name__ =

你可能在 python 脚本中经常看到这行代码 if __name__=="__main__": ,但不知道它的实际用途是什么。别担心,因为在这个简短的博客中我们将讨论这个

当您直接运行程序或脚本时,python 会自动将“main”分配给特殊的name变量。这样做基本上是为了表明该文件是此处的“主”脚本,并且正在直接运行而不是导入到另一个脚本中。

要理解这一点,请创建一个新的 python 脚本,假设将其命名为“example.py”并写入:

print("name of script: ", __name__)
登录后复制

运行此命令,您将看到输出的脚本名称:__main__。这只是因为文件是直接运行的。

现在,创建另一个python脚本文件并将example.py导入到这个文件中。运行它,您将看到不同的结果,显示“脚本名称:示例”。这只是因为现在我们不是直接运行它,而是导入脚本并间接运行它。因此,python 现在显示文件的实际名称。

立即学习“Python免费学习笔记(深入)”;

让我们对示例文件进行一些更改,以便我们更好地理解它。

def s_name():
    print("name of script: ", __name__)

s_name()

def greet():
    print("hello! how are you doing?")

if __name__=="__main__":
    greet()

登录后复制

现在,如果您直接运行此命令,一切都会完美执行,但如果您运行导入 example.py 脚本的其他文件,您会注意到greet 函数调用未执行。这是为什么?

这是因为 if 条件。条件的作用是检查文件是否正在直接运行。如果直接运行,main将被分配给特殊变量name,这将使这个条件成立,并且条件内的所有内容都将照常运行。

但另一方面,如果您将其导入另一个文件并从那里间接运行它,那么条件语句将不为真,并且放置在条件中的任何内容都不会被执行。

这就是这个条件语句的意义。 当我们将脚本作为模块导入时,它可以防止python解释器自动运行不必要的代码行。

但是,即使我们将脚本作为模块导入,我们也可以调用这些函数。例如:

import example

example.greet()
登录后复制

这样,即使条件不满足,我们也可以完美地调用导入模块中的任何函数。

以上就是if __name__ =&#__main__&# 在 Python 中做什么?的详细内容,更多请关注php中文网其它相关文章!

今天关于| =ior在Python中做什么?的介绍到此结束,谢谢您的阅读,有关*[, keyword_arg = value] 在 Python 仅关键字函数定义中做什么?、<>运算符在python中做什么?、<()在Bash中做什么?、if __name__ =&#__main__&# 在 Python 中做什么?等更多相关知识的信息可以在本站进行查询。

本文标签: