
Python函数重载
我知道Python不支持方法重载,但是我遇到了一个似乎无法用一种很好的Pythonic方法解决的问题。我正在制作一个角色需要射击各种子弹的游戏,但是如何编写用于创建这些子弹的不同功能?例如,假设我有一个函数,该函数创建一个以给定速度从A点移动到B点的子弹。我会写一个像这样的函数: def ad...
2024-01-10
Python-了解map函数
map(function, iterable, ...)将函数应用于每个iterable并返回结果列表。如果传递了其他可迭代的参数,则函数必须采用那么多参数,并且并行地将其应用于所有可迭代的项目。如果一个可迭代项短于另一个可迭代项,则假定它扩展为None。如果function为None,则假定为身份函数;如果有多个参数,则map()返回一...
2024-01-10
如何在python中乘法函数?
def sub3(n): return n - 3def square(n): return n * n在python中编写函数非常简单:>>> my_list[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> [square(sub3(n)) for n in my_list][9, 4, 1, 0, 1, 4, 9, 16, 25, 36]不幸的是,当想要使用组合作为 键时 ,这有点of脚:>>> sorted(my_list, key=lambda n: square(su...
2024-01-10
Python函数全局变量?
我知道我应该避免由于这样的混乱而首先使用全局变量,但是如果我要使用它们,以下是使用它们的有效方法吗?(我正在尝试调用在单独函数中创建的变量的全局副本。)x = "somevalue"def func_A (): global x # Do things to x return xdef func_B(): x=func_A() # Do things return xfunc_A()func_B()第二个函数使...
2024-01-10
Python-循环创建函数
我正在尝试在循环内创建函数:functions = []for i in range(3): def f(): return i # alternatively: f = lambda: i functions.append(f)问题在于所有功能最终都相同。这三个函数都没有返回0、1和2,而是返回2:print([f() for f in functions])# expected output: [0, 1, 2]# actual output: [2, 2, 2]为什...
2024-01-10
了解Python中的repr()函数
repr():对象的可评估字符串表示形式(可以“ eval()”它,这意味着它是评估为Python对象的字符串表示形式)换一种说法:>>> x = 'foo'>>> repr(x)"'foo'"问题:为什么我得到双引号repr(x)?(这样做的时候我不懂str(x))为什么我得到'foo'时却得到eval("'foo'")而不是x是对象?回答:>>> x = 'foo'>>> x'foo'...
2024-01-10
为什么python嵌套函数不称为闭包?
我已经在Python中看到并使用了嵌套函数,它们与闭包的定义匹配。那么为什么叫他们nested functions而不是closures?嵌套函数不是因为外部世界不使用闭包吗?更新:我正在阅读有关闭包的知识,这让我开始思考关于Python的这个概念。我搜索并找到某人在下面的评论中提到的文章,但是我无法完全理解该...
2024-01-10
在python函数中获取参数名称的列表
有没有一种简单的方法可以进入python函数并获取参数名称列表?例如:def func(a,b,c): print magic_that_does_what_I_want()>>> func()['a','b','c']谢谢回答:好吧,我们实际上不需要inspect这里。>>> func = lambda x, y: (x, y)>>> >>> func.__code__.co_argcount2>>> func.__code__.co_varnames('x', 'y')>>>>>> def fun...
2024-01-10
跳过python中range函数中的值
遍历一系列数字并跳过一个值的有效方法是什么?例如,范围是从0到100,而我想跳过50。编辑:这是我正在使用的代码for i in range(0, len(list)): x= listRow(list, i) for j in range (#0 to len(list) not including x#) ...回答:您可以使用以下任何一种:# Create a range that does not contain 50for i in [x for x in xrange(...
2024-01-10
Python的所有函数如何工作?
试图了解any()和all()Python内置函数的工作方式。我正在尝试比较元组,以便如果任何值不同,则它将返回True,如果它们都相同,则将返回False。在这种情况下,他们如何工作以返回[False,False,False]?d是一个defaultdict(list)。print d['Drd2']# [[1, 5, 0], [1, 6, 0]]print list(zip(*d['Drd2']))# [(1, 1), (5, 6), (0, 0)]print [any...
2024-01-10
如何从python的def函数中获取数据
试图简化我的脚本中的许多重复读取和写入操作,但我不知道如何从中获取数据def readfile。def writefile(FILE, DATA): file = open(FILE, "w") X = str(DATA) file.write(X) file.close()def readfile(FILE): file = open(FILE, "r") readvar = file.read() file.close()readfile("BAL.txt")...
2024-01-10
Python-嵌套函数中的局部变量
我知道它看起来会令人费解,但是请帮助我了解发生了什么。from functools import partialclass Cage(object): def __init__(self, animal): self.animal = animaldef gotimes(do_the_petting): do_the_petting()def get_petters(): for animal in ['cow', 'dog', 'cat']: cage = C...
2024-01-10
如何获得Python函数的源代码?
假设我有如下定义的Python函数:def foo(arg1,arg2): #do something with args a = arg1 + arg2 return a我可以使用获取函数的名称foo.func_name。如上所述,我如何以编程方式获取其源代码?回答:如果该功能来自文件系统上可用的源文件,则inspect.getsource(foo)可能会有帮助:如果foo定义为:def foo(arg1,arg2): ...
2024-01-10
查找内置Python函数的源代码?
有没有办法查看内置函数如何在python中工作?我不仅意味着如何使用它们,而且还意味着它们是如何构建的,排序或枚举等背后的代码是什么?回答:由于Python是开源的,因此你可以阅读源代码。要找出实现了特定模块或功能的文件,通常可以打印__file__属性。或者,你可以使用该inspect模块,请参阅...
2024-01-10
Python中在函数中使用全局变量
如何在函数中创建或使用全局变量?如果在一个函数中创建全局变量,如何在另一个函数中使用该全局变量?我是否需要将全局变量存储在需要对其进行访问的函数的局部变量中?回答:你可以在其他函数中使用全局变量,方法是像global在分配给它的每个函数中一样声明它:globvar = 0def set_globvar_to_o...
2024-01-10
如何防止Python函数返回None
我正在使用BeautifulSoup解析HTML表,如下所示:for tr in table_body.find_all('tr'): for td in tr: if td.text == 'Description': description = td.find_next('td').text if td.text == 'Category': ...
2024-01-10
Python中的并行或事件驱动函数?
我对Python相当陌生,所以也许我应该如何工作的整个概念是错误的:Python中的并行或事件驱动函数?我正在为时间管理目的构建RFID阅读器。例如。用户使用RFID芯片登录 - >计时器开始每隔一分钟计算并更新Google电子表格。更新部分工作正常,但需要一段时间。但我想一直检查RFID登录。我读过的地方就...
2024-01-10
如何检测Python变量是否为函数?
我有一个变量,x我想知道它是否指向一个函数。我曾希望我可以做些类似的事情:>>> isinstance(x, function)但这给了我:Traceback (most recent call last): File "<stdin>", line 1, in ?NameError: name 'function' is not defined我选择的原因是>>> type(x)<type 'function'>回答:如果这是用于Python 2.x或Python 3.2+,则也可以使用callab...
2024-01-10
Python-函数返回无,无返回语句
我刚刚学习(正在学习)函数参数在Python中的工作方式,并且在没有明显原因的情况下开始进行实验:def jiskya(x, y): if x > y: print y else: print xprint(jiskya(2, 3))给出了输出:>>>2None哪里None来的?还有,这是什么?回答:它是函数的返回值,您可以将其打印出来。如果没有return语句...
2024-01-10
如何从python中的.pyx文件导入函数?
我正在尝试运行Hadoopy,该文件具有_main.pyx,并且import _main由于__init__.py中找不到模块而失败。我试图在带有标准python 2.7的OS X上运行它。回答:在尝试导入之前,请添加以下代码_main:import pyximportpyximport.install()请注意,这pyximport是Cython的一部分,因此如果尚未安装,则必须进行安装。...
2024-01-10
Python:如何并行运行python函数?
我先研究了一下,却找不到答案。我试图在Python中并行运行多个函数。我有这样的事情:files.pyimport common #common is a util class that handles all the IO stuffdir1 = 'C:\folder1'dir2 = 'C:\folder2'filename = 'test.txt'addFiles = [25, 5, 15, 35, 45, 25, 5, 15, 35, 45]def func1(): c = common.Comm...
2024-01-10
isalpha python函数不会考虑空格
因此,以下代码接受输入,并确保输入包含字母而不是数字。如果输入包含空格,我如何使它也输出原始original = raw_input("Type the name of the application: ")if original.isalpha() and len(original) > 0: print originalelse: print "empty"尝试过此代码,但在输入也是数字时也可以使用。original = raw_input("Type the word you wan...
2024-01-10
不能使用Python中的文件之间的函数
我有一个巨大的项目分成3个文件。我通常没有问题使用另一个文件中的一个文件的功能,但这次我无法做到这一点。此外,我不太明白为什么我通过文件之间传递的列表中的一个列表在它离开函数后正在消失。不能使用Python中的文件之间的函数文件:settings.pylist1 = [] 文件:globals.pyfrom settings import *...
2024-01-10
Python函数中最大参数个数是多少?
众所周知,Python函数最多可以包含256个参数。我很好奇的是,此限制是否适用*args以及**kwargs何时按以下方式展开它们:items = [1,2,3,4,5,6]def do_something(*items): pass我问是因为,假设地,在某些情况下,大于256个项目的列表可能会以*args或的形式展开**kwargs。回答:在Python3.7和更高版本中,没有限制...
2024-01-10
如何从Python中的函数返回两个值?
我想在两个单独的变量中从函数返回两个值。例如:def select_choice(): loop = 1 row = 0 while loop == 1: print('''Choose from the following options?: 1. Row 1 2. Row 2 3. Row 3''') row = int(input("Which row woul...
2024-01-10
