您所在的位置:小祥子 » 编程 » Python » 正文

python学习笔记十七:base64编码及作用域

时间:2015-04-17 编辑:十年后的卢哥哥 来源:本站整理

一、Python Base64编码

Python中进行Base64编码和解码要用base64模块,代码示例:

#-*- coding: utf-8 -*-
import base64

str = 'cnblogs'
str64 = base64.b64encode(str)
print str64                     #Y25ibG9ncw==
print base64.b64decode(str64)   #cnblogs

二、Python 变量作用域

局部变量

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

a = 1
def fun(a):
    print a
    a = 2
    print a

fun(x)
print a

结果:

1
2
1

解释:

在函数中,我们第一次使用a的值的时候,Python使用函数声明的形参的值。

接下来,我们把值2赋给a。a是函数的局部变量。所以,当我们在函数内改变a的值的时候,在主块中定义的a不受影响。

在最后一个print语句中,我们证明了主块中的a的值确实没有受到影响。

使用global语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是全局的,我们使用global语句完成这一功能。

a=1
def fun():
    global a
    print a
    a = 2
    print a

fun()
print a

输出:

1
2
2

解释:

global语句被用来声明a是全局的——因此,当我们在函数内把值赋给a的时候,这个变化也反映在我们在主块中使用a的值的时候。

关键词:编码