def OP():
web = webdriver.Chrome()
web.get(r'http://')
def sendstr(M):
global web
web.find_element_by_css_selector('') #2 然后错在这行
def U():
sendstr('linl') #1 调用sendstr()
这样会提示:NameError: name 'web' is not defined 这样怎么使用web,,,,我用return也无效 一定要放到函数外吗?
web = webdriver.Chrome()#这个应该移到函数外。建议学习一下作用域
def OP():
web.get(r'http://')
def sendstr(M):
web.find_element_by_css_selector('') #2 然后错在这行
######原来这么写只能放到外面啊######要么用面向对象的方式class self.web . 要么在开始定义全局变量web 加上global######两个函数里都要加global######用闭包 再来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。
1 2 3 4 5 6 7 8 9 10 11 | def make_adder(addend): def adder(augend): return augend + addend return adder p = make_adder( 23 ) q = make_adder( 44 ) print p( 100 ) print q( 100 ) 运行结果: 123 144 我有建立一个python学习交流群,在群里大家相互帮助,相互关心。相互分享知识,多一个人多一个想法,只有人多的时候遇到问题才会有更多的人帮你解决问题,如果你也是愿意分享,不是单纯的伸手党我欢迎你来群里,先在搜索框里面加301 在加上056 最后是051 这样你就可以找到组织大家一起来分享 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。