繁体   English   中英

结合2个功能

[英]Combining 2 functions

我试图结合两个功能,因为A)我认为我可以和B)我认为我应该。 当我单独使用这些函数时,脚本运行正常。 当我将它们组合起来时,“new”变量是一个空字符串副本应该是什么。 任何帮助,将不胜感激。 如果您需要可以安排的完整脚本。

功能A:

def strip_domain_name(x):
    global ns
    l = x.find('@')
    ns = x[0:l]

功能B:

def encode_user_name(x,y):
    global new
    for a in x:
        if a in y:
            new = new + y.get(a)

功能A + B:

def combined_above_script(x,y,z):
    global ns
    global new  
    l = x.find('@')
    ns = x[0:l] 
    for a in y:
        if a in z:                  
            new = new + z.get(a)

这是我正在尝试做的简化版本,根据blender的建议做了一些修改。 最后,如果我打印aa,它应该导致'0000000'。 事实并非如此。

aa = ''
bb = ''
encode = {'a':'0'}

def strip_and_encode(x,y,z):
aa = '' 
bb = x[0:x.find('@')]   

for a in y:
    if a in z:                  
        aa += z.get(a)

s='aaaaaaa@aaa'
strip_and_encode(s,bb,encode)
print(aa)

我可以轻松使用全局变量:

def script(x, y, z):
  new = ''
  ns = x[:x.find('@')]

  for a in y:
    if a in z:                  
      new += z.get(a)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM