xp只支持到3.4.4,3.5+就不支持了
ado的py库是3.4.3的,因此可以在XP上使用
使用def定义函数,支持返回多个值,但实际返回的是一个元组(数组)
全局变量的区分方式: 在函数外定义的是全局,在函数内的是局部的,如果要在函数内部引用全局的,加global
g1 = 1
arr = [55,66,88]
def m():
v1 = 2
global g1
g1 = 6
g2 = 2
arr[2] = "@_@" #列表 字典等可以直接引用,不需要使用 global
m()
print(g1,arr)
上面的引用g1不能写到1行,即:
global g1 = 6
这样修改是不对的!
结论:引用全局变量,不需要golbal声明,修改全局变量,需要使用global声明,特别地,列表、字典等如果只是修改其中元素的值,可以直接使用全局变量,不需要global声明。
使用 """ 来定义多行字符串
s = """
多行
字
符
串
"""
注释也是
'''
这是
多行
注释
'''
执行一个文件:
execfile() #2.x
exec(open("./dir/name.py","rb").read(),globals,{"a":"参数",b:"可以在文件直接引用局部变量"})
2有内置函数 execfile,它在Python 3.0中被删除。 This question讨论了Python 3.0的替代方法,但是一些 considerable changes已经做了 since Python 3.0。
什么是execfile的Python 3.2和future Python 3.x versions的最佳替代品?
2to3脚本(也是Python 3.2中的脚本)取代了
execfile(filename, globals, locals)
通过
exec(compile(open(filename, "rb").read(), filename, 'exec'), globals, locals)
这似乎是官方的建议。
在交互模式下,如果要输入多行,比如forin,要注意缩进,另外要连续回车到行首才会执行,如
>>> for k in "abc":
... print(k)
...
a
b
c
>>>
网友评论