记一次wxpy开发经历

常在河边走,哪有不湿鞋,没想到搞这个花了半天时间。😭

先介绍一下这个项目

  • 简单来说就是调用wxpy,然后通过微信调用一些我写的其他程序。看起来非常完美(打脸

第一步,当然是import了。

就是调用我写的另一个库

定义模块的参数变量的传递是有限制的。

如果函数收到的是一个可变对象(比如字典或者列表)的引用,
就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,
就不能直接修改原始对象--相当于通过“传值'来传递对象。

也就是说如果参数是字符串,那么在函数里作的修改是不会被传递出来的,比如说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', '哇', '哦']

(唉,这脸打的,啪啪的
明天再写

posted @ 2019-09-27 00:00  sogeisetsu  阅读(1591)  评论(0编辑  收藏  举报