Perl到python的移位翻译

Perl到python的移位翻译,python,perl,hash,language-comparisons,Python,Perl,Hash,Language Comparisons,我是一名学习Python和Perl的学生。 在我们的Perl程序中,我们使用了以下代码 my $param = shift; my %local_hash = %$param; 在将Perl转换为Python时,最类似于“移位”散列的方式是什么?还是我不再需要这部分代码 到目前为止,我已经用Python编写了这个 def insert_user(local_hash): param = shift local_hash = {param} user_name = inp

我是一名学习Python和Perl的学生。 在我们的Perl程序中,我们使用了以下代码

my $param = shift;
my %local_hash = %$param;
在将Perl转换为Python时,最类似于“移位”散列的方式是什么?还是我不再需要这部分代码

到目前为止,我已经用Python编写了这个

def insert_user(local_hash):
    param = shift
    local_hash = {param}
    user_name = input("Please enter Username: ")
    user_name = user_name.replace('\n', '')

你们甚至不需要寻找轮班的替代方案

在Perl中,子例程编写如下:

sub foo {
    my $arg1 = shift;
    my @rest_of_args = @_;
    ...do stuff...
}
在Python中,必须在函数定义语法中定义函数所需的参数

def foo (arg1, rest_of_args):
    ...do stuff...
另见:


这似乎是一个错误。此代码的用途是什么?@TigerhawkT3此代码的用途是通过从另一个主方法调用此函数将用户添加到哈希中。添加到哈希-这是否意味着每个用户都将存储在哈希表中,如
?哦,最后一行用
replace
是不必要的,因为
input()
在用户按Enter键时结束(后面的换行符不包括在内)。@TigerhawkT3我有一个main
hash={}
,当用函数调用它以跟踪添加的用户时,它会作为
local\u hash
放入,通过用户输入调用的函数删除和修改。啊,好的,所以没有必要找到我们在perl中使用的
chomp()
的替代品?那就是。。。一个教人的坏习惯。我为你感到抱歉。非常感谢,所以我只需要输入我将要使用的项目,有点像Java?不,不是Java。比如Python。请尝试。OP发布的Perl代码只接受一个参数(对散列的引用),然后它复制该散列。这段Python代码看起来根本不对等。更改
arg1
会影响调用者吗?不应该。Perl代码显式地复制了它。