标签:参数 sys ret import 调用 不能 pen append 就是
常在河边走,哪有不湿鞋,没想到搞这个花了半天时间。??
简单来说就是调用wxpy,然后通过微信调用一些我写的其他程序。看起来非常完美(打脸
就是调用我写的另一个库
定义模块的参数变量的传递是有限制的。
如果函数收到的是一个可变对象(比如字典或者列表)的引用,
就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,
就不能直接修改原始对象--相当于通过“传值‘来传递对象。
也就是说如果参数是字符串,那么在函数里作的修改是不会被传递出来的,比如说c="123"
。经过我定义的函数laji(c)
c变成了“123哇哦”
。当然在只是在函数里面c="123哇哦"
。举个例子吧
我定义一个函数
def hello(a):
a+="哇哦"
return a
然后暂时把他放到放库的地方,让他可以被调用。
import sys
sys.path.append("wx.py") #哦,对了这个文件名字叫wx.py
然后,调用它
>> import wx
>> c="123"
>> wx.hello(c)
'123哇哦'
>> print(c)
123
看到没有,c的值没有发生改变。原因就是因为这个??
如果函数收到的是一个可变对象(比如字典或者列表)的引用,
就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,
就不能直接修改原始对象--相当于通过“传值‘来传递对象。
然后我修改一下wx.py
def hello(a):
a.append("哇哦")
return a
然后把变量换成是列表
>> import wx
>> c=["123"]
>> wx.hello(c)
['123', '哇', '哦']
>> print(c)
['123', '哇', '哦']
(唉,这脸打的,啪啪的
明天再写
标签:参数 sys ret import 调用 不能 pen append 就是
原文地址:https://www.cnblogs.com/sogeisetsu/p/11595258.html